Qu'est-ce qu'un serveur freeRADIUS ?
RADIUS est un protocole AAA (authentification, autorisation et comptabilité) qui aide à contrôler l'accès au réseau. En d'autres termes, le protocole RADIUS est utilisé pour la gestion des connexions entre le serveur d'accès réseau (NAS) et le serveur d'authentification.
La connexion entre deux extrémités (NAC-NAS ou serveur d'authentification NAS) est initiée après une négociation réussie sur la couche réseau en échangeant des paquets contenant les informations nécessaires telles que l'identification NAS, le numéro de port d'authentification, etc.
En termes simples, on peut dire que RADIUS fournit des informations d'authentification, d'autorisation et de compte d'un serveur d'authentification à un appareil demandant l'accès.
FreeRADIUS prend en charge ces trois fonctionnalités du protocole AAA - authentification, autorisation et comptabilité. Afin de contrôler à quel type d'accès réseau peut être connecté, FreeRADIUS utilise différents modules. Par exemple, si le NAS est un routeur, il ne peut fournir aucune authentification à l'utilisateur, ce qui signifie que dans ce cas, seule l'autorisation est effectuée par le(s) module(s) client(s) PPP ou PPTP et le reste des étapes est géré par d'autres modules.
FreeRADIUS prend également en charge toutes les bases de données importantes utilisées pour les comptes, les utilisateurs, etc., notamment MariaDB/MySQL, PostgreSQL, Microsoft SQL Server, Oracle Database, etc.
Qu'est-ce que daloRADIUS ?
daloRADIUS est une interface Web avancée offrant une gestion complète des utilisateurs avec les dernières fonctionnalités telles que l'automatisation pour les utilisateurs finaux et les administrateurs système. Il simplifie la gestion quotidienne de votre installation FreeRADIUS.
daloRADIUS peut être utilisé pour configurer les paramètres système/NAS, créer de nouveaux comptes d'utilisateurs et gérer les NAS. C'est la seule interface qui fournit une gestion complète des utilisateurs pour les utilisateurs finaux et les administrateurs.
Pourquoi daloRADIUS ?
Il apporte une interface Web moderne au serveur FreeRADIUS avec les dernières fonctionnalités telles que l'automatisation pour les utilisateurs finaux et les administrateurs, le tout à partir d'un seul endroit. Il permet aux administrateurs réseau de gérer plus facilement leurs réseaux à partir de n'importe quel appareil ayant accès à Internet tout en donnant aux utilisateurs finaux le pouvoir sur leurs identifiants de connexion et leurs préférences de connexion.
Dans ce guide, vous apprendrez à installer FreeRADIUS sur Ubuntu 20.04 LTS et à utiliser daloRADIUS comme interface Web.
Prérequis
- Un nouveau serveur d'Ubuntu 20.04 LTS
- Un utilisateur avec des privilèges sudo
Mise à jour de votre système
Connectez-vous au serveur en tant qu'utilisateur root via SSH et mettez à jour tous les packages du système en exécutant la commande suivante :
sudo apt-get update -y
sudo apt-get upgrade -y
Une fois votre serveur mis à jour, vous pouvez passer à l'étape suivante.
Installation du serveur Web Apache
Installez le serveur Web apache et les modules nécessaires en exécutant la commande suivante :
sudo apt install apache2 -y
Une fois l'installation terminée, démarrez le service Apache et autorisez-le à démarrer avec le démarrage du système :
sudo systemctl start apache2 sudo systemctl enable apache2
Pour vérifier l'accès externe à Apache, utilisez votre navigateur Web préféré pour accéder à la page par défaut d'Apache en visitant http://your-server-ip dans un onglet séparé. Vous devriez voir la page par défaut d'Apache
Installation du serveur de base de données MariaDB pour FreeRADIUS
MariaDB est un système de gestion de base de données open source qui sera utilisé comme stockage principal pour FreeRADIUS. Dans ce guide, freeRADIUS utilisera MariaDB pour stocker les comptes d'utilisateurs, les paramètres, etc.
Installez le serveur MariaDB en exécutant la commande suivante :
sudo apt install software-properties-common mariadb-server mariadb-client -y
Une fois l'installation terminée, démarrez le service MariaDB et activez-le pour qu'il démarre avec le démarrage du système :
sudo systemctl start mysql sudo systemctl enable mysql
Pour sécuriser l'installation de MariaDB, vous pouvez exécuter le script mysql_secure_installation ci-dessous en fournissant votre mot de passe root lorsque vous y êtes invité. Cela supprimera les comptes d'utilisateurs anonymes, désactivera les connexions root à distance, interdira les mots de passe nuls, etc. Il est recommandé de configurer cela à l'avance afin que la base de sécurité soit solide pour tout déploiement futur.
mysql_secure_installation
Vous pouvez vérifier l'état du serveur MariaDB en exécutant la commande ci-dessous :
sudo systemctl status mariadb
Installer PHP 8 pour FreeRADIUS
Nous devons installer PHP 8 qui est nécessaire pour l'interface Web daloRADIUS. Par défaut, PHP 7 est disponible dans le référentiel Ubuntu 20.04 LTS mais pas PHP 8. Nous devrons ajouter un PPA tiers pour obtenir la dernière version de PHP.
sudo add-apt-repository ppa:ondrej/php
Mettez à jour vos référentiels en exécutant la commande suivante :
sudo apt update -y
Une fois le PPA ajouté, vous pouvez installer PHP 8 et les autres modules nécessaires en exécutant la commande suivante :
sudo apt install php8.0 libapache2-mod-php8.0
sudo apt install php-gd php-mail php-mail-mime php-mysql php-pear php-db php-mbstring php-xml php-curl
Vérifiez la version de PHP et vérifiez l'installation en exécutant la commande suivante :
php -v
Redémarrez Apache une fois l'installation terminée
sudo systemctl restart apache2
Installer FreeRADIUS
Maintenant que toutes les conditions préalables sont remplies, vous pouvez procéder à l'installation de FreeRADIUS. Par défaut, le package FreeRADIUS est disponible dans les dépôts, vous pouvez afficher les versions de freeradius disponibles dans votre Ubuntu en exécutant la commande suivante :
sudo apt policy freeradius
Vous obtiendrez la sortie similaire à ci-dessous
Vous pouvez installer le serveur FreeRADIUS en exécutant la commande suivante :
sudo apt-get install freeradius freeradius-mysql freeradius-utils -y
Pour vérifier rapidement que FreeRADIUS est opérationnel, nous allons exécuter FreeRADIUS en mode débogage.
Pour exécuter freeRADIUS en mode débogage, utilisez la commande suivante :
sudo systemctl stop freeradius
sudo freeradius -X
Le résultat devrait ressembler à ceci :
Vous pouvez voir la ligne "Prêt à traiter les requêtes" en bas pour que l'installation de FreeRADIUS soit réussie.
Création d'une base de données pour FreeRADIUS
Maintenant que FreeRADIUS est opérationnel, créons une base de données pour FreeRADIUS. Pour ce faire, nous allons utiliser la console MariaDB.
Pour accéder à la console MariaDB, exécutez la commande suivante :
mysql -u root -p
Entrez le mot de passe root lorsque vous êtes invité à vous authentifier auprès du serveur MariaDB.
Exécutez la commande suivante pour créer une base de données freeRADIUS :
CREATE DATABASE radius;
Accordez les droits à la nouvelle base de données créée en exécutant la requête ci-dessous, remplacez [email protected] par votre mot de passe.
GRANT ALL ON radius.* to [email protected] IDENTIFIED BY "[email protected]";
Rechargez les privilèges et quittez la console MariaDB en exécutant la commande suivante :
FLUSH PRIVILEGES;
quit;
Une fois la base de données créée, vous devez importer le schéma de base de données prédéfini qui inclut les tables FreeRADIUS MySQL.
Vous devez maintenant modifier le daloradius.conf fichier pour ajuster la base de données MySQL comme suit :
sudo nano /var/www/html/daloradius/library/daloradius.conf.php
Redémarrez le service FreeRADIUS à l'aide de la commande suivante :
sudo systemctl restart freeradius
Installation de l'interface Web daloRADIUS
Nous allons installer l'interface Web daloRADIUS afin de configurer le serveur FreeRADIUS à l'aide d'un navigateur. Exécutez la commande suivante pour télécharger daloRADIUS depuis le dépôt Github
wget https://github.com/lirantal/daloradius/archive/master.zip
Une fois le téléchargement terminé, décompressez l'archive.
unzip master.zip
Déplacez le dossier extrait vers le répertoire racine de votre site Web.
mv daloradius-master /var/www/html/daloradius
Importez le schéma de base de données pré-construit dans la base de données FreeRADIUS créée ci-dessus
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
Ensuite, définissez les autorisations correctes pour le fichier de configuration daloradius et modifiez les autorisations du répertoire d'installation daloradius.
sudo chown -R www-data:www-data /var/www/html/daloradius
sudo chmod -R 755 /var/www/html/daloradius
sudo chmod 664 /var/www/html/daloradius/library/daloradius.conf.php
Vous devez maintenant modifier le daloradius.conf fichier avec vos paramètres de configuration préférés avant d'accéder à l'interface Web daloRADIUS à partir d'un navigateur.
sudo nano /var/www/html/daloradius/library/daloradius.conf.php
Redémarrez le service FreeRADIUS à l'aide de la commande suivante :
sudo systemctl restart freeradius
Accéder à l'interface Web daloRADIUS
Pour accéder à l'interface Web daloradius, ouvrez http://ip-address/daloradius/login.php dans votre navigateur. Le nom d'utilisateur et le mot de passe vous seront demandés. Le nom d'utilisateur par défaut est administrateur, le mot de passe par défaut est radius
Une fois connecté à l'interface Web daloradius, vous pouvez commencer à ajouter des utilisateurs, des serveurs RADIUS virtuels, des types EAP, etc. Vous pouvez également créer de nouveaux utilisateurs et groupes qui seront utilisés pour authentifier les utilisateurs avec les types d'authentification EAP disponibles dans FreeRADIUS.
Conclusion
Dans ce tutoriel, nous avons appris à installer FreeRADIUS avec l'interface Web daloRADIUS sur le serveur Ubuntu 20.04 LTS. De plus, nous avons appris à importer le schéma de base de données prédéfini. Bien que ce didacticiel ait été écrit pour le serveur Ubuntu 20.04 LTS, il devrait fonctionner sur d'autres distributions Ubuntu ou Debian avec quelques modifications.