FreeRADIUS est un protocole client/serveur gratuit et open-source qui fournit une authentification réseau centralisée sur les systèmes. Il s’agit d’un serveur RADIUS performant et riche en fonctionnalités, livré avec le serveur et le client, des bibliothèques de développement et des utilitaires liés à RADIUS. RADIUS te permet de maintenir des profils d’utilisateurs et de suivre l’utilisation pour la facturation à partir du serveur central. Il prend en charge diverses bases de données, notamment OpenLDAP, MySQL, Redis, Microsoft AD, Apache Cassandra, PostgreSQL, etc.

daloRADIUS est une application web pour gérer le serveur RADIUS. Il s’agit d’une application Web avancée pour gérer les hotspots et les déploiements de FAI. Elle est écrite en PHP et JavaScript et prend en charge MySQL, PostgreSQL, SQLite, MsSQL comme backend de base de données. Elle est dotée d’un riche ensemble de fonctionnalités telles que les listes de contrôle d’accès, les rapports graphiques, le moteur de facturation, les rapports graphiques et la comptabilité, la création, la suppression et la modification des utilisateurs, la création, la suppression et la modification des HotSpots, la création, la suppression et la modification des NAS, et bien plus encore.

FreeRADIUS fonctionne comme le back-end tandis que daloRADIUS fonctionne comme le front-end.

Dans ce tutoriel, je vais expliquer étape par étape comment installer le serveur FreeRADIUS et le client Web Daloradius sur Ubuntu 18.04 LTS.

Exigences

  • Un serveur fonctionnant sous Ubuntu 18.04.
  • Un mot de passe root est configuré sur ton serveur.

Pour commencer

Tout d’abord, mets à jour les paquets de ton système à la dernière version avec la commande suivante :

apt-get update -y
apt-get upgrade -y

Une fois que tous les paquets sont mis à jour, redémarre ton système pour appliquer tous les changements de configuration.

Installe le serveur LAMP

Tout d’abord, tu dois installer Apache, MariaDB, PHP et les autres paquets requis sur ton système. Tu peux tous les installer avec la commande suivante :

apt-get install apache2 mariadb-server php libapache2-mod-php php-mail php-mail-mime php-mysql php-gd php-common php-pear php-db php-mbstring php-xml php-curl unzip wget -y

Une fois que tous les paquets sont installés, tu peux passer à l’étape suivante.

Configurer la base de données pour FreeRADIUS

Par défaut, MariaDB n’est pas sécurisée. Tu devras donc d’abord la sécuriser. Tu peux la sécuriser avec la commande suivante :

mysql_secure_installation

Réponds à toutes les questions comme indiqué ci-dessous :

Enter current password for root (enter for none): Just press the Enter
Set root password? [Y/n]: Y
New password: Enter password
Re-enter new password: Repeat password
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]:  Y
Reload privilege tables now? [Y/n]:  Y

Ensuite, tu devras créer une base de données et un utilisateur pour FreeRADIUS. Pour ce faire, connecte-toi au shell MariaDB avec la commande suivante :

mysql -u root -p

Saisis ton mot de passe root à l’invite puis crée une base de données et un utilisateur avec la commande suivante :

MariaDB [(none)]> CREATE DATABASE radiusdb;
MariaDB [(none)]> GRANT ALL ON radiusdb.* TO [email protected] IDENTIFIED BY "password";

Ensuite, vide les privilèges et quitte le shell MariaDB avec la commande suivante :

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Une fois que tu as terminé, tu peux passer à l’étape suivante.

Installer FreeRADIUS

Par défaut, FreeRADIUS est disponible dans le dépôt par défaut d’Ubuntu 18.04. Tu peux l’installer avec la commande suivante :

apt-get install freeradius freeradius-mysql freeradius-utils

Une fois installé, importe le schéma de la base de données MySQL de freeradius avec la commande suivante :

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

Indique ton mot de passe d’utilisateur de la base de données radius à l’invite et appuie sur Entrée pour importer le schéma de la base de données.

Ensuite, tu devras créer un lien symbolique pour le module sql. Tu peux le faire avec la commande suivante :

ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/

Ensuite, connecte-toi au shell MariaDB et vérifie les tables créées avec la commande suivante :

mysql -u root -p

Saisis ton mot de passe root à l’invite. Une fois connecté, change la base de données en radiusdb avec la commande suivante :

MariaDB [(none)]> use radiusdb;

Ensuite, liste les tables créées à l’aide de la commande suivante :

MariaDB [radiusdb]> show tables;

Tu devrais voir la sortie suivante :

+--------------------+
| Tables_in_radiusdb |
+--------------------+
| nas                |
| radacct            |
| radcheck           |
| radgroupcheck      |
| radgroupreply      |
| radpostauth        |
| radreply           |
| radusergroup       |
+--------------------+

Ensuite, quitte le shell MariaDB avec la commande suivante :

MariaDB [radiusdb]> EXIT;

Ensuite, tu devras définir les détails de ta connexion à la base de données dans le module freeradius SQL. Tu peux le faire en modifiant le fichier /etc/freeradius/3.0/mods-enabled/sql :

nano /etc/freeradius/3.0/mods-enabled/sql

Apporte les modifications suivantes en fonction de ta base de données :

sql {
driver = "rlm_sql_mysql"
dialect = "mysql"

# Connection info:
server = "localhost"
port = 3306
login = "radius"
password = "password"

# Database table configuration for everything except Oracle
radius_db = "radiusdb"
}

read_clients = yes
client_table = "nas"

Enregistre et ferme le fichier lorsque tu as terminé. Ensuite, change la propriété de /etc/freeradius/3.0/mods-enabled/sql avec la commande suivante :

chgrp -h freerad /etc/freeradius/3.0/mods-available/sql
chown -R freerad:freerad /etc/freeradius/3.0/mods-enabled/sql

Enfin, redémarre le service freeradius pour appliquer tous les changements de configuration :

systemctl restart freeradius

Tu peux aussi vérifier l’état de freeradius avec la commande suivante :

systemctl status freeradius

Tu devrais voir la sortie suivante :

? freeradius.service - FreeRADIUS multi-protocol policy server
   Loaded: loaded (/lib/systemd/system/freeradius.service; disabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-08-07 09:20:34 UTC; 14s ago
     Docs: man:radiusd(8)
           man:radiusd.conf(5)
           http://wiki.freeradius.org/
           http://networkradius.com/doc/
  Process: 45159 ExecStart=/usr/sbin/freeradius $FREERADIUS_OPTIONS (code=exited, status=0/SUCCESS)
  Process: 45143 ExecStartPre=/usr/sbin/freeradius $FREERADIUS_OPTIONS -Cxm -lstdout (code=exited, status=0/SUCCESS)
 Main PID: 45161 (freeradius)
    Tasks: 6 (limit: 4650)
   CGroup: /system.slice/freeradius.service
           ??45161 /usr/sbin/freeradius

Une fois que tu as terminé, tu peux passer à l’étape suivante.

Installer daloRADIUS

Ensuite, tu devras installer daloRADIUS pour gérer FreeRADIUS depuis le navigateur Web.

Tout d’abord, télécharge la dernière version de daloRADIUS depuis le dépôt Git à l’aide de la commande suivante :

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

Une fois téléchargé, décompresse le fichier téléchargé avec la commande suivante :

unzip master.zip

Ensuite, déplace le répertoire extrait dans le répertoire racine du site Web d’Apache avec la commande suivante :

mv daloradius-master /var/www/html/daloradius

Ensuite, importe les tables mysql de daloRADIUS dans radiusdb avec la commande suivante :

cd /var/www/html/daloradius
mysql -u root -p radiusdb < contrib/db/fr2-mysql-daloradius-and-freeradius.sql
mysql -u root -p radiusdb < contrib/db/mysql-daloradius.sql

Ensuite, donne la permission appropriée au répertoire daloradius avec la commande suivante :

chown -R www-data:www-data /var/www/html/daloradius/
chmod 664 /var/www/html/daloradius/library/daloradius.conf.php

Ensuite, ouvre le fichier daloradius.conf.php et définis les détails de la connexion à la base de données :

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

Apporte les modifications suivantes qui correspondent à ta base de données :

$configValues['DALORADIUS_VERSION'] = '1.1-1';
$configValues['DALORADIUS_DATE'] = '28 Jul 2019';
$configValues['FREERADIUS_VERSION'] = '2';
$configValues['CONFIG_DB_ENGINE'] = 'mysqli';
$configValues['CONFIG_DB_HOST'] = 'localhost';
$configValues['CONFIG_DB_PORT'] = '3306';
$configValues['CONFIG_DB_USER'] = 'radius';
$configValues['CONFIG_DB_PASS'] = 'password';
$configValues['CONFIG_DB_NAME'] = 'radiusdb';

Sauvegarde et ferme le fichier. Ensuite, redémarre freeradius et le service apache avec la commande suivante :

systemctl restart freeradius
systemctl restart apache2

Tu peux aussi vérifier l’état du service Web Apache avec la commande suivante :

systemctl status apache2

Tu devrais voir la commande suivante :

? apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           ??apache2-systemd.conf
   Active: active (running) since Wed 2019-08-07 09:25:56 UTC; 4min 25s ago
  Process: 45483 ExecStop=/usr/sbin/apachectl stop (code=exited, status=0/SUCCESS)
  Process: 45489 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
 Main PID: 45505 (apache2)
    Tasks: 11 (limit: 4650)
   CGroup: /system.slice/apache2.service
           ??45505 /usr/sbin/apache2 -k start
           ??45510 /usr/sbin/apache2 -k start
           ??45511 /usr/sbin/apache2 -k start
           ??45512 /usr/sbin/apache2 -k start
           ??45513 /usr/sbin/apache2 -k start
           ??45517 /usr/sbin/apache2 -k start
           ??45519 /usr/sbin/apache2 -k start
           ??45520 /usr/sbin/apache2 -k start
           ??45521 /usr/sbin/apache2 -k start
           ??45527 /usr/sbin/apache2 -k start
           ??45528 /usr/sbin/apache2 -k start

Aug 07 09:25:55 openshift systemd[1]: Starting The Apache HTTP Server...
Aug 07 09:25:56 openshift systemd[1]: Started The Apache HTTP Server.

Une fois que tu as terminé, tu peux passer à l’étape suivante.

Accéder à l’interface Web de daloRADIUS

FreeRADIUS et daloRADIUS sont maintenant installés et configurés. Il est temps d’accéder à l’interface Web de daloRADIUS. Pour accéder à l’interface Web, ouvre ton navigateur Web et tape l’URL http://your-server-ip/daloradius/login.php. Tu seras redirigé vers la page de connexion de daloRADIUS :

Connexion daloRadius

Maintenant, indique le nom d’utilisateur et le mot de passe par défaut comme administrateur / radius, et clique sur le bouton Connexion. Tu devrais voir le tableau de bord par défaut de daloRADIUS sur la page suivante :

Tableau de bord daloRadius

Statut du serveur daloRadius

Félicitations ! Tu as installé et configuré avec succès FreeRADIUS et daloRADIUS sur ton serveur Ubuntu 18.04. Pour plus d’informations, tu peux consulter la documentation officielle à l’adresse https://github.com/lirantal/daloradius. N’hésite pas à me demander si tu as des questions.

Vous aimerez aussi...