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 hautes performances et riche en fonctionnalités livré avec serveur et client, bibliothèques de développement et utilitaires liés à RADIUS. RADIUS vous permet de gérer les 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 la gestion du serveur RADIUS. Il s'agit d'une application Web avancée pour la gestion des points d'accès et des déploiements de FAI. Il est écrit en PHP et JavaScript et prend en charge MySQL, PostgreSQL, SQLite, MsSQL en tant que backend de base de données. Il est livré avec un riche ensemble de fonctionnalités telles que des listes de contrôle d'accès, des rapports graphiques, un moteur de facturation, des rapports graphiques et une comptabilité, créer, supprimer et modifier des utilisateurs, créer, supprimer et modifier un point d'accès, créer, supprimer et modifier un NAS, etc. plus.
FreeRADIUS fonctionne comme back-end tandis que daloRADIUS fonctionne comme front-end.
Dans ce tutoriel, je vais vous expliquer étape par étape comment installer le serveur FreeRADIUS et le client Web Daloradius sur Ubuntu 18.04 LTS.
Exigences
- Un serveur exécutant Ubuntu 18.04.
- Un mot de passe root est configuré sur votre serveur.
Mise en route
Tout d'abord, mettez à jour le package de votre système vers la dernière version avec la commande suivante :
apt-get update -y
apt-get upgrade -y
Une fois tous les packages mis à jour, redémarrez votre système pour appliquer toutes les modifications de configuration.
Installer le serveur LAMP
Tout d'abord, vous devrez installer Apache, MariaDB, PHP et les autres packages requis sur votre système. Vous pouvez 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 tous les packages installés, vous pouvez passer à l'étape suivante.
Configurer la base de données pour FreeRADIUS
Par défaut, MariaDB n'est pas sécurisée. Vous devrez donc d'abord le sécuriser. Vous pouvez le sécuriser avec la commande suivante :
mysql_secure_installation
Répondez à 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, vous devrez créer une base de données et un utilisateur pour FreeRADIUS. Pour ce faire, connectez-vous au shell MariaDB avec la commande suivante :
mysql -u root -p
Entrez votre mot de passe root lorsque vous y êtes invité, puis créez 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, videz les privilèges et quittez le shell MariaDB avec la commande suivante :
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Installer FreeRADIUS
Par défaut, FreeRADIUS est disponible dans le référentiel par défaut d'Ubuntu 18.04. Vous pouvez l'installer avec la commande suivante :
apt-get install freeradius freeradius-mysql freeradius-utils
Une fois installé, importez le schéma de base de données freeradius MySQL avec la commande suivante :
mysql -u root -p radiusdb < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql
Fournissez votre mot de passe d'utilisateur de base de données radius lorsque vous y êtes invité et appuyez sur Entrée pour importer le schéma de base de données.
Ensuite, vous devrez créer un lien symbolique pour le module sql. Vous pouvez le faire avec la commande suivante :
ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/
Ensuite, connectez-vous au shell MariaDB et vérifiez les tables créées avec la commande suivante :
mysql -u root -p
Entrez votre mot de passe root lorsque vous y êtes invité. Une fois connecté, changez la base de données en radiusdb avec la commande suivante :
MariaDB [(none)]> use radiusdb;
Ensuite, listez les tables créées à l'aide de la commande suivante :
MariaDB [radiusdb]> show tables;
Vous devriez voir le résultat suivant :
+--------------------+ | Tables_in_radiusdb | +--------------------+ | nas | | radacct | | radcheck | | radgroupcheck | | radgroupreply | | radpostauth | | radreply | | radusergroup | +--------------------+
Ensuite, quittez le shell MariaDB avec la commande suivante :
MariaDB [radiusdb]> EXIT;
Ensuite, vous devrez définir les détails de connexion à votre base de données dans le module SQL freeradius. Vous pouvez le faire en éditant le fichier /etc/freeradius/3.0/mods-enabled/sql :
nano /etc/freeradius/3.0/mods-enabled/sql
Apportez les modifications suivantes selon votre 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"
Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, changez le propriétaire 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émarrez le service freeradius pour appliquer tous les changements de configuration :
systemctl restart freeradius
Vous pouvez également vérifier l'état de freeradius avec la commande suivante :
systemctl status freeradius
Vous devriez voir le résultat suivant :
? 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 vous avez terminé, vous pouvez passer à l'étape suivante.
Installer daloRADIUS
Ensuite, vous devrez installer daloRADIUS pour gérer FreeRADIUS à partir du navigateur Web.
Tout d'abord, téléchargez la dernière version de daloRADIUS depuis le dépôt Git avec la commande suivante :
wget https://github.com/lirantal/daloradius/archive/master.zip
Une fois téléchargé, décompressez le fichier téléchargé avec la commande suivante :
unzip master.zip
Ensuite, déplacez le répertoire extrait vers le répertoire racine Web d'Apache avec la commande suivante :
mv daloradius-master /var/www/html/daloradius
Ensuite, importez les tables mysql 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, donnez l'autorisation 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, ouvrez le fichier daloradius.conf.php et définissez les détails de connexion à la base de données :
nano /var/www/html/daloradius/library/daloradius.conf.php
Effectuez les modifications suivantes qui correspondent à votre 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';
Enregistrez et fermez le fichier. Ensuite, redémarrez freeradius et le service apache avec la commande suivante :
systemctl restart freeradius
systemctl restart apache2
Vous pouvez également vérifier l'état du service Web Apache avec la commande suivante :
systemctl status apache2
Vous devriez 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 vous avez terminé, vous pouvez passer à l'étape suivante.
Accéder à l'interface Web daloRADIUS
FreeRADIUS et daloRADIUS sont maintenant installés et configurés. Il est temps d'accéder à l'interface Web daloRADIUS. Pour accéder à l'interface Web, ouvrez votre navigateur Web et saisissez l'URL http://your-server-ip/daloradius/login.php. Vous allez être redirigé vers la page de connexion daloRADIUS :
Maintenant, fournissez le nom d'utilisateur et le mot de passe par défaut en tant qu'administrateur / rayon, et cliquez sur Connexion bouton. Vous devriez voir le tableau de bord par défaut daloRADIUS sur la page suivante :
Toutes nos félicitations! vous avez installé et configuré avec succès FreeRADIUS et daloRADIUS sur votre serveur Ubuntu 18.04. Pour plus d'informations, vous pouvez consulter la documentation officielle sur https://github.com/lirantal/daloradius. N'hésitez pas à me demander si vous avez des questions.