Colonel Serveur
How to Install and Configure FreeRADIUS with MySQL on Ubuntu

Installer et configurer FreeRADIUS avec MySQL sur Ubuntu est une solution efficace pour créer une infrastructure d'authentification évolutive pour les réseaux de toutes tailles. La combinaison de l'un des serveurs Radius open source les plus populaires avec une base de données MySQL permet une gestion efficace des informations utilisateur, surveillance, et tenir des registres dans une structure fiable. Une telle solution est bénéfique pour les fournisseurs de services Internet, grandes entreprises, points chauds, ou toute organisation où une authentification centralisée des utilisateurs et des journaux sont requis. Cet article décrira le processus d'installation et de configuration étape par étape d'une telle pile dans la distribution Ubuntu..

Mettre à jour les packages serveur

Pour commencer le processus d'installation et de configuration de FreeRADIUS avec MySQL sur Ubuntu, il est important de vous assurer que votre système est entièrement à jour. Actualisez les listes de packages et mettez à niveau les logiciels existants pour éviter les problèmes de compatibilité lors de l'installation..

sudo apt update
sudo apt upgrade

Installer le serveur Web Apache2

Dans le cadre du flux de travail pour installer et configurer FreeRADIUS avec MySQL sur Ubuntu, vous aurez besoin d'un serveur Web fiable. Apache2 est un choix populaire grâce à sa stabilité et son large support, donc nous l'installons ensuite.

sudo apt -y install apache2

Install PHP and Required Extensions

Wordpress Hosting

Hébergement Web WordPress

À partir de 3,99 $/mois

Acheter maintenant

Installer PHP et les extensions requises

Pour une fonctionnalité correcte, surtout si vous envisagez d'utiliser des outils de gestion basés sur le Web, PHP et ses modules nécessaires doivent être installés. Cette étape garantit que votre environnement est prêt pour l'interaction avec la base de données et l'intégration Web pendant que vous installez et configurez FreeRADIUS avec MySQL sur Ubuntu..

sudo apt -y install php libapache2-mod-php php-{gd,common,mail,mail-mime,mysql,pear,db,mbstring,xml,curl}

Installer le serveur de base de données MySQL

Une base de données est essentielle pour stocker les informations d'identification des utilisateurs et les données comptables. Bien que MySQL soit utilisé dans ce guide, MariaDB peut aussi être une alternative. L'installation du serveur de base de données est une étape clé dans Installer et configurer FreeRADIUS avec MySQL sur Ubuntu.

sudo apt -y install mysql-server

Sécurisez et configurez MySQL

Après l'installation, il est nécessaire de sécuriser le serveur de base de données. Exécutez le script de sécurité intégré pour configurer les paramètres importants et supprimer les vulnérabilités par défaut.

sudo mysql_secure_installation

Cheap VPS

Serveur VPS pas cher

À partir de 2,99 $/mois

Acheter maintenant

Lors de cette configuration, vous serez invité à choisir les paramètres de validation du mot de passe. Dans ce cas, sélectionner « Non » simplifie les choses pour la configuration initiale, ce qui signifie qu'aucun mot de passe root n'est appliqué par défaut (vous pourrez le configurer plus tard). Le script vous guidera ensuite à travers plusieurs options de sécurité.

Validation du mot de passe et invites de sécurité initiales

La section suivante explique les paramètres de stratégie de mot de passe et les recommandations générales en matière de sécurité des bases de données.. Pour la simplicité, ignorer le composant de validation:

Press y|Y for Yes, any other key for No: n

Supprimer les utilisateurs anonymes

Par défaut, MySQL inclut des utilisateurs anonymes à des fins de test. Ceux-ci doivent être supprimés pour améliorer la sécurité dans les environnements de production.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y

Restreindre l'accès à la connexion root

Pour renforcer encore la sécurité, il est recommandé d'empêcher les connexions root à distance. Cela garantit que seul l'accès local est autorisé pour les tâches administratives.

Windows VPS

Hébergement VPS Windows

Remote Access & Full Admin

Acheter maintenant

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y

Supprimer la base de données de test par défaut

Pendant que vous poursuivez le processus d'installation et de configuration de FreeRADIUS avec MySQL sur Ubuntu, il est important d’éliminer les composants inutiles. MySQL inclut une base de données par défaut appelée test qui est accessible à tous les utilisateurs et destinée uniquement aux tests.. Le conserver dans un environnement de production est un risque pour la sécurité, donc il faudrait le supprimer.

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
- Dropping test database...
Success.

- Removing privileges on test database...
Success.

Appliquer les modifications en rechargeant les privilèges

Après avoir apporté des modifications structurelles à MySQL, vous devez recharger les tables de privilèges pour que les mises à jour prennent effet immédiatement. Il s'agit d'une étape critique lorsque vous installez et configurez FreeRADIUS avec MySQL sur Ubuntu, car les autorisations doivent être exactes dès le départ..

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

À ce point, la configuration MySQL est terminée et prête pour l'intégration.

Installer les packages FreeRADIUS

Nous passons maintenant à l'installation de FreeRADIUS avec son module MySQL et ses outils utilitaires.. Cette étape est au cœur du workflow Installer et configurer FreeRADIUS avec MySQL sur Ubuntu..

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

Tester l'installation de FreeRADIUS

Avant d'effectuer des configurations, il est judicieux de vérifier que FreeRADIUS fonctionne correctement. D'abord, arrêter le service:

sudo systemctl stop freeradius

Puis démarrez-le en mode débogage. Cela vous permet de voir les journaux en temps réel, qui sont extrêmement utiles pour le dépannage lors du processus d'installation et de configuration de FreeRADIUS avec MySQL sur Ubuntu.

sudo freeradius -X

Si tout fonctionne correctement, vous verrez une sortie similaire à celle-ci:

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 33201
Listening on proxy address :: port 59970
Ready to process requests

Configure MySQL for FreeRADIUS

Configurer MySQL pour FreeRADIUS

Suivant, nous préparons la base de données spécifiquement pour FreeRADIUS. Puisqu'aucun mot de passe root n'a été défini précédemment, appuyez simplement sur Entrée lorsque vous y êtes invité.

sudo mysql -u root -p

Dans MySQL, créer la base de données et l'utilisateur. Ces informations d'identification seront ensuite utilisées par FreeRADIUS. Cette étape est un élément clé pour réussir l'installation et la configuration de FreeRADIUS avec MySQL sur Ubuntu..

CREATE DATABASE radius;
CREATE USER 'radius'@'localhost' IDENTIFIED by 'helloworld123';
GRANT ALL PRIVILEGES ON radius.* TO 'radius'@'localhost';
FLUSH PRIVILEGES;
quit;

Passer à l'utilisateur racine

Pour les prochaines étapes de configuration, vous aurez besoin d'un accès au niveau root. Basculez vers l'utilisateur root avec la commande suivante:

sudo su -

Installer et configurer FreeRADIUS avec MySQL sur Ubuntu – Importer le schéma de base de données

Pour commencer, vous devez charger la structure de base de données requise pour FreeRADIUS dans la base de données que vous avez créée précédemment. Cela garantit que toutes les tables nécessaires sont prêtes à l'emploi.

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

Installer et configurer FreeRADIUS avec MySQL sur Ubuntu – Activer le module SQL

Suivant, créer un lien symbolique pour activer le module SQL en liant la configuration disponible au répertoire activé:

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

Installer et configurer FreeRADIUS avec MySQL sur Ubuntu – Modifier la configuration SQL

Maintenant, c'est’Il est temps de modifier le fichier de configuration SQL. Ouvrez-le à l'aide de l'éditeur nano. Vous pouvez effectuer une recherche à l'intérieur du fichier en utilisant Ctrl + W ou naviguez à l'aide des touches fléchées:

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

Localisez le driver paramètre et faites-le passer du pilote nul par défaut au pilote de dialecte SQL. Commentez la première ligne et activez la seconde:

driver = "rlm_sql_null"# driver = "rlm_sql_${dialect}"

Après édition, ça devrait apparaître comme ça:

# driver = "rlm_sql_null" driver = "rlm_sql_${dialect}"

Installez et configurez FreeRADIUS avec MySQL sur Ubuntu - Définir MySQL comme dialecte

Recherchez l'option de dialecte et changez-la de SQLite à MySQL:

dialect = "sqlite" dialect = "mysql"

Configurer la section TLS pour la connexion MySQL

Rechercher le mysql { bloquer puis le tls { sous-section. Désactivez toutes les lignes liées à TLS en les commentant, à l'exception du warnings = auto ligne qui doit rester active:

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
}

Après avoir apporté des modifications, ça devrait ressembler à ç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
}

Configurer les détails de connexion à la base de données

Enfin, faites défiler jusqu'à la section des paramètres de connexion. Supprimez les symboles de commentaire (#) et mettez à jour les informations d'identification en fonction de ce que vous avez défini lors de la création d'une base de données:

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

Modifiez-le comme ceci (remplacez le mot de passe par votre mot de passe actuel):

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

Installer et configurer FreeRADIUS avec MySQL sur Ubuntu – Configuration du nom de base de données

A ce stade, vous devez vérifier le nom de la base de données utilisé par FreeRADIUS. Étant donné que le nom de la base de données par défaut a été utilisé lors de l'installation, il n'est pas nécessaire de le modifier ici.

radius_db = "radius"

Activer la lecture client

Suivant, localisez l'option read_clients dans le fichier de configuration. Ce paramètre permet à FreeRADIUS de charger les appareils clients directement depuis la base de données. Supprimez simplement le symbole de commentaire (#) pour l'activer.

# read_clients = yes
read_clients = yes

Configuration des tables clients

Par défaut, FreeRADIUS utilise la table nas pour stocker les informations sur le périphérique client (tels que des routeurs ou des points d'accès comme MikroTik). Si vous envisagez d'utiliser un nom de table différent, vous pouvez l'ajuster ici.

client_table = "nas"

Installez et configurez FreeRADIUS avec MySQL sur Ubuntu - Définir les autorisations et redémarrer le service

Avant de finir, assurez-vous que les autorisations correctes sont appliquées aux fichiers de configuration SQL. Cela garantit que FreeRADIUS peut y accéder et les utiliser correctement..

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

Enfin, redémarrez le service FreeRADIUS pour appliquer toutes les modifications que vous avez apportées:

sudo systemctl restart freeradius.service

installer et configurer FreeRADIUS avec MySQL sur Ubuntu

Dans ce guide, nous avons expliqué l'installation et la configuration de FreeRADIUS avec MySQL sur Ubuntu, créer un système d'authentification puissant et évolutif. En intégrant MySQL, vous obtenez un meilleur contrôle sur la gestion des utilisateurs, comptabilité, et le stockage des données par rapport aux configurations de fichiers plats. Nous avons couvert l'installation des packages, configuration de la base de données, importation de schéma, et configuration appropriée de FreeRADIUS pour communiquer avec MySQL. Les étapes de test et de dépannage garantissent que tout se passe bien. Dans l'ensemble, cette configuration est idéale pour les environnements qui nécessitent une authentification centralisée, comme les FAI, réseaux d'entreprise, ou systèmes de points d'accès, offrant de la flexibilité, fiabilité, et une maintenance à long terme plus facile pour les infrastructures en croissance.

Partager cette publication

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *