FreeRADIUS
Qu'es qu'un RADIUS
RADIUS, qui signifie « Remote Authentication Dial In User Service », est un protocole réseau,un système qui définit les règles et conventions de communication entre les périphériques réseau, pour les utilisateurs distants authentification et "accounting".
Couramment utilisé par les fournisseurs d'accès Internet (FAI), réseaux d’entreprise, le protocole RADIUS remplit trois fonctions principales :
• Authentifie (Authenticates) les utilisateurs ou les appareils avant de leur permettre d'accéder à un réseau.
• Autorise (Authorizes) ces utilisateurs ou appareils à accéder à des services réseau spécifiques.
• Comptabilise (Accounts) et suit l'utilisation de ces services.
Source : FREERADIUS TECHNICAL GUIDE
FreeRADIUS
FreeRADIUS est le serveur RADIUS open source le plus populaire et le plus largement déployé au monde.
Il sert de base à de multiples offres commerciales et assure l'authentification, l'autorisation, et la comptabilisation (accounting) (AAA) de nombreuses entreprises et FAI . Il est également largement utilisé par les universités (eduroam : le service d'accès en itinérance mondial développé pour la communauté internationale de recherche et d'éducation, utilise le logiciel FreeRADIUS).
FreeRADIUS a été créé en août 1999 par Alan DeKok et Miquel van Smoorenburg. FreeRADIUS a été développé avec un design modulaire, pour encourager une participation communautaire plus active.
Source : FREERADIUS TECHNICAL GUIDE
Mise en place de FreeRADIUS
Installation
Mise à jour du système avant l'installation de FreeRADIUS
apt update && apt upgrade -y
Installation du paquet Freeradius et d'utilitaire (radtest)
apt install freeradius freeradius-utils
Démarrage du serveur
La commande freeradius -X
permet de lancer le serveur FreeRadius en mode debug.
➡️ Il est possible que le service freeradius tourne déjà en arrière plan, en cas d'erreur de binding, il suffit de stopper le service :
sudo service freeradius stop
Fichier clients.conf
Le fichier clients.conf contient la liste des équipements réseaux autorisés à envoyers des requêtes RADIUS au serveur.
nano /etc/freeradius/3.0/clients.conf
La syntaxe pour déclarer un nouveau client est la suivante :
client NAME { … }
Le champs NAME est obligatoire, la définition du client se fait entre les accolades.
Exemple de paramètres disponibles :
ipaddr : L'adresse du client / le sous réseau / le nom de domaine.
- ipaddr : 192.168.1.1
- ipaddr : 192.168.1.0/24
- ipaddr : domaine.org
proto : Protocol de transport utilisé UDP (par défaut) ou TCP.
secret : Le mot de passe partagé entre le client et le serveur.
Autres paramètres disponible : Client Definitions
Exemple de configuration :
client AP01 {
ipaddr = 192.168.2.251
secret = APSupperSecretPassword
}
Fichier users
Le fichier users contient la liste des comptes utilisateurs. C'est la méthode laplus simple de définir des logins, d'autres méthodes sont possibles.
Exemple pour un utilisateur username/password
nano /etc/freeradius/3.0/users
username Cleartext-Password := "password"
Test de connexion
L'outil radtest permet de tester le fonctionnement de FreeRADIUS, syntaxe de la commande : radtest [USERNAME] [USER-PASSWORD] [SERVER] [NAS-PORT] [SECRET]
Exemple pour l'utilisateur testing/password : radtest testing password 127.0.0.1 0 testing123
➡️ Access-Accept ✅ : L'accès est autorisé, le RADIUS retourne également le type d'utilisateur "Superuser" permettant d'avoir les droits administrateurs sur les equipements WING.
➡️ Access-Reject ⛔ : L'accès n'est pas autorisé, le mot de passe n'est pas correct.