Introduction
Ce document décrit un problème rencontré avec la restriction d'accès machine (MAR) et fournit une solution au problème.
Conditions préalables
Avec la croissance des appareils personnels, il est plus important que jamais pour les administrateurs système de fournir un moyen de limiter l'accès à certaines parties du réseau aux seuls actifs appartenant à l'entreprise. Le problème décrit dans ce document concerne la manière d'identifier ces domaines de préoccupation en toute sécurité et de les authentifier sans interrompre la connectivité des utilisateurs.
Exigences
Cisco recommande que vous ayez connaissance de la norme 802.1X afin de bien comprendre ce document. Ce document suppose une bonne connaissance de l'authentification 802.1X de l'utilisateur et met en évidence les problèmes et les avantages liés à l'utilisation de l'authentification MAR et, plus généralement, de l'authentification de la machine.
Composants utilisés
Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Problème
MAR tente essentiellement de résoudre un problème commun inhérent à la plupart des méthodes actuelles et populaires du protocole EAP (Extensible Authentication Protocol), à savoir que l'authentification de la machine et l'authentification de l'utilisateur sont des processus distincts et non liés.
L'authentification des utilisateurs est une méthode d'authentification 802.1x familière à la plupart des administrateurs système. L'idée est que les informations d'identification (nom d'utilisateur/mot de passe) soient données à chaque utilisateur et que cet ensemble d'informations d'identification représente une personne physique (il peut également être partagé entre plusieurs personnes). Par conséquent, un utilisateur peut se connecter à partir de n'importe quel emplacement du réseau avec ces informations d'identification.
Techniquement, l'authentification d'un ordinateur est identique, mais l'utilisateur n'est généralement pas invité à entrer les informations d'identification (ou le certificat) ; l'ordinateur ou l'ordinateur le fait lui-même. Cela nécessite que les informations d'identification soient déjà stockées sur la machine. Le nom d'utilisateur envoyé est host/<MyPCHostname>, à condition que votre ordinateur ait <MyPCHostname> défini comme nom d'hôte. En d'autres termes, il envoie host/ suivi de votre nom d'hôte.
Bien qu'il ne soit pas directement lié à Microsoft Windows et à Cisco Active Directory, ce processus est rendu plus facilement si l'ordinateur est joint à Active Directory, car le nom d'hôte de l'ordinateur est ajouté à la base de données du domaine, et les informations d'identification sont négociées (et renouvelées tous les 30 jours par défaut) et stockées sur l'ordinateur. Cela signifie que l'authentification de la machine est possible à partir de n'importe quel type de périphérique, mais elle est rendue beaucoup plus facilement et de manière transparente si la machine est jointe à Active Directory, et les informations d'identification restent cachées de l'utilisateur.
MAR en tant que solution
Il est facile de dire que la solution est pour Cisco Access Control System (ACS) ou Cisco Identity Services Engine (ISE) de compléter le MAR, mais il y a des avantages et des inconvénients à considérer avant que cela soit mis en oeuvre. La meilleure façon de mettre en oeuvre cela est décrite dans les guides de l'utilisateur ACS ou ISE, de sorte que ce document décrit simplement si oui ou non il faut l'envisager, et quelques obstacles possibles.
Les avantages
MAR a été inventé parce que les authentifications utilisateur et machine sont totalement séparées. Par conséquent, le serveur RADIUS ne peut pas appliquer une vérification où les utilisateurs doivent se connecter à partir des périphériques appartenant à l'entreprise. Avec MAR, le serveur RADIUS (ACS ou ISE, côté Cisco) impose, pour une authentification d'utilisateur donnée, qu'il doit y avoir une authentification de machine valide dans les X heures (généralement 8 heures, mais ceci est configurable) qui précèdent l'authentification d'utilisateur pour le même terminal.
Par conséquent, une authentification d'ordinateur réussit si les informations d'identification de l'ordinateur sont connues par le serveur RADIUS, généralement si l'ordinateur est joint au domaine, et le serveur RADIUS vérifie cela avec une connexion au domaine. Il incombe entièrement à l'administrateur réseau de déterminer si une authentification réussie de l'ordinateur fournit un accès complet au réseau, ou seulement un accès restreint ; en général, cela ouvre au moins la connexion entre le client et Active Directory afin que le client puisse effectuer des actions telles que le renouvellement du mot de passe utilisateur ou le téléchargement d'objets de stratégie de groupe (GPO).
Si l'authentification d'un utilisateur provient d'un périphérique où l'authentification d'une machine n'a pas eu lieu au cours des deux heures précédentes, l'utilisateur est refusé, même si l'utilisateur est normalement valide.
L'accès complet n'est accordé à un utilisateur que si l'authentification est valide et terminée à partir d'un point d'extrémité où une authentification de machine a eu lieu au cours des dernières heures.
Les inconvénients
Cette section décrit les inconvénients de l'utilisation de MAR.
MAR et demandeur Microsoft Windows
L'idée derrière MAR est que pour qu'une authentification d'utilisateur réussisse, non seulement cet utilisateur doit avoir des informations d'identification valides, mais une authentification d'ordinateur réussie doit également être consignée à partir de ce client. En cas de problème, l'utilisateur ne peut pas s'authentifier. Le problème qui se pose est que cette fonctionnalité peut parfois verrouiller par inadvertance un client légitime, ce qui force le client à redémarrer afin de retrouver l'accès au réseau.
Microsoft Windows n'effectue l'authentification de la machine qu'au démarrage (lorsque l'écran de connexion apparaît) ; dès que l'utilisateur entre ses informations d'identification, une authentification de l'utilisateur est effectuée. En outre, si l'utilisateur se déconnecte (retourne à l'écran de connexion), une nouvelle authentification de la machine est effectuée.
Voici un exemple de scénario qui montre pourquoi la RAM cause parfois des problèmes :
L'utilisateur X a travaillé toute la journée sur son ordinateur portable, qui était connecté via une connexion sans fil. À la fin de la journée, il ferme simplement l'ordinateur portable et quitte le travail. L'ordinateur portable est alors mis en veille prolongée. Le lendemain, il revient au bureau et ouvre son ordinateur portable. À présent, il ne parvient pas à établir une connexion sans fil.
Lors de la mise en veille prolongée de Microsoft Windows, il prend un instantané du système dans son état actuel, qui inclut le contexte de la connexion. Du jour au lendemain, l'entrée MAR en cache pour l'ordinateur portable utilisateur expire et est purgée. Cependant, lorsque l'ordinateur portable est sous tension, il n'effectue pas d'authentification de l'ordinateur. Il va directement dans une authentification d'utilisateur, puisque c'est ce que l'hibernation a enregistré. La seule façon de résoudre ce problème est de déconnecter l'utilisateur ou de redémarrer son ordinateur.
Bien que la fonction MAR soit une bonne fonctionnalité, elle est susceptible de provoquer des interruptions du réseau. Ces interruptions sont difficiles à résoudre tant que vous ne comprenez pas le fonctionnement de MAR. Lorsque vous implémentez MAR, il est important d'informer les utilisateurs finaux sur la manière d'éteindre correctement les ordinateurs et de se déconnecter de chaque machine à la fin de chaque journée.
Serveurs MAR et divers serveurs RADIUS
Il est courant d'avoir plusieurs serveurs RADIUS dans le réseau à des fins d'équilibrage de charge et de redondance. Cependant, tous les serveurs RADIUS ne prennent pas en charge un cache de session MAR partagé. Seuls ACS versions 5.4 et ultérieures, et ISE version 2.3 et ultérieures prennent en charge la synchronisation du cache MAR entre les noeuds. Avant ces versions, il n'est pas possible d'effectuer une authentification de machine sur un serveur ACS/ISE, et d'effectuer une authentification d'utilisateur sur un autre, car ils ne correspondent pas entre eux.
Commutation MAR et sans fil filaire
Le cache MAR de nombreux serveurs RADIUS dépend de l'adresse MAC. Il s'agit simplement d'une table avec l'adresse MAC des ordinateurs portables et l'horodatage de leur dernière authentification réussie. De cette façon, le serveur peut savoir si le client a été authentifié par la machine au cours des X dernières heures.
Cependant, que se passe-t-il si vous démarrez votre ordinateur portable avec une connexion câblée (et par conséquent si vous effectuez une authentification de la machine à partir de votre MAC câblé) et que vous passez ensuite à la connexion sans fil pendant la journée ? Le serveur RADIUS n'a aucun moyen de corréler votre adresse MAC sans fil avec votre adresse MAC câblée et de savoir que vous avez été authentifié par ordinateur au cours des X dernières heures. Le seul moyen est de fermer la session et de demander à Microsoft Windows d'effectuer une autre authentification de machine via une connexion sans fil.
Solution
Cisco AnyConnect offre, entre autres, l'avantage de profils préconfigurés qui déclenchent l'authentification des machines et des utilisateurs. Cependant, les mêmes limitations que celles rencontrées avec le demandeur Microsoft Windows sont rencontrées, en ce qui concerne l'authentification de l'ordinateur qui se produit uniquement lorsque vous vous déconnectez ou redémarrez.
En outre, avec AnyConnect versions 3.1 et ultérieures, il est possible d'effectuer EAP-FAST avec le chaînage EAP. Il s'agit essentiellement d'une authentification unique, dans laquelle vous envoyez simultanément deux paires d'informations d'identification, le nom d'utilisateur/mot de passe de la machine et le nom d'utilisateur/mot de passe de l'utilisateur. ISE vérifie alors plus facilement que les deux ont réussi. Sans cache utilisé et sans avoir à récupérer une session précédente, cela présente une plus grande fiabilité.
Lors du démarrage du PC, AnyConnect envoie une authentification de machine uniquement, car aucune information utilisateur n’est disponible. Cependant, lors de la connexion de l’utilisateur, AnyConnect envoie simultanément les informations d’identification de la machine et de l’utilisateur. En outre, si vous êtes déconnecté ou débranchez/rebranchez le câble, les informations d'identification de la machine et de l'utilisateur sont envoyées à nouveau dans une authentification EAP-FAST unique, qui diffère des versions précédentes d'AnyConnect sans chaînage EAP.
EAP-TEAP est la meilleure solution à long terme car elle est conçue spécialement pour prendre en charge ce type d'authentifications, mais EAP-TEAP n'est toujours pas pris en charge dans le demandeur natif de nombreux systèmes d'exploitation à ce jour