Effectivement, avec l’émergence de l’espionnage informatique et l’apparition du Wardriving, il est désormais difficile d’avoir une confiance totale dans la sécurité des réseaux Wi-Fi, même en utilisant le protocole sécurisé WEP (Wired Equivalent Privacy) et un filtrage au niveau des adresses Mac (Media Access Control Address).
Nous vous proposons donc d’étudier au cours de cet article la mise en place d’une infrastructure Wi-Fi sécurisé WPA (Wi-Fi Protected Access) 802.1X utilisant un serveur Radius et une authentification par certificat (EAP-TLS : Extensible Authentication Protocol-Transport Layer Security).
1. Présentation de WPA et 802.1X
En attendant la nouvelle norme 802.11i en cours d'élaboration, la Wi-Fi Alliance et l'IEEE ont décidé de définir le protocole WPA afin de combler les lacunes du protocole WEP.
Précédemment les réseaux Wi-Fi disposaient de clés WEP fixes, décidées sur les points d’accès.
Mais l'utilisation des clés WEP a révélé deux faiblesses importantes:
L'utilisation d'algorithmes cryptographiques peu développés l'a rendu très vulnérable. Il suffit de quelques heures à un éventuel pirate pour casser les clés utilisées.
Seconde faiblesse, l'impossibilité d'authentifier un ordinateur ou un utilisateur qui se connecterai au réseau.
Afin de pallier au problème de cryptographie, WPA définit deux nouvelles méthodes de chiffrement et de contrôle d'intégrité:
TKIP (Temporal Key Integrity Protocol) : ce protocole a été conçu afin de s'adapter au mieux au matériel existant. Il utilise RC4 comme algorithme de chiffrement , ajoute un contrôle d'intégrité MIC et introduit un mécanisme de gestion des clés (création de clés dynamiques à un intervalle de temps prédéfini)
CCMP (Counter Mode with Cipher Block Chaining Message Authentication Code Protocol) : à priori plus puissant que TKIP, il utilise AES comme algorithme de chiffrement. C'est la solution qui semble se distinguer à long terme. Cependant ce protocole est totalement incompatible avec le matériel actuel.
WPA utilise le protocole 802.1X . Également appelé EAPOL (EAP Over Lan) il est utilisé comme méthode de transport pour l'authentification EAP. C'est est une réponse au besoin d'authentifier les machines ou les utilisateurs connectés sur un réseau local. Il permet donc de transférer les paquets d'authentification vers divers éléments d'un réseau mais offre aussi un mécanisme pour échanger des clés qui vont être utilisées pour chiffrer les communications et en contrôler l'intégrité.
Le protocole 802.1X définit trois catégories d'acteur jouant chacun un rôle différent.
Le supplicant : il s'agit du poste de travail qui demande à accéder au réseau.
L'authenticator : c'est le dispositif Wi-Fi (également client Radius, voir chapitre suivant) fournissant la connexion au réseau. Il supporte deux états, non autorisé et autorisé, mais il ne joue que le rôle de relais dans l'authentification.
Le serveur d'authentification : Il s'agit d'un serveur implémentant une solution Radius
WPA est donc une solution complexe, cependant, un mode spécial de WPA (WPA-PSK : Pre Shared Key) existe également afin de permettre aux particuliers de profiter de cette sécurité sans disposer de serveur d'authentification. La configuration du WPA-PSK commence par la détermination d'une clé statique ou d’une "passphrase" comme pour le WEP. Mais, en utilisant TKIP, WPA-PSK change automatiquement les clés à un intervalle de temps prédéfini.
2. Présentation de l’authentification EAP
Il existe différentes méthodes d'authentification pour EAP (Extensible Authentication Protocol).
Voici les différents méthodes classées de la moins sûre à la plus sûre
EAP-MD5: C’est la plus simple. Le client est authentifié par le serveur en utilisant un mécanisme de défi réponse. Le serveur envoie une valeur aléatoire (le défi), le client concatène à ce défi le mot de passe et en calcule, en utilisant l’algorithme MD5, une empreinte (" hash ") qu’il renvoie au serveur. Le serveur qui connaît le mot de passe calcule sa propre empreinte, compare les deux et en fonction du résultat valide ou non l’authentification. Une écoute du trafic peut dans le cas d’un mot de passe mal choisi, permettre de le retrouver par une attaque par dictionnaire ou par force brute.
LEAP (Lightweight EAP): est un méthode propre à Cisco qui repose sur l'utilisation de secrets partagés pour authentifier mutuellement le serveur et le client. Elle n'utilise aucun certificat et est basé sur l'échange de défi et réponse.
EAP-TTLS (tunneled Transport Secure Layer) : utilise TLS comme un tunnel pour échanger des couples attribut valeur à la manière de RADIUS11 servant à l’authentification. Pratiquement n’importe quelle méthode d’authentification peut être utilisée.
PEAP (Protected EAP): est une méthode très semblable dans ses objectifs et voisine dans la réalisation à EAP-TTLS. Elle est développée par Microsoft. Elle se sert d’un tunnel TLS pour faire circuler de l’EAP. On peut alors utiliser toutes les méthodes d’authentification supportées par EAP.
EAP-TLS(Extensible Authentication Protocol-Transport Layer Security): C’est la plus sûre. Le serveur et le client possèdent chacun leur certificat qui va servir à les authentifier mutuellement. Cela reste relativement contraignant du fait de la nécessité de déployer une infrastructure de gestion de clés. Rappelons que TLS, la version normalisée de SSL (Secure Socket Layer), est un transport sécurisé (chiffrement, authentification mutuelle, contrôle d’intégrité). C’est lui qui est utilisé de façon sous-jacente par HTTPS, la version sécurisée de HTTP, pour sécuriser le Web.
Nous utiliserons donc la méthode EAP-TLS qui propose à ce jour le plus de sécurité.
Avec la méthode EAP-TLS l’authentification du client d'accès peut se faire de différentes façons :
A l’aide d’un certificat personnel associé à la machine, l’authentification a lieu au démarrage de la machine.
A l’aide d’un certificat personnel associé à l’utilisateur, l’authentification a lieu après l’entrée en session (" logon ") de l’utilisateur.
Il est possible de combiner les deux précédentes méthodes. La valeur de la clé de registre "HKEY_LOCAL_MACHINE\Software\Microsoft\EAPOL\Parameters\General\Global\AuthMode" permet de modifier ce comportement :
0 authentification de la machine au démarrage, en cas d’échec authentification de l’utilisateur au logon
1 authentification de la machine au démarrage, puis authentification de l’utilisateur au logon
2 uniquement authentification de la machine
Nous utiliserons des certificats du type X509v3 Extended Key Usage délivrés par le site Web de l'autorité de certification.
3. Présentation de Radius
Le serveur Radius (Remote Authentication Dial-In User Service) a été initialement conçu pour authentifier des connexions par modem (PPP).
Désormais Radius peut être utilisé pour centraliser l'authentification, l'autorisation et la gestion des comptes pour les connexions d'accès à distance, VPN, Wi-Fi...
Il est possible par exemple sous Windows 2003 Server de créer des stratégies d'accès pour autoriser des utilisateurs, des groupes d'utilisateurs, des ordinateurs ou tout autre ressource voulant se connecter au réseau.
Le protocole Radius assure les échanges entre un client Radius (borne d'accès Wi-Fi, authenticator) et le serveur d'authentification. Il s'agit d'un protocole UDP utilisant les ports 1812 pour l'authentification et 1813 pour la comptabilité.
Un environnement Radius est composé :
D’un serveur Radius qui centralise l'authentification, l'autorisation et la gestion des comptes
D’un client Radius, c'est-à-dire un serveur d’accès distant ou une borne d’accès Wi-Fi (authenticator) qui reçoit les demandes d'authentification RADIUS des clients et les retransmet au serveur Radius.
D’un client d’accès à distance ou Wi-Fi (supplicant) équipé de Windows XP, 2000 et certains autres systèmes d’exploitation non Microsoft.
Dans notre cas nous utiliserons une authentification de type EAP-TLS, le protocole Radius ne servira donc qu'à transporter du TLS et définir quel utilisateur ou quel groupe aura accès au réseau.
Nous avons donc tout fait au long de cet article pour mettre en place une infrastructure Wi-Fi la plus sécurisée possible tout en étant compatible avec les exigences des différentes technologies des fabricants.
Vous disposez donc maintenant de la sécurité la plus renforcée pour un réseau sans-fil. Si vous craigniez encore le piratage, il ne vous reste plus qu’à mettre en place des dispositifs de brouillage, mais attention à ne pas détériorer du même coût votre réseau.
De plus cet architecture basée sur un serveur Radius et une authentification de type EAP pourra également vous servir pour mettre en place une politique d’accès distant centralisée et sécurisée .
No Response to "Sécuriser un réseau Wi-Fi avec Windows 2003 Server"
Post a Comment