Installer FreeRADIUS et DaloRADIUS sur Ubuntu 22.04

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 upgrade

Installer le serveur web Apache

sudo apt install apache2

Activez Apache pour qu’il démarre au démarrage d’Ubuntu.

sudo systemctl enable --now apache2

Installer 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-server

Configurer MySQL

sudo mysql_secure_installation

Installer FreeRADIUS et ses modules

sudo apt -y install freeradius freeradius-mysql freeradius-utils -y

Tester le serveur FreeRADIUS

Arrêtez le serveur FreeRADIUS :

sudo systemctl stop freeradius

Exécutez FreeARDIUS en mode débogage :

sudo freeradius -X

Ré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 requests

Redémarrez et activez le service FreeRADIUS :

sudo systemctl enable --now freeradius

Autoriser FreeRADIUS dans le pare-feu

sudo ufw allow to any port 1812 proto udp
sudo ufw allow to any port 1813 proto udp

Créer la base donnée et utilisateur MySQL pour FreeRADIUS

Se connecter à la base de donnée :

sudo mysql -u root -p

Cré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 su

Importer le schéma :

mysql -u root -p radius < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql

Vé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/sql

Remplacer 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/sql

    Redémarrez le service FreeRADIUS :

    sudo systemctl restart freeradius.service

    Installer daloRADIUS

    Installer unzip :

    sudo apt -y install wget unzip

    Télécharger daloRADIUS :

    wget https://github.com/lirantal/daloradius/archive/1.3.zip

    Décompresser daloRADIUS :

    unzip 1.3.zip
    cd daloradius-1.3

    Remplissez 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.sql

    Déplacez le dossier dans la racine du document comme :

    cd 
    sudo mv daloradius-1.3 /var/www/html/daloradius

    Changer 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.php

    Modifier également les autorisations pour le fichier de configuration daloRADIUS :

    sudo chmod 664 /var/www/html/daloradius/library/daloradius.conf.php

    Configurer les informations de base de données FreeRADIUS

    sudo nano /var/www/html/daloradius/library/daloradius.conf.php

    Aprè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 apache2

    Accéder à daloRADIUS

    Pour accéder à daloRADIUS via un navigateur Web en visitant :

    http://server_ip/daloradius

    Installer FreeRADIUS et DaloRADIUS sur Ubuntu 22.04

    Nom d’utilisateur/mot de passe daloRADIUS par défaut :

    username: administrator
    password: radius

    Laisser un commentaire