Avant toute chose, un peu de théorie.
A quoi sert radius?
http://fr.wikipedia.org/wiki/Remote_Authentication_Dial-In_User_Service
En bref, il sert a authentifier une personne à un service, il permet d’autoriser ou refuser toto a se connecter a un service.
Par exemple: l’utilisateur toto veux 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 à bien la permission de se connecter au service FTP à l’heure actuelle. Le serveur RADUIS va retrouver l’utilisateur toto dans un annuaire LDAP ou comme ici dans une base de donnée 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 peux 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
Creation 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 test :
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
-> acces-accept = OK
CTRL+C
service freeradius restart