Dans le chapitre précédent, nous avons vu les 3 points importants sur la sécurité WiFi :
- Authentification : il faut que le réseau identifie les entités qui souhaitent utiliser le WiFi
- Chiffrement : il faut chiffrer les données WiFi pour les rendre illisibles car l’interception de trames WiFi est très facile à faire et très difficile à identifier et à géo-localiser
- Disponibilité : il faut protéger l’infrastructure contre les attaques extérieures car aussi relativement facile à faire
Regardons en détail chacun de ces points, attention c’est un article long, voir très long mais passionnant 🙂
Historique
La sécurité pour le WiFi a évolué avec le temps, allant du paramétrage d’une simple clé WEP, au WPA pour aboutir à ce jour au WPA2.
Nous allons détailler cette évolution pour en comprendre la finalité.
Filtrage par adresse MAC
Tout d’abord, pour sécuriser son réseau WLAN, il est tout à fait possible de définir au sein de la borne WiFi une liste « blanche » d’adresses MAC autorisées. On dit liste « blanche » pour une liste contenant des adresses MAC légitimes. A contrario, une liste « noire » contiendra des adresses qui seront considérées comme illégitimes et donc à interdire. D’où le terme de site web Blacklisté car peu recommandable.
Vous remplissez cette liste blanche de toutes les adresses MAC des cartes Wifi de vos ordinateurs portables, Iphone, Android, Ipad, tablettes… uniquement ces adresses MAC auront le droit de communiquer avec la borne Wifi. C’est aussi simple que ça !
Quels sont les inconvénients de cette liste blanche ?
J’en vois deux importants :
- il faut identifier toutes les adresses MAC qui seront autorisées. Simple pour chez soi mais très dur à établir pour une entreprise qui intègre des centaines voir des milliers d’équipements !
- sans communiquer directement avec la borne d’accès, un pirate peut écouter le trafic WiFi qui transite dans les airs. En écoutant ce trafic, il peut récupérer assez facilement les adresses MAC qui discutent avec la borne d’accès Il connait alors une adresse MAC qui appartient à la liste blanche. Que va-t-il faire avec ? Il va usurper cette adresse MAC en la configurant sur sa propre carte WiFi en utilisant un logiciel spécifique qui permet de changer l’adresse MAC de sa carte réseau WiFi (cf photo ci dessous):
Cacher le SSID
Sur certains bornes WiFi, vous avez la possibilité de cacher le SSID.
SSID, kezako ? Le SSID – Service Set IDentifier – est l’identifiant de votre WLAN. Lorsque vous souhaitez vous connecter à un WLAN, votre carte WiFI vous affiche différents WLAN qui sont dans les alentours. Le nom de chacun est appelé SSID. Et ce SSID est diffusé régulièrement dans les airs par la borne pour avertir sa présence. Ce SSID est contenu dans un message WiFi appelé un « Beacon » (ou « Balise » en français).
Vous pouvez activer une option pour que le SSID ne soit pas diffusé dans les airs. Donc uniquement ceux qui connaissent exactement le nom de votre WLAN peuvent se connecter en configurant manuellement le SSID dans leur ordinateur portable.
Dans les contrôleurs WiFi de Cisco, cette option est appelée « Broadcast SSID » et il faut la décocher comme sur l’image de droite.
Pour configurer un WLAN sur son ordinateur lorsque le SSID est caché, sélectionnez « Manually create a network Profile » (exemple sur Windows Seven anglais)
Puis dans « Network Name » entrez le nom de votre SSID. Si vous avez des paramètres de sécurité (WEP, WPA…), vous devez aussi les configurer.
Si je cache mon SSID alors suis-je vraiment sécurisé ?
Et bien pas du tout ! 🙂
Cacher son SSID permet de cacher votre WLAN pour la majorité des personnes novices en WiFi et c’est déjà pas mal !
En utilisant un sniffeur comme Wireshark, vous pouvez récupérer les trames échangées entre un client légitime et une borne d’accès. Et au sein de ces trames se trouve la valeur du SSID. Donc en cherchant un peu, vous trouverez très rapidement la valeur SSID du réseau qui se veut être invisible 🙂
Il ne vous reste plus qu’a configurer manuellement le WLAN sur votre ordinateur comme explique dans les images ci-dessus.
Sécurisation WEP
On a une possibilité pour retreindre l’accès à la borne Wifi ainsi que de rendre les communications illisibles entre clients légitimes et la borne d’accès : c’est l’utilisation du chiffrement.
Si on définit un mot de passe commun entre les clients et la borne d’accès alors seuls les clients qui connaissent le mot de passe peuvent transiter par la borne WiFi. Ce même mot de passe va être utilisé pour chiffrer les trames WiFi pour les rendre illisibles pendant le transport dans les airs.
La première application de cette notion de chiffrement pour le WLAN s’appelle la clé WEP – Wired Equivalency Privacy. On définit un mot de passe qu’on appelle (à tort) clé WEP et on la configure sur la borne d’accès et sur les clients WiFi. Lors de la communication, seuls ceux qui ont la bonne clé WEP sont acceptés par la borne.
Pour reprendre l’exemple de la porte d’une maison, c’est comme si la borne d’accès était la porte de maison et la clé WEP était la clé de la serrure, vous distribuez la clé de la serrure à chaque client légitime. Celui qui n’a pas cette clé ne peut pas ouvrir la porte. Logique et efficace ! Même si on va voir que ce n’est plus aujourd’hui une bonne solution de sécurité.
Remarque : beaucoup d’administrateurs ont la flegme de retenir le mot de passe alors il arrive que la clé WEP soit inscris sur le dos de la borne Wifi ou sur un post-it 🙂
Si on fait un schéma simplifié du fonctionnement du chiffrement utilisé pour une clé WEP, ce serait le suivant :
Explications du schéma :
- clé secrète : c’est ici que vous définissez votre mot de passe
- IV pour Vecteur d’Initialisation : pour ajouter un peu plus de complexité à votre mot de passe, l’ordinateur concatène à la clé secrète un nombre aléatoire qui est calculé automatiquement
- Générateur : l’algorithme (ici RC4) va générer à partir de la clé secrète et de l’IV une séquence de clé. Dites vous que c’est un méga mot de passe 🙂
- Données utilisateur : ici se trouve les données utilisateur (la trame Ethernet) à transférer dans les airs
- XOR : c’est la fonction logique « OU exclusif » qui prend la séquence de clé et les données utilisateur et effectue un XOR entre eux
- Le résultat de ce XOR donne un message binaire dit « chiffré » car incompréhensible
- [séquence de clé] XOR [message en clair] = message chiffré
- [séquence de clé] XOR [message chiffré] = message en clair
Donc pour résumer :
- le chiffrement WEP est un protocole chargé du chiffrement des trames et utilise l” algorithme symétrique RC4
- la clé secrète a une longueur de 40 ou 104 bits.
- Cette clé secrète doit être déclarée au niveau du point d’accès et des clients
- A cela s’ajoute 24 bits d’IV (d’où le fait que l’on voit souvent dans les configuration, clé WEP de 40+24=64 bits ou 104+24=128 bits)
Avant de parler du chiffrement WPA et WPA2, il faut s’arrêter sur une méthode d’authentification qui est inclue dans ces deux chiffrement : c’est le standard 802.1x
Authentification 802.1x
Le standard 802.1x est une solution de sécurisation, mise au point par l’IEEE en juin 2001, permettant d’authentifier (identifier) un utilisateur souhaitant accéder à un réseau (filaire ou WiFi) grâce à un serveur d’authentification. Ce serveur est souvent appelé Serveur RADIUS. De plus cette authentification est mutuelle dans le sens où le client identifie aussi le réseau dans lequel il entre.
Quand vous allez à la banque, vous allez dans une agence de votre banque et pas dans une agence d’une autre banque, c’est pareil ici.
Car en fonction de votre infrastructure, vous allez peut être vouloir mettre en place une authentification des utilisateurs par un mot de passe, par des certificats numériques, par des Token… ce sont des protocoles EAP différents qui seront utilisés en fonction du mode d’authentification souhaité :
- EAP-LEAP
- EAP-FAST
- EAP-PEAP
- EAP-TLS
- …
En cliquant sur l’image de droite pour l’agrandir, on peut voir la configuration d’une carte WiFi en EAP-PEAP. En fonction du type d’authentification, vous choisissez tel ou tel protocole EAP.
Fonctionnement du 802.1x
Le fonctionnement du standard 802.1x est en fait très simple malgré son nom barbare :
- Le client (votre ordinateur portable) se connecte en WiFi à la borne d’accès
- Cette borne d’accès est configurée pour appliquer le standard 802.1x via le protocole EAP, la borne vous demande de rentrer vos identifiants
- Dans la fenêtre Windows qui s’est affichée, vous entrez vos identifiants (par exemple : login = cyril et mode passe = toto)
- Une fois que la borne a reçue vos identifiants, elle les transmet à un serveur d’authentification, dit serveur RADIUS
- C’est ce serveur qui va valider ou non vos identifiants. Supposons qu’il accepte vos identifiants, il avertit la borne d’accès qu’elle peut vous autoriser à entrer dans le réseau
- Vous avez désormais accès au réseau et vous pouvez surfer sur l’intranet et l’internet 🙂
- Après un vol international, vous débarquez de l’avion et arrivez au contrôle d’immigration
- la personne vous demande de vous identifier en vous demandant votre passeport, que vous lui donnez
- elle scan le passeport, votre identité est transmise à un serveur qui vérifie si vous n’êtes pas sur une liste noire
- il vous rend le passeport et vous entrez officiellement dans le pays
- le client (supplicant en anglais): c’est votre ordinateur portable qui souhaite accéder au réseau (ou vous qui descendez de l’avion)
- la borne d’accès (authenticator en anglais): elle va vous demander de vous identifier afin de laisser vos trames transiter dans le réseau (c’est la personne du contrôle d’immigration)
- le serveur d’authentification Radius (authentication server en anglais): c’est le serveur qui décide si vous avez le droit ou non d’utiliser le réseau (c’est le serveur de la douane avec sa liste noire)
Sécurisation WPA
- le 802.1x pour l’authentification (mais reste optionnel)
- l’algorithme de chiffrement TKIP (Temporary Key Integrity Protocol), plus robuste que l’algorithme RC4 du WEP. Il permet la génération aléatoire de clés et offre la possibilité de modifier la clé de chiffrement plusieurs fois pour une sécurité plus forte.
- Mode Personnel : dans ce mode, on définit un mot de passe partagé entre le client et la borne d’accès, ce mot de passe s’appelle PSK pour Pre-Shared Key. C’est quasiment le même principe que la clé WEP mais avec un algorithme plus puissant. Pas besoin d’un serveur Radius.
- Mode Entreprise : dans ce mode, on utilise le standard 802.1x donc la mise en place d’un serveur Radius est nécessaire.
Sécurisation WPA2
La Wi-Fi Alliance a alors créé une nouvelle sécurisation baptisée WPA2 pour les nouveaux matériels supportant le standard 802.11i.
Et comme pour le WPA, on peut l’utiliser selon que l’on souhaite mettre en place un serveur Radius ou non pour l’authentification 802.1x :
- Mode Personnel : utilisation d’un PSK
- Mode Entreprise : utilisation du 802.11x donc d’un serveur Radius
Résumé WPA et WPA2
Sécurisation W‑IDS
- les bornes pirate qui se font passer pour une borne légitime
- les demandes excessives d’association de client sur une borne d’accès (le fameux jeune saoul qui essai tant bien que mal de rentrer en discothèque).
- les attaques MITM – Man In The Middle dont la philosophie est pour le pirate d’être au milieu d’une communication entre un client légitime et la borne d’accès
- l’usurpation d’adresse MAC
- les dénis de service contre les bornes d’accès
- …
- effectuer un déni de service contre une borne pirate (la revanche de la contre-attaque!)
- mettre en liste noire (blacklist) l’adresse MAC d’un client pirate
- réduire la couverture Wifi pour interdire que les voisins voit le réseau Wifi
- …
Conclusion
La sécurité pour le Wifi est importante du fait que n’importe qui peut analyser les trames niveau 2, il faut alors protéger son infrastructure sans-fil selon les principes suivants :
- le filtrage par adresse MAC est facilement contournable
- cacher le SSID ne sert strictement à rien car en analysant le trafic, on le retrouve en clair dans les trames Wifi
- la sécurisation WEP est aujourd’hui à bannir car cassable en quelques minutes avec n’importe quel portable
- l’authentification 802.1x est aujourd’hui recommandée pour une authentification mutuelle (serveur radius et client) et utilise des protocoles dit EAP : EAP-PEAP, EAP-Fast…
- la sécurisation WPA est une solution temporaire qui utilise l’authentification robuste 802.1x mais un chiffrement pas optimal
- la sécurisation WPA2 qui suit la norme 802.11i est la solution optimale
- la protection contre les attaques extérieures par la mise en place de W‑IDS
Franchement bravo pour ton site et tes explications claires et nettes. Elles permettent à un débutant d’aborder le WiFi dans les meilleures conditions. Franchement continue comme ça ! J’ai vraiment hâte de lire tes chapitres sur les normes 802.11n et 802.11ac.
Du coup je lis tous les autres articles et j’apprends encore plein de choses !!
Bonjour,
Merci pour ton commentaire, la suite arrive bientôt !