FreeRADIUS

🗓️ 14 novembre 2023

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.

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.

Sujets similaires