802.1x Audric PODMILSAK 13 janvier 2009
Qu’est ce que 802.1x ? Le protocole EAP Le protocole RADIUS Plan de la présentation Qu’est ce que 802.1x ? Le protocole EAP Le protocole RADIUS Les failles de 802.1x Conclusion Podmilsak 802.1x 2/27 Audric
802.1x ? 1. 802.1x ? 2. EAP 3. RADIUS 4. Les failles 5. Conclusion Podmilsak 802.1x 3/27 Audric
1. 802.1x ? 2. EAP 3. RADIUS 4. Les failles 5. Conclusion Mis au point par l’IEEE en 2001, aussi appelé “Port-Based Network Access Control”. Assure l’authentification des utilisateurs sur un réseau filaire ou non-filaire. Repose sur le protocole EAP, et la mise en place d’un serveur d’authentification (RADIUS) et d’un controlleur d’accès (Commutateur, Access Point). Podmilsak 802.1x 4/27 Audric
Fonctionnement général : 1. 802.1x ? 2. EAP 3. RADIUS 4. Les failles 5. Conclusion Fonctionnement général : Podmilsak 802.1x 5/27 Audric
Authentifié Authentification 1. 802.1x ? 2. EAP 3. RADIUS 4. Les failles 5. Conclusion Authentification basée sur le contrôle des ports. Authentifié Authentification Podmilsak 802.1x 6/27 Audric
Client Contrôleur d’accès RADIUS 1. 802.1x ? 2. EAP 3. RADIUS 4. Les failles 5. Conclusion Client Contrôleur d’accès RADIUS Podmilsak 802.1x 7/27 Audric
Extensible Authentication Protocol 1. 802.1x ? 2. EAP 3. RADIUS 4. Les failles 5. Conclusion Extensible Authentication Protocol Podmilsak 802.1x 8/27 Audric
Protocole de transport des données nécessaire à l’authentification. 1. 802.1x ? 2. EAP 3. RADIUS 4. Les failles 5. Conclusion Protocole de transport des données nécessaire à l’authentification. Protocole extensible, on peut définir de nouvelles méthodes d’authentifications, il est indépendant. De nombreux choix pour la méthode d’authentification. Podmilsak 802.1x 9/27 Audric
EAP-MD5 : Authentification avec un mot de passe. 1. 802.1x ? 2. EAP 3. RADIUS 4. Les failles 5. Conclusion EAP-MD5 : Authentification avec un mot de passe. EAP-TLS : Authentification avec un certificat éléctronique. EAP-TTLS : Authentification avec n’importe quelle méthode d’authentification, au sein d’un tunnel TLS. EAP-PEAP : Authentification avec n’importe quelle méthode d’authentification EAP, au sein d’un tunnel TLS. Podmilsak 802.1x 10/27 Audric
Les types de paquets existants : 1. 802.1x ? 2. EAP 3. RADIUS 4. Les failles 5. Conclusion Les types de paquets existants : 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. Podmilsak 802.1x 11/27 Audric
Les types de paquets ajoutés par la norme 802.1x : 1. 802.1x ? 2. EAP 3. RADIUS 4. Les failles 5. Conclusion Les types de paquets ajoutés par la norme 802.1x : EAPoL-Start : qui permet au client d’alerter le contrôleur d’accès qu’il souhaite se connecter. EAPoL-Packet : Paquet qui encapsule les paquets EAP. EAPoL-Key : Paquet qui permet l’échange de clé de cryptage. EAPoL-Logoff : permet d’amorcer la fermeture de session. Podmilsak 802.1x 12/27 Audric
Remote Authentication Dial In User Service 1. 802.1x ? 2. EAP 3. RADIUS 4. Les failles 5. Conclusion Remote Authentication Dial In User Service Podmilsak 802.1x 13/27 Audric
Protocole qui permet de centraliser les données d’authentification. 1. 802.1x ? 2. EAP 3. RADIUS 4. Les failles 5. Conclusion Protocole qui permet de centraliser les données d’authentification. Radius répond au modèle AAA: Authentication Authorization Accounting Au dessus de la couche de transport UDP. Authentication : authentifier l’identité du client. Authorization : accorder des droits au client Accounting : enregistrer les données de comptabilité de l’usage du réseau par le client Au dessus de la couche de transport UDP, sur les ports 1812 et 1813. Podmilsak 802.1x 14/27 Audric
Pour l’authentification il y a quatre type de paquets : 1. 802.1x ? 2. EAP 3. RADIUS 4. Les failles 5. Conclusion Pour l’authentification il y a quatre type de paquets : Access-Request : envoyé par le contrôleur d’accès, contenant les informations sur le client(login/mot de passe, ...). Access-Accept : envoyé par le serveur dans le cas où l’authentification est un succès. Access-Reject : envoyé par le serveur dans le cas où l’authentification est un échec, ou si il souhaite fermer la connection Access-Challenge : envoyé par le serveur pour demander des informations complémentaires, et donc la réemission d’un paquet Access-Request. Les paquets contiennent un champs qui permet au NAS comme au server RADIUS de s’assurer qu’il s’agit bien du bon en face Et ce grâce à un secret partagé (il me semble) Podmilsak 802.1x 15/27 Audric
Le champs attributs du paquet peut en contenir plusieurs. 1. 802.1x ? 2. EAP 3. RADIUS 4. Les failles 5. Conclusion Les attributs des paquets RADIUS sont sous la forme de paire attributs-valeurs. Le champs attributs du paquet peut en contenir plusieurs. Les attributs utiles dans le cadre de l’authentification sont : User-Name, User-Password, NAS-IP-Address, NAS-Port, Called-Station-Id et Calling-Station-Id User-Name : Envoyé par le NAS, contient id => point d’entrée ds la base de donnée du RADIUS User-Password : MDP associé a user-name NAS-IP-Address : adress IP du NAS communiquant avec le client, permet vérif... NAS-Port : port du NAS SWITCH => port du switch sur lequel est branché client AP => pas de sens car le port est virtuel (généré par l AP pdt association ac le client) Called-Station-Id : address MAC du NAS, permet authent dun poste en fction de lequipemen sur lequel il é connecté Calling-Station-Id : address MAC du client, pourra etre utilisé pour l’authent... Podmilsak 802.1x 16/27 Audric
1. 802.1x ? 2. EAP 3. RADIUS 4. Les failles 5. Conclusion Les failles de 802.1x Podmilsak 802.1x 17/27 Audric
Attaque de la méthode d’authentification. 1. 802.1x ? 2. EAP 3. RADIUS 4. Les failles 5. Conclusion Le protocole possèdent quelques failles, qui sont néanmoins bien identifiées et évitables : Attaque de la méthode d’authentification. Attaque de la session, une fois l’authentification établie. Attaque du “Man in the middle”, entre le point d’accès et le client. Podmilsak 802.1x 18/27 Audric
Les attaques sur les méthodes d’authentification : 1. 802.1x ? 2. EAP 3. RADIUS 4. Les failles 5. Conclusion Les attaques sur les méthodes d’authentification : Une attaque par dictionnaire hors-ligne : contre EAP MD5. La solution : utiliser une méthode plus efficace (TLS, PEAP) Une attaque par dictionnaire en ligne : contre EAP PEAP/TTLS. La solution : configurer le serveur pour bloquer les adresses IP après plusieurs tentatives en échec consécutives. Eap md5 : ecoute identification complète : on connait hash et défi, ensuite on recherche le mdp de manière hors ligne grace a une recherche par dictionnaire, ne fois trouvé on soumet une requete authent au serveur et c joué CONTRE : mdp complexes Donc pas de MD5 EN WIFI Attaque par dictionnaire en ligne n’est pas vraiment dangereuse, car on Podmilsak 802.1x 19/27 Audric
L’attaque sur la session : EAP seul ne protège pas la session. 1. 802.1x ? 2. EAP 3. RADIUS 4. Les failles 5. Conclusion L’attaque sur la session : EAP seul ne protège pas la session. Le contrôleur d’accès se contente de vérifier l’adresse MAC. Dans le cas d’une communication wifi : mettre en place un tunnel, à l’aide de WPA ou WPA2 par exemple. Une fois l’authentification établie, le trafic entre le contrôleur et le client n’est pas chiffré. De plus le contrôleur d’accès ne vérifie l’identité du client que par son adresse MAC. Il est donc possible d’usurper l’identité du client en prenant son adresse MAC. Podmilsak 802.1x 20/27 Audric
L’attaque du “Man in the middle” : 1. 802.1x ? 2. EAP 3. RADIUS 4. Les failles 5. Conclusion L’attaque du “Man in the middle” : Attaque facile à réaliser dans le cas d’une communication wifi. Contrable en mettant en place un tunnel, WPA WPA2. Problème pour EAP-PEAP et EAP-TTLS. Il faut s’assurer que les clients vérifient bien les certificats. Access point configuré avec le meme SSID que l’AP légitime On peut contrer cela en mettant en place un tunnel, notamment à l’aide de WPA ou WPA2. Problème supplémentaire pour PEAP et TTLS, car pour ces authent le client doit valider le certificat du serveur pour créer un tunnel dans lequel se fera l’authentification. Un AP pirate pourrait lorsqu’il recoit une demande d’un client envoyé un faux certificat et établir le tunnel avec le client, il lui suffira ensuite d’effectuer une demande en tant que client au vrai serveur de créer un tunnel TLS et ensuite de faier transiter les info entre le client et le serveur… Non seulement le pirate est voit tout transiter mais en plus il peut effectuer une attaque sur la méthode d’authent utiliser au sein du tunnel et récup les infos (mdp…) Pour contrer cela il faut s’assurer que les clients ne valident pas n’importe quel certificats sans les vérifier… Podmilsak 802.1x 21/27 Audric
Utiliser en priorité EAP-TLS, EAP-PEAP ou EAP-TTLS. 1. 802.1x ? 2. EAP 3. RADIUS 4. Les failles 5. Conclusion Pour pallier à toutes ces failles on peut effectuer les actions suivantes : Utiliser en priorité EAP-TLS, EAP-PEAP ou EAP-TTLS. Mettre en place un tunnel chiffré entre le point d’accès et le client (WPA ou WPA2) dans le cas du wifi. Avertir les utilisateurs pour la vérification des certificats. Podmilsak 802.1x 22/27 Audric
Conclusion 1. 802.1x ? 2. EAP 3. RADIUS 4. Les failles 5. Conclusion Podmilsak 802.1x 23/27 Audric
Assure l’authentification sur un réseau filaire ou sans-fil. 1. 802.1x ? 2. EAP 3. RADIUS 4. Les failles 5. Conclusion Assure l’authentification sur un réseau filaire ou sans-fil. Un peu lourd à mettre en place. Quelques précautions à prendre du point de vue de la sécurité. Lourd : serveur RADIUS, controleur d’accès, (client RADIUS) Certificat sur serveur (voir client TLS) Précaution : en wifi ne pas oublie de chiffrer la comm une fois l’authent réalisée choix de la méthode d’authentification, dailleurs voici un rappel …. Podmilsak 802.1x 24/27 Audric
Méthode d’authentification Caractéristiques EAP-MD5 Login/password 1. 802.1x ? 2. EAP 3. RADIUS 4. Les failles 5. Conclusion Type d’EAP Méthode d’authentification Caractéristiques EAP-MD5 Login/password Facile à implémenter Supporté par la plupart des serveurs Attaquable par dictionnaire hors-ligne Pas d’authentification mutuelle EAP-TLS Certificat Utilisation de certificats par le client et le serveur, de ce fait création d’un tunnel sur. Authentification mutuelle entre le client et serveur Lourd à mettre en place à cause des certificats coté client. EAP-PEAP EAP-TTLS Et certificat Création d’un tunnel TLS Moins lourd que EAP-TLS, car pas de certificat du coté client. Moins sur que EAP-TLS, car pas de certificat du côté client. Podmilsak 802.1x 25/27 Audric
WiFi Déploiement et sécurité, 2ème édition de Aurélien Géron Source Authentification réseau avec Radius – 802.1x EAP FreeRadius de Serge Bordères WiFi Déploiement et sécurité, 2ème édition de Aurélien Géron Wikipédia Podmilsak 802.1x 26/27 Audric
Merci de votre attention Podmilsak 802.1x 27/27 Audric