Que fait le serveur RADIUS dans une configuration WPA2 Enterprise?

17

Je voudrais faire passer mon WiFi du mode "WPA2 Personal" au mode "WPA2 Enterprise" car je sais qu'en principe, sur un WiFi sécurisé avec "WPA2 Personal", les appareils qui connaissent le PSK peuvent flairer le trafic de l'autre une fois capturés l'association entre la gare et l'AP. Afin de réduire l'effet qu'un seul appareil compromis sur le WiFi aurait (en mode "WPA2 Personal", il serait capable de décrypter le trafic d'un autre client WiFi sans compromis, s'il avait auparavant capturé les "requêtes associées" de l'autre clients en mode promiscuous / moniteur) Je voudrais mettre à niveau mon WiFi vers la sécurité "WPA2 Enterprise", où, selon ma compréhension, ce n'est plus possible.

Maintenant, malheureusement, pour "WPA2 Enterprise", vous avez besoin d'un serveur RADIUS.

Maintenant, pour autant que je sache, le serveur RADIUS n'effectue que l'authentification, mais n'effectue pas de chiffrement ou d'échange de matériel clé. Donc, fondamentalement, un AP reçoit une demande d'association d'une STA, le client fournit des informations d'identification, puis l'AP les transmet au serveur RADIUS, le serveur RADIUS dit "les informations d'identification sont OK", puis l'AP permet à la STA de s'associer, sinon non.

Est-ce le bon modèle? Si tel est le cas, le serveur RADIUS n'est rien d'autre qu'une base de données remplie d'informations d'identification utilisateur (paires nom d'utilisateur et mot de passe). Si tel est le cas, je suis curieux de savoir pourquoi ils ont besoin d'une machine serveur à part entière pour cela, car, même pour des milliers d'utilisateurs, les noms d'utilisateur et les mots de passe ne sont pas beaucoup de données à stocker et la vérification des informations d'identification est une tâche assez basique, il semble donc que c'est une chose qui pourrait également être facilement effectuée par l'AP lui-même. Alors pourquoi avoir besoin d'un serveur dédié pour cela?

Alors peut-être que je me suis trompé et que le serveur RADIUS n'est pas seulement utilisé pour l'authentification, mais pour le cryptage réel? Si un STA envoie des données à un réseau en utilisant "WPA2 Enterprise", il les crypte avec une clé de session, puis l'AP reçoit les données cryptées, mais, contrairement à "WPA2 Personal", il ne peut pas les décrypter, il transmet donc les données sur au serveur RADIUS, qui possède le matériel clé (et la puissance de calcul) pour le déchiffrer. Une fois que le RADIUS a obtenu le texte clair, il retransmet ensuite le matériel non chiffré sur le réseau câblé. Est-ce ainsi que cela se fait?

La raison pour laquelle je veux savoir ceci est la suivante. J'ai un appareil assez ancien ici, qui a un serveur RADIUS en cours d'exécution. Mais, comme je l'ai dit, l'appareil est assez ancien et implémente donc une ancienne version de RADIUS avec des failles de sécurité connues. J'aimerais maintenant savoir si cela compromettrait ma sécurité WiFi s'il était utilisé pour le chiffrement en mode "WPA2 Enterprise". Si un attaquant peut parler au serveur RADIUS lorsqu'il n'est pas authentifié, cela pourrait compromettre la sécurité de mon réseau, donc je ne devrais pas le faire. D'un autre côté, si l'attaquant ne peut que parler à l'AP, qui à son tour parle au serveur RADIUS pour vérifier les informations d'identification, alors un "serveur RADIUS vulnérable" pourrait ne pas poser beaucoup de problème, car l'attaquant n'obtiendrait pas dans le réseau WiFi, et ne serait donc pas en mesure de parler au serveur RADIUS, en premier lieu. Le seul périphérique parlant au serveur RADIUS serait l'AP lui-même, pour vérifier les informations d'identification, avec tout le matériel clé généré et la cryptographie effectuée sur l'AP (sans compromis) lui-même. L'attaquant serait révoqué et ne serait donc pas en mesure de rejoindre le réseau et d'exploiter les faiblesses du serveur RADIUS potentiellement vulnérable.

Alors, comment le serveur RADIUS est-il impliqué dans la sécurité "WPA2 Enterprise"?

no.human.being
la source

Réponses:

16

WPA2 Enterprise est basé sur des parties de 802.11i basées sur 802.1X. 802.1X ne nécessite PAS de serveur RADIUS, mais c'est ainsi que cela est généralement fait pour des raisons héritées.

Le rôle du serveur RADIUS n'est qu'au début de la connexion, mais il fait une petite chose de plus que vous l'avez mentionné. Dans le cadre du mécanisme d'authentification, le matériel de clé est généré en toute sécurité sur le serveur RADIUS (et le même matériel de clé est également généré sur le client WPA2). Après que le serveur RADIUS a dit à l'AP d'accepter cette demande de connexion, le serveur RADIUS envoie ce matériel de clé dans un message de "clé" RADIUS (ils ont réutilisé un message / attribut RADIUS MPPE-KEY que Microsoft avait lancé) à l'AP, donc l'AP sait quelles clés par utilisateur et par session (y compris la clé temporelle par paire ou PTK) utiliser pour cette session. Cela met fin à l'implication du serveur RADIUS.

Vous avez tout à fait raison de dire qu'il ne faut vraiment pas beaucoup de puissance pour exécuter un serveur RADIUS. Tout comme un serveur DHCP ou un serveur DNS pour un petit réseau ou domaine, vous n'avez vraiment pas besoin de matériel de "classe serveur" pour l'exécuter. Probablement n'importe quel petit boîtier réseau intégré de faible puissance fera l'affaire. Il existe de nombreux protocoles dans les réseaux modernes où l'extrémité "serveur" ne nécessite pas beaucoup de puissance par rapport aux normes actuelles. Juste parce que vous entendez le terme "serveur", ne supposez pas qu'il nécessite un matériel serveur robuste.


Passé

Vous voyez, RADIUS était à l'origine un moyen de déplacer l'authentification de vos serveurs PPP de modem d'accès à distance vers un serveur centralisé. C'est pourquoi il signifie «service d'authentification à distance pour les utilisateurs entrants» (il devrait s'agir de «service d'authentification à distance des utilisateurs entrants», mais DIURAS ne sonne pas aussi bien que RADIUS). Lorsque PPP a commencé à être utilisé pour l'authentification DSL (PPPoE, PPPoA) et l'authentification VPN (PPTP et L2TP-sur-IPSec sont tous deux "PPP dans un tunnel crypté"), il était naturel de continuer à utiliser les mêmes serveurs RADIUS pour l'authentification centralisée pour tous les "serveurs d'accès à distance" de votre entreprise.

Les mécanismes d'authentification originaux de PPP manquaient et nécessitaient une grande implication de l'organisme de normalisation pour en créer de nouveaux.Par conséquent, le protocole EAP (Extensible Authentication Protocol) a été créé pour être un système de plug-in de type auth pour l'authentification de type PPP. Naturellement, les serveurs RADIUS et les clients PPP ont été les premiers endroits à prendre en charge EAP. Vous pouvez, bien sûr, avoir votre modem d'accès à distance / serveur PPP, ou votre serveur VPN, ou votre serveur PPPoE / PPPoA (vraiment, L2TP PPP), ou quoi que ce soit, implémenter EAP localement, mais maintenant, RADIUS a été si largement déployé que ce sont surtout les serveurs RADIUS qui l'ont implémenté.

Finalement, quelqu'un voulait un moyen d'exiger l'authentification chaque fois que quelqu'un se connecte à un port Ethernet non protégé dans le hall ou une salle de conférence, donc "EAP over LANs" a été créé pour cela. "EAPoL" comme on l'appelait, a été normalisé en 802.1X. Le 802.1X a ensuite été appliqué aux réseaux 802.11 dans IEEE 802.11i. Et la Wi-Fi Alliance a créé un programme de certification / image de marque / marketing d'interopérabilité autour du 802.11i, et l'a appelé Wi-Fi Protected Access 2 (WPA2).

Ainsi, bien que votre point d'accès 802.11 lui-même puisse remplir à lui seul l'intégralité du rôle "Authentificateur" 802.1X (WPA2-Enterprise) (sans l'aide d'un serveur RADIUS), ce n'est tout simplement pas courant. En fait, dans certains points d'accès capables de faire du 802.1X autonome, ils ont en fait construit et ouvert le serveur RADIUS dans leur micrologiciel, et font l'authentification 802.1X via RADIUS via le bouclage, car il est plus facile de le connecter de cette façon plutôt que d'essayer de implémentez votre propre code d'authentification EAP, ou copiez le code à partir d'un logiciel serveur RADIUS open source et essayez de l'intégrer directement dans les démons liés au 802.11 de votre micrologiciel AP.


Compte tenu de cette trame de fond, et selon l'âge de votre serveur RADIUS proposé, la question importante est de savoir s'il implémente le ou les types EAP que vous souhaitez utiliser pour l'authentification sur votre réseau. PEAP? TTLS?

Notez également que RADIUS utilise traditionnellement un "secret partagé" connu du client RADIUS (le client RADIUS est le "Network Access Server": l'AP dans ce cas, ou un serveur VPN ou PPP ou un autre "Remote Access Server" dans d'autres ) et le serveur RADIUS, pour authentifier le client et le serveur RADIUS l'un sur l'autre, et pour crypter leur communication. La plupart des serveurs RADIUS vous permettent de spécifier différents secrets partagés pour chaque AP, en fonction de l'adresse IP de l'AP. Ainsi, un attaquant sur votre réseau devrait pouvoir prendre le contrôle de cette adresse IP et deviner ce secret partagé, afin que le serveur RADIUS lui parle. Si l'attaquant n'était pas encore sur le réseau, l'attaquant ne pourrait qu'essayer d'envoyer des messages EAP spécialement conçus / corrompus que l'AP relayerait via RADIUS au serveur RADIUS.

Spiff
la source
J'utiliserais probablement EAP-EKE ou alternativement EAP-PWD si je le peux. Tout ce que je veux faire, c'est essentiellement protéger les utilisateurs, qui sont capables de se connecter au réseau, de pouvoir intercepter le trafic des autres. Si WPA2-PSK établissait des "clés de session" via DH, ce serait parfait pour moi, mais malheureusement (pour une raison quelconque), ce n'est pas le cas. Je n'ai besoin d'aucune méthode d'authentification sophistiquée. Tout ce que je veux, c'est empêcher les stations de s'intercepter mutuellement. Pour tout le reste, je suis d'accord avec la sécurité de WPA2-PSK.
no.human.being
@ no.human.being Attention, toutes les méthodes EAP ne prennent pas en charge la création du matériel de saisie nécessaire pour 802.11i / WPA2-Enterprise. Je ne connais pas les deux types que vous avez mentionnés, vous voudrez peut-être vérifier ailleurs pour vous assurer qu'ils conviendront à cette fin.
Spiff
1
Belle écriture. Vous n'avez pas mentionné une raison importante pour laquelle il existe un serveur distinct. Cela ne s'applique pas aux déploiements à domicile, mais c'est une grande partie de «pourquoi cela existe». Dans tout déploiement d'entreprise, les points d'accès ne sont en fait pas fiables, car ils sont situés dans des espaces publics et ne doivent donc contenir aucune information utilisateur. De plus, avec tout type d'EAP qui fournit un tunnel sécurisé au client (PEAP, TTLS, TLS), l'AP ne participe même pas du tout à l'authentification, donc il ne peut pas intercepter les informations d'identification de l'utilisateur même s'il est compromis par quelqu'un avec un ladder :)
Ammo Goettsch
3

WPA Enterprise (WPA avec EAP) vous permet d'avoir de nombreuses autres méthodes d'authentification, comme les certificats numériques, les jetons RSA, etc. Elle doit être implémentée avec un serveur radius, car toutes ces méthodes vont au-delà des simples noms d'utilisateur + mots de passe et le protocole radius est le standard de facto pour la plupart des systèmes nécessitant AAA (authentification, autorisation, comptabilité).

Cela étant dit,

1) le serveur radius peut être facilement protégé par des règles de pare-feu, acceptant uniquement les paquets des points d'accès (le client wifi ne parlera jamais directement au serveur radius)

2) l'utilisation d'un ancien rayon peut ne pas fonctionner, je recommande l'un des derniers serveurs freeradius

Plus de détails sur la façon dont cela fonctionne et ce que vous devez faire: http://wiki.freeradius.org/guide/WPA-HOWTO#Why-Would-I-Want-WPA ?

claudiuf
la source
Ouais. Je pensais juste que je pourrais économiser de l'énergie (et du bruit) en ne mettant pas en place un serveur réel pour RADIUS parce que je n'ai pas besoin de "méthodes d'authentification sophistiquées", j'aimerais juste empêcher les clients sans fil de "se renifler" (ils probablement pas, c'est juste une paranoïa supplémentaire ;-)). Donc, fondamentalement, je veux la confidentialité d'un "réseau commuté" sur le sans fil (qui est un support intrinsèquement diffusé), j'ai donc besoin de clés "par lien" ou "par client" réelles. "WPA2 Enterprise" répondrait probablement à mes besoins. Je pourrais essayer de configurer RADIUS sur une carte embarquée exécutant Linux.
no.human.being
-2

FreeRadius fonctionnera avec plaisir sur un Raspberry PI. Le système d'exploitation habituel est Raspbian qui est une version de Debian - donc il fera tout ce que vous voudrez qu'un serveur fasse, par exemple DHCP / DNS. Il est bon marché - 40 dollars pour une carte nue - mais un budget de 80 ou 90 dollars pour avoir des extras "en option" - comme un boîtier et une alimentation ... Je fais tourner Ray sur un Pi depuis quelques années -24 /sept. Il a également zenmap et Wireshark. Il s'agit d'une plate-forme de création pour essayer des choses car il s'exécute sur une carte SD et vous pouvez copier la carte SD sur votre PC. Essayez quelque chose et restaurez la carte SD à partir de votre PC si vous l'avez ratée.

Sean
la source
2
Cette réponse n'explique pas le rôle d'un serveur RADIUS
janv8000