SECTION 3 : SERVEUR RADIUS
Le Remote Authentication Dial In User Service
(RADIUS), son nom peut être traduit par « service
d'authentification à distance pour des connexions d'utilisateurs
» est un protocole défini par l'IETF qui est le premier
organisme de normalisation internet, développant des standards ouverts
via des processus ouverts pour améliorer le fonctionnement d'Internet.
L'IETF est une grande communauté internationale ouverte de concepteurs
réseaux, d'opérateurs, de fournisseurs et de chercheurs soucieux
de l'évolution de l'architecture internet et du bon fonctionnement
d'internet.
Le protocole et le serveur Radius, qui servent avant tout
à identifier les utilisateurs d'un service. Ce protocole ne fait pas
partie de la norme 802.11 et il peut être utilisé dans bien
d'autres contextes que les réseaux sans fil. Cependant, il est tout
à fait central lorsque l'on met en oeuvre une architecture 802.1x, ce
qui est généralement le cas dans un réseau WiFi
d'entreprise protégé par les nouvelles solutions de
sécurité, le WPA, le WPA2 ou le WPA3.
1. Les fonctions du serveur Radius
Le serveur Radius a trois fonctions principales qui sont :
Authentication, Autorization, Accounting en anglais `'AAA en sigle»
traduit en français en Authentification, Autorisation et
Comptabilisation.
v L'authentification
La première fonction est de centraliser
l'authentification des utilisateurs qui cherchent à se connecter
à un réseau ou à un service quelconque26. Le
scénario élémentaire est le suivant
Figure 11 : Architecture Radius
v Un utilisateur souhaite accéder à un
réseau et pour cela il se connecte à un équipement qui
contrôle son accès : cet équipement s'appelle le
Network Access Server (NAS), c'est-à-dire le « serveur
d'accès au réseau » appelé client du
protocole Radius. Lorsque vous configurez un serveur Radius, faites attention
à ne pas confondre client et utilisateur ;
26 G. AURELIEN, Op. Cit., p. 307-308.
27
+ L'utilisateur fournit son identité au NAS, d'une
manière ou d'une autre : le protocole utilisé pour cela n'est pas
spécifié par RADIUS ; cela peut être n'importe quel
protocole ;
+ En utilisant le protocole RADIUS, le NAS communique alors
avec le serveur afin de valider l'identité de l'utilisateur. Si le
serveur RADIUS authentifie bien l'utilisateur, il en informe le NAS et celui-ci
laisse désormais l'utilisateur accéder au réseau.
Plusieurs NAS peuvent être configurés pour faire
appel au même serveur Radius et lui déléguer le travail
d'authentification des utilisateurs. De cette façon, il n'est pas
nécessaire à chaque NAS de posséder une copie de la liste
des utilisateurs : celle-ci est centralisée par le serveur
Radius27.
V' L'autorisation
Le rôle du protocole RADIUS ne s'arrête pas
à la simple authentification. En effet, lorsque le serveur informe le
NAS que l'utilisateur est bien authentifié, il peut en profiter pour
fournir au NAS toutes sortes de paramètres (on parle plutôt «
d'attributs ») utiles pour configurer la connexion de cet utilisateur. Par
exemple, il peut indiquer au NAS que cet utilisateur ne doit pas accéder
à telle ou telle partie du réseau.
V' La comptabilisation
La troisième et dernière fonction d'un serveur
Radius est de contrôler les connexions des utilisateurs. Voici comment
cela fonctionne : dès qu'un NAS a reçu du serveur la confirmation
de l'authentification d'un utilisateur accompagnée d'attributs
d'autorisation), il envoie une requête au serveur indiquant le
début de la session de l'utilisateur. Cette requête comporte de
nombreuses informations concernant la session et notamment :
+ L'identifiant de session (Acct-Session-Id) ;
+ L'identifiant de l'utilisateur (User-Name) ;
+ L'identifiant du NAS (NAS-Identifier) ;
+ L'adresse (MAC, en général) de l'utilisateur
(Calling-Station-Id) ; + L'adresse du NAS
(Called-Station-Id).
Le serveur enregistre ces informations ainsi que l'heure
exacte.
Lorsque l'utilisateur met fin à sa session, ou que le
NAS le déconnecte (ou encore si la connexion est coupée), le NAS
envoie une requête au serveur RADIUS afin de lui indiquer que la session
est terminée. Cette requête comporte à nouveau de
nombreuses informations au sujet de la session, parmi lesquelles on trouve en
général :
+ La durée totale de la session, en secondes
(Acct-Session-Time) ;
27G. AURELIEN, Op. Cit., p. 308.
28
+ Le volume total de données
téléchargées pendant la session, en nombre d'octets
(Acct-Input-Octets) ou en nombre de paquets (Acct-Input-Packets) ;
+ Le volume total de données envoyées pendant la
session, en nombre d'octets (Acct-Output-Octets) ou en nombre de paquets
(Acct-Output-Packets) ;
+ La cause de la fin de la session (Acct-Terminate-Cause), par
exemple la demande de l'utilisateur (User Request), la perte du signal (Lost
Carrier), la fin de la session (Session Timeout) ou encore une
inactivité trop longue (Idle Timeout) ;
+ Plus tous les attributs précédents :
Acct-Session-Id, User-Name, NAS-Identifier, Calling-Station-Id,
Called-Station-Id...
2. Critères d'authentification
Nous avons trois cas parmi les plus communément
répandus et les plus faciles à déployer :
y' Authentification avec l'adresse Ethernet (adresse
MAC)
L'adresse MAC de la carte Ethernet du poste de travail
identifie ce dernier. Cette adresse MAC n'est pas une preuve absolue
d'identité puisqu'il est relativement facile de la modifier et d'usurper
l'identité d'un autre poste de travail. Néanmoins, sur un
réseau filaire, cette adresse peut être suffisante puisque, pour
tromper le système d'authentification, il faudra tout de même
pénétrer sur le site, connaître une adresse MAC valide et
réussir à s'en servir.
y' Authentification par identifiant et mot de
passe
Ce type d'authentification correspond plutôt à
une authentification par utilisateur et suppose qu'il existe quelque part une
base de données qui puisse être interrogée par le serveur.
Plusieurs protocoles peuvent être mis en oeuvre pour assurer une
authentification par identifiant et mot de passe. Cependant, il convient
d'éliminer ceux pour lesquels le mot de passe circule en clair sur le
réseau ou bien est stocké en clair dans la base de
données. Le protocole 802.1X nous permettra de mettre en oeuvre des
solutions (EAP/PEAP ou EAP/TTLS) qui permettront de résoudre ces
problèmes.28
y' Authentification par certificat
électronique
Ce type d'authentification consiste à faire
présenter par le client un certificat électronique dont la
validité pourra être vérifiée par le serveur. Il
peut s'agir d'un certificat appartenant à un utilisateur. Dans ce cas on
parlera d'authentification par utilisateur. Mais il peut également
s'agir d'un certificat machine qui sera alors lié à la
machine.
28 G. BORDERES G., Op. Cit, p 17.
29
Dans ce travail nous allons gérer les accès au
réseau Wlan de l'entreprise avec le critère d'authentification
par identifiant et mot de passe.
3. Le protocole EAP29
Le protocole EAP (Extensible Authentication Protocol) est une
extension du protocole PPP, un protocole utilisé pour les connexions
à Internet à distance (généralement via un modem
RTC classique) et permettant notamment l'identification des utilisateurs sur l
réseau. Contrairement à PPP, le protocole EAP permet d'utiliser
différentes méthodes d'identification et son principe de
fonctionnement rend très souple l'utilisation de différents
systèmes d'authentification. EAP possède plusieurs
méthodes d'authentification, dont les plus connues sont :
EAP-MD5 : Authentification avec un mot de
passe ;
EAP-TLS : Authentification avec un certificat
électronique ; EAP-TTLS : Authentification du client
par login/password, met en oeuvre TLS Handshake puis TLS Record, le protocole
d'authentification du mot de passe circule dans le tunnel chiffré
EAP-PEAP : Authentification du client par login/password, met
en oeuvre TLS Handshake puis TLS Record, le protocole d'authentification du mot
de passe circule dans le tunnel chiffré.
Les types de paquets de base :
· EAP Request : Envoyé par le
contrôleur d'accès au client.
· EAP Response : Réponse du client
au contrôleur d'accès.
· EAP Success : Paquet envoyé au
client en fin d'authentification si elle est réussie.
· EAP Failure : Paquet envoyé au
client en fin d'authentification si elle est ratée.
Deux phases :
· TLS Handshake - Authentification des certificats ;
· TLS Record - Création d'un tunnel
chiffré.
4. Les protocoles AEP et radius
La compatibilité EAP dans Radius est
réalisée au moyen d'un attribut supplémentaire
EAP-Message
- Lorsque l'équipement réseau reçoit un
paquet EAP du poste utilisateur, il le copie dans un attribut EAP-Message,
lui-même copié dans un paquet Access-Request ;
29 J-F. PILLOU et J-P. BAY, Op. Cit, P.167.
30
- Lorsque le serveur Radius reçoit ce paquet il
extrait le contenu de EAP-Message et le passe à un module EAP pour
dérouler le protocole qu'il contient.
- Ce qui suppose que le serveur Radius dispose de ce module
EAP (qui ne fait pas partie du protocole Radius)
Le troisième chapitre se basera sur l'analyse de
l'existant et le planning prévisionnel.
Figure 12 : Protocoles EAP et radius 5.
Intérêt d'un serveur Radius
Le serveur Radius est le « moteur » de la
mobilité, c'est un élément structurant du réseau
:
· Authentifier les machines/utilisateurs pour
l'accès au réseau local ;
· Utilisable en filaire et sans-fil ;
· Placer les machines dans des sous-réseaux virtuels
;
· Plusieurs moyens d'authentification ;
· Initialiser les algorithmes de chiffrement des
communications (WPA) ;
· Les communications WiFi peuvent être
sécurisées ;
· Interfaçage avec des logiciels de portails captifs
;
· Authentification distante par redirection de
requêtes (proxy)
· Utilisable par d'autres types de serveurs (VPN)
Nous allons configurer FreeRadius3 Server dans Pfsense pour
le déploiement du serveur Radius, Pfsense étant le NAS de
FreeRadius3.
|