Objectifs et contraintes
La norme 802.1x est un standard IEEE qui a pour objectif la vérification de l'authentification
avant la connexion de l'ordinateur au réseau. Une fois cette authentification effectuée, l'ordinateur est placé dans le VLAN déterminé par le serveur d'authentification centralisé (RADIUS).
Principe
Le principe est décrit en figure 6 :
Par défaut, un port de commutateur est fermé. Dès qu'un ordinateur se connecte, le commutateur active le port en ne laissant passer que les trames 802.1x. Il demande alors à l'ordinateur de s'authentifier ou d'authentifier l'utilisateur qui est face à cet ordinateur (transmission 1 de la figure 6). Si l'ordinateur comprend la demande (si le logiciel d'authentification est activé), le commutateur met en relation le serveur RADIUS central et l'ordinateur client (transmission 2 de la figure 6). Le client envoie l'information d'authentification au serveur RADIUS. Celui-ci s'adresse à l'annuaire LDAP pour vérification. Si l'annuaire LDAP confirme l'authentification, le serveur RADIUS demande au commutateur de mettre le port dans un VLAN particulier et d'activer le port (transmission 4 de la figure 6). L'ordinateur a accès au réseau (transmission 5 de la figure 6). Il peut alors demander une adresse IP par DHCP si nécessaire. Il n'y a plus de cryptage entre l'ordinateur et le réseau.
Authentification
Par mesure de sécurité, toutes les communications de l'authentification sont cryptées. Il existe plusieurs types de cryptage disponibles pour la communication entre le serveur RADIUS et le client. Microsoft préconise d'utiliser MS-CHAP qui est géré en natif sur Windows. Cependant, il nécessite d'avoir les mots de passe utilisateurs enregistrés dans l'annuaire LDAP dans un format réversible, donc autant dire en clair. Or, pour l'annuaire LDAP du CNRS, il a été opté pour des mots de passe non-réversibles. Il a donc été proposé d'utiliser un autre cryptage le EAP-TTLS (Extended Authentication Protocol - Tunneled Transport Layer Security), qui demande par contre l'installation d'un logiciel sur les postes Windows : SecureW2.
Le principe de TTLS est le suivant :
- Le serveur RADIUS envoie au client un certificat électronique ;
- Le client vérifie ce certificat. Il est nécessaire au client d'avoir les certificats des autorités de certification ;
- Le client demande le compte et le mot de passe de l'utilisateur ;
- Un tunnel crypté est généré entre le client et le serveur RADIUS ;
- Le mot de passe est envoyé dans le tunnel TLS ;
- Le serveur RADIUS reçoit le mot de passe et le fait vérifier par l'annuaire LDAP. L'annuaire LDAP vérifie aussi si l'utilisateur est autorisé dans le réseau qu'il demande ;
- Le serveur RADIUS autorise ou pas la connexion auprès du commutateur.
De fait, le client authentifie le serveur par son certificat et s'authentifie par compte/mot de passe. Une session d'authentification TTLS est décrite figure 7.
Pour apporter plus de souplesse, le champ RADIUSGroupName du schéma RADIUS a été utilisé. L'idée est de permettre à un utilisateur d'appartenir à plusieurs laboratoires.
Si l'utilisateur a demandé un réseau particulier en tapant user@labo, l'annuaire LDAP vérifie si le réseau demandé est disponible dans le champ RADIUSGroupName. Le RADIUSGroupName est de la forme 'interneLABO' ou 'inviteLABO'. Pour pouvoir se connecter dans le réseau interne du laboratoire LABO, il faut que l'utilisateur ait interneLABO dans ce champ, sinon il sera connecté dans le réseau invité.
Discussion
Cette façon de faire permet une grande souplesse dans l'utilisation des réseaux : un utilisateur peut changer de laboratoire virtuellement, sans devoir se déplacer, juste en se reconnectant avec un nom de domaine différent. De plus, comme une authentification de l'utilisateur est mise en place, un suivi des connexion est enregistré si une analyse a posteriori est nécessaire.
CNRS / Centre Réseau et Informatique Commun (CRIC) - Dernière modification : 26/06/2019.
Mail : CRIC @ grenoble.cnrs.fr (sans les espaces)