FreeRADIUS est un serveur RADIUS open-source largement utilisé pour l’authentification, l’autorisation et la comptabilité des utilisateurs réseau.
DaloRADIUS est une interface web open-source pour FreeRADIUS, conçue pour simplifier la gestion et l’administration d’un serveur FreeRADIUS.
Cela permet aux administrateurs réseau de configurer, surveiller et gérer leur serveur RADIUS via une interface conviviale basée sur le web.
Comment Configurer un LAB pfSense avec VirtualBox ?
Installation FreeRADIUS et DaloRADIUS sur Ubuntu 22.04
Mise à jour des paquets
sudo apt update & sudo apt upgradeInstaller le serveur web Apache
sudo apt install apache2Activez Apache pour qu’il démarre au démarrage d’Ubuntu.
sudo systemctl enable --now apache2Installer PHP et ses modules supplémentaires
sudo apt -y install php libapache2-mod-php php-{gd,common,mail,mail-mime,mysql,pear,db,mbstring,xml,curl}Installer MySQL
sudo apt install mysql-serverConfigurer MySQL
sudo mysql_secure_installationInstaller FreeRADIUS et ses modules
sudo apt -y install freeradius freeradius-mysql freeradius-utils -yTester le serveur FreeRADIUS
Arrêtez le serveur FreeRADIUS :
sudo systemctl stop freeradiusExécutez FreeARDIUS en mode débogage :
sudo freeradius -XRésultats :
....
....
listen {
type = "auth"
ipaddr = 127.0.0.1
port = 18120
}
Listening on auth address * port 1812 bound to server default
Listening on acct address * port 1813 bound to server default
Listening on auth address :: port 1812 bound to server default
Listening on acct address :: port 1813 bound to server default
Listening on auth address 127.0.0.1 port 18120 bound to server inner-tunnel
Listening on proxy address * port 36868
Listening on proxy address :: port 50341
Ready to process requestsRedémarrez et activez le service FreeRADIUS :
sudo systemctl enable --now freeradiusAutoriser FreeRADIUS dans le pare-feu
sudo ufw allow to any port 1812 proto udp
sudo ufw allow to any port 1813 proto udpCréer la base donnée et utilisateur MySQL pour FreeRADIUS
Se connecter à la base de donnée :
sudo mysql -u root -pCréer la base de donnée et utilisateur :
CREATE DATABASE radius;
CREATE USER 'radius'@'localhost' IDENTIFIED by 'password';
GRANT ALL PRIVILEGES ON radius.* TO 'radius'@'localhost';
FLUSH PRIVILEGES;
quit;Importer le schéma de la base donnée RADIUS MySQL
sudo suImporter le schéma :
mysql -u root -p radius < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sqlVérification de la base donnée :
sudo mysql -u root -p -e "use radius;show tables;"Créez un lien symbolique vers le module SQL vers /etc/freeradius/3.0/mods-enabled :
sudo ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/Configurer FreeRADIUS
sudo nano /etc/freeradius/3.0/mods-enabled/sqlRemplacer dialect = « sqlite » par dialect = « mysql »
Remplacer driver = « rlm_sql_null » par driver = « rlm_sql_${dialect} »
Pour les besoins de ce tuto, nous n’utiliserons pas de certificats TLS.
Commenter la section TLS de MySQL en ajoutant un signe # au début de chaque ligne de la section tls.
Ça :
mysql {
# If any of the files below are set, TLS encryption is enabled
tls {
ca_file = "/etc/ssl/certs/my_ca.crt"
ca_path = "/etc/ssl/certs/"
certificate_file = "/etc/ssl/certs/private/client.crt"
private_key_file = "/etc/ssl/certs/private/client.key"
cipher = "DHE-RSA-AES256-SHA:AES128-SHA"
tls_required = yes
tls_check_cert = no
tls_check_cert_cn = no
}
# If yes, (or auto and libmysqlclient reports warnings are
# available), will retrieve and log additional warnings from
# the server if an error has occured. Defaults to 'auto'
warnings = auto
}En ça :
mysql {
# If any of the files below are set, TLS encryption is enabled
# tls {
# ca_file = "/etc/ssl/certs/my_ca.crt"
# ca_path = "/etc/ssl/certs/"
# certificate_file = "/etc/ssl/certs/private/client.crt"
# private_key_file = "/etc/ssl/certs/private/client.key"
# cipher = "DHE-RSA-AES256-SHA:AES128-SHA"
# tls_required = yes
# tls_check_cert = no
# tls_check_cert_cn = no
#}
# If yes, (or auto and libmysqlclient reports warnings are
# available), will retrieve and log additional warnings from
# the server if an error has occured. Defaults to 'auto'
warnings = auto
}Décommentez la section Informations de connexion :
# Connection info:
#
server = "localhost"
port = 3306
login = "radius"
password = "password"Configurer le nom de la base de données :
# Database table configuration for everything except Oracle
radius_db = "radius"Décommentez une ligne contenant read_clients = yes.
# Set to 'yes' to read radius clients from the database ('nas' table)
# Clients will ONLY be read on server startup.
read_clients = yes
# Table to keep radius client info
client_table = "nas"Modifiez maintenant les droits de groupe du fichier que nous venons de modifier :
sudo chgrp -h freerad /etc/freeradius/3.0/mods-available/sql
sudo chown -R freerad:freerad /etc/freeradius/3.0/mods-enabled/sqlRedémarrez le service FreeRADIUS :
sudo systemctl restart freeradius.serviceInstaller daloRADIUS
Installer unzip :
sudo apt -y install wget unzipTélécharger daloRADIUS :
wget https://github.com/lirantal/daloradius/archive/1.3.zipDécompresser daloRADIUS :
unzip 1.3.zip
cd daloradius-1.3Remplissez la base de données avec le schéma daloRADIUS :
sudo mysql -u root -p radius < contrib/db/fr2-mysql-daloradius-and-freeradius.sql
sudo mysql -u root -p radius < contrib/db/mysql-daloradius.sqlDéplacez le dossier dans la racine du document comme :
cd
sudo mv daloradius-1.3 /var/www/html/daloradiusChanger le propriétaire et le groupe du dossier daloradius en www-data:www-data, qui sont l’utilisateur et le groupe sous lesquels le serveur Web Apache s’exécute.
sudo chown -R www-data:www-data /var/www/html/daloradius/Créer le fichier de configuration daloRADIUS. Copier de cet exemple de fichier :
sudo cp /var/www/html/daloradius/library/daloradius.conf.php.sample /var/www/html/daloradius/library/daloradius.conf.phpModifier également les autorisations pour le fichier de configuration daloRADIUS :
sudo chmod 664 /var/www/html/daloradius/library/daloradius.conf.phpConfigurer les informations de base de données FreeRADIUS
sudo nano /var/www/html/daloradius/library/daloradius.conf.phpAprès avoir modifié les détails de la base de données :
$configValues['CONFIG_DB_USER'] = 'radius';
$configValues['CONFIG_DB_PASS'] = 'password';
$configValues['CONFIG_DB_NAME'] = 'radius'Redémarrer FreeRADIUS et Apache
sudo systemctl restart freeradius.service apache2Accéder à daloRADIUS
Pour accéder à daloRADIUS via un navigateur Web en visitant :
http://server_ip/daloradius

Nom d’utilisateur/mot de passe daloRADIUS par défaut :
username: administrator
password: radius