- architecture
- un client se connecte au serveur RADIUS, via le Point d’Accès, pour être authentifié.
L’architecture type est la suivante :
- un client veut utiliser les services d’un réseau Wi-Fi,
- un Point d’Accès (AP) offre la connexion au réseau,
- un serveur RADIUS permet de vérifier l’identité du client et de lui autoriser l’accès au réseau.
Le principe du 802.1x est de ne laisser passer que les données strictement nécessaires à l’authentification du client et de refuser tout le reste. L’AP sert de relais entre le client et le serveur RADIUS.
Le protocole utilisé est EAP, qui permet plusieurs méthodes d’authentification.
Freeradius en supporte deux avec EAP : MD5 et TLS.
MD5
MD5 est une méthode simple basée sur le couple nom d’utilisateur / mot de passe.
Le client possède un nom d’utilisateur et un mot de passe, qui sont stockés dans la base de données du serveur RADIUS.
Pour se connecter, il doit les faire connaître au serveur, qui les compare avec le contenu de sa base. Si les nom d’utilisateur et mot de passe correspondent, le client reçoit l’autorisation de se connecter au réseau.
On a ainsi une authentification du client par le serveur, c’est à dire que le serveur est sûr de l’identité du client.
La faiblesse de ce système est que le client n’authentifie pas le serveur : un attaquant peut se substituer à la partie AP/serveur, du point de vue du client, et lui demander ses identifiants. Le client, croyant avoir affaire à son serveur, n’a pas de raison de les refuser, et les fournit à l’attaquant sans s’en apercevoir.
L’attaquant aura alors accès au réseau avec les mêmes droits que le client qu’il a trompé.
Le standard TLS remédie à cette faiblesse.
TLS
Avec la méthode TLS, on procède à une authentification symétrique : le client s’assure de l’identité du serveur, et le serveur authentifie à son tour le client.
Pour cela, on doit mettre en place une architecture à clés publiques (PKI, pour Public Key Infrastructure). Il s’agit d’un modèle théorique, dont l’implémentation est très lourde, comparée à la méthode md5.
Des certificats sont générés : un pour le serveur RADIUS, et un pour chaque client. Le serveur possède une copie des certificats des clients, et les clients ont une copie de celui du serveur.
(Avec freeradius, on utilisera logiquement openssl pour la gestion des certificats.)
Quand un client demande à se connecter, il peut vérifier l’identité du serveur grâce au certificat et à la clé publique de chiffrement du serveur, et de la même façon le serveur vérifie l’identité du client.
La faiblesse décelée dans la méthode md5 disparaît, mais la mise en place d’une architecture PKI est complexe, déjà à cause de la complexité du modèle théorique lui-même, et aussi à cause de la difficulté d’installation et de configuration des outils logiciels.