J'installe un réseau sans fil pour environ 150 utilisateurs. En bref, je cherche un guide pour configurer le serveur RADIUS pour authentifier WPA2 contre un LDAP. Sur Ubuntu.
- J'ai obtenu un LDAP fonctionnel, mais comme il n'est pas utilisé en production, il peut très facilement être adapté aux changements que ce projet peut nécessiter.
- J'ai regardé FreeRADIUS, mais n'importe quel serveur RADIUS fera l'affaire.
- Nous avons un réseau physique séparé juste pour le WiFi, donc pas trop de soucis de sécurité sur ce front.
- Nos points d'accès sont des produits d'entreprise bas de gamme de HP - ils semblent prendre en charge tout ce que vous pouvez penser.
- Tous les serveurs Ubuntu, bébé!
Et la mauvaise nouvelle:
- Je suis maintenant quelqu'un de moins bien informé que moi qui finira par prendre en charge l'administration, donc la configuration doit être aussi "triviale" que possible.
- Jusqu'à présent, notre configuration est basée uniquement sur les logiciels des référentiels Ubuntu, à l'exception de notre application Web d'administration LDAP et de quelques petits scripts spéciaux. Donc pas de "récupérer le package X, untar, ./configure"-things si évitable.
MISE À JOUR 2009-08-18:
Bien que j'aie trouvé plusieurs ressources utiles, il y a un sérieux obstacle:
Ignoring EAP-Type/tls because we do not have OpenSSL support.
Ignoring EAP-Type/ttls because we do not have OpenSSL support.
Ignoring EAP-Type/peap because we do not have OpenSSL support.
Fondamentalement, la version Ubuntu de FreeRADIUS ne prend pas en charge SSL ( bug 183840 ), ce qui rend tous les types EAP sécurisés inutiles. Bummer.
Mais une documentation utile pour toute personne intéressée:
- http://vuksan.com/linux/dot1x/802-1x-LDAP.html
- http://tldp.org/HOWTO/html_single/8021X-HOWTO/#confradius
MISE À JOUR 2009-08-19:
J'ai fini par compiler mon propre package FreeRADIUS hier soir - il y a une très bonne recette sur http://www.linuxinsight.com/building-debian-freeradius-package-with-eap-tls-ttls-peap-support.html (voir les commentaires à la poste pour des instructions mises à jour).
J'ai obtenu un certificat de http://CACert.org (vous devriez probablement obtenir un "vrai" certificat si possible)
Ensuite, j'ai suivi les instructions sur http://vuksan.com/linux/dot1x/802-1x-LDAP.html . Ce lien renvoie à http://tldp.org/HOWTO/html_single/8021X-HOWTO/ , qui est une lecture très intéressante si vous voulez savoir comment fonctionne la sécurité WiFi.
MISE À JOUR 2009-08-27:
Après avoir suivi le guide ci-dessus, j'ai réussi à faire parler FreeRADIUS à LDAP:
J'ai créé un utilisateur de test dans LDAP, avec le mot de passe mr2Yx36M
- cela donne une entrée LDAP à peu près de:
uid: testuser
sambaLMPassword: CF3D6F8A92967E0FE72C57EF50F76A05
sambaNTPassword: DA44187ECA97B7C14A22F29F52BEBD90
userPassword: {SSHA}Z0SwaKO5tuGxgxtceRDjiDGFy6bRL6ja
Lors de l'utilisation radtest
, je peux me connecter correctement:
> radtest testuser "mr2Yx36N" sbhr.dk 0 radius-private-password
Sending Access-Request of id 215 to 130.225.235.6 port 1812
User-Name = "msiebuhr"
User-Password = "mr2Yx36N"
NAS-IP-Address = 127.0.1.1
NAS-Port = 0
rad_recv: Access-Accept packet from host 130.225.235.6 port 1812, id=215, length=20
>
Mais quand j'essaye à travers l'AP, il ne vole pas - alors qu'il confirme qu'il comprend les mots de passe NT et LM:
...
rlm_ldap: sambaNTPassword -> NT-Password == 0x4441343431383745434139374237433134413232463239463532424542443930
rlm_ldap: sambaLMPassword -> LM-Password == 0x4346334436463841393239363745304645373243353745463530463736413035
[ldap] looking for reply items in directory...
WARNING: No "known good" password was found in LDAP. Are you sure that the user is configured correctly?
[ldap] user testuser authorized to use remote access
rlm_ldap: ldap_release_conn: Release Id: 0
++[ldap] returns ok
++[expiration] returns noop
++[logintime] returns noop
[pap] Normalizing NT-Password from hex encoding
[pap] Normalizing LM-Password from hex encoding
...
Il est clair que les mots de passe NT et LM diffèrent des précédents, mais le message [ldap] user testuser authorized to use remote access
- et l'utilisateur est rejeté plus tard ...