HowTo – Serveur FreeRadius avec SQL sous debian

Avant toute chose, un peu de théorie.

À quoi sert radius ?

http://fr.wikipedia.org/wiki/Remote_Authentication_Dial-In_User_Service

En bref, il sert à authentifier une personne à un service, il permet d’autoriser ou refuser toto à se connecter à un service.
Par exemple : l’utilisateur toto veut se connecter à un serveur FTP, ce serveur est configuré pour tourner avec un serveur radius.
L’utilisateur se connecte au FTP, le FTP va demander au serveur RADIUS si la personne a bien la permission de se connecter au service FTP à l’heure actuelle. Le serveur RADIUS va retrouver l’utilisateur toto dans un annuaire LDAP ou comme ici dans une base de données SQL, RADIUS va ensuite vérifier si l’utilisateur a bien la permission d’accéder ou non suivant les préférences. Et il va contacter le FTP pour lui dire si oui ou non l’utilisateur peut se connecter.

On y va

Installation des paquets nécessaires :

apt-get install mysql-server mysql-client phpmyadmin freeradius freeradius-utils freeradius-mysql

Création de la table et de l’utilisateur

echo "create database radius;" | mysql -u root -p
echo "grant all on radius.* to radius@'localhost' identified by 'password_bdd'; flush privileges;" | mysql -u root -p
mysql -u root -p radius < /etc/freeradius/sql/mysql/schema.sql
mysql -u root -p radius < /etc/freeradius/sql/mysql/nas.sql

Création d’un utilisateur

echo "INSERT INTO radcheck(UserName,Attribute,Value) VALUES ('Toto','Password','Azerty123');" | mysql -u root -p radius

Configuration de freeradius

nano /etc/freeradius/sql.conf

Modifier le contenu :

password=motDePasseSQL
readclient=yes

nano /etc/freeradius/radiusd.conf

Décommenter $INCLUDE sql.conf

nano /etc/freeradius/sites-available/default

Décommenter sql dans “authorize”, “accounting” et “session”

nano /etc/freeradius/clients.conf

secret = superSecret (mot de passe pour le radtest notamment)

On teste :

service freeradius stop
freeradius -X

(et regarder si tout est OK, pas de message d’erreur)

radtest Toto Azerty123 127.0.0.1 0 superSecret

-> access-accept = OK
CTRL+C

service freeradius restart

Laisser un commentaire

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