Estoy configurando una red inalámbrica para ~ 150 usuarios. En resumen, estoy buscando una guía para configurar el servidor RADIUS para autenticar WPA2 contra un LDAP. En Ubuntu
- Obtuve un LDAP que funciona, pero como no está en uso en producción, puede adaptarse fácilmente a cualquier cambio que pueda requerir este proyecto.
- He estado mirando FreeRADIUS, pero cualquier servidor RADIUS funcionará.
- Tenemos una red física separada solo para WiFi, por lo que no hay demasiadas preocupaciones sobre la seguridad en ese frente.
- Nuestros AP son cosas empresariales de gama baja de HP: parecen admitir todo lo que se te ocurra.
- Todo el servidor de Ubuntu, bebé!
Y las malas noticias:
- Ahora, alguien con menos conocimiento que yo eventualmente se hará cargo de la administración, por lo que la configuración debe ser lo más "trivial" posible.
- Hasta ahora, nuestra configuración se basa únicamente en el software de los repositorios de Ubuntu, con excepción de nuestra aplicación web de administración LDAP y algunos pequeños scripts especiales. Por lo tanto, no "buscar el paquete X, deshacer, ./configure"-things si es evitable.
ACTUALIZACIÓN 2009-08-18:
Si bien encontré varios recursos útiles, hay un obstáculo serio:
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.
Básicamente, la versión de Ubuntu de FreeRADIUS no es compatible con SSL ( error 183840 ), lo que hace que todos los tipos de EAP seguros sean inútiles. Gorrón.
Pero alguna documentación útil para cualquier persona interesada:
- http://vuksan.com/linux/dot1x/802-1x-LDAP.html
- http://tldp.org/HOWTO/html_single/8021X-HOWTO/#confradius
ACTUALIZACIÓN 2009-08-19:
Terminé compilando mi propio paquete FreeRADIUS ayer por la noche: hay una muy buena receta en http://www.linuxinsight.com/building-debian-freeradius-package-with-eap-tls-ttls-peap-support.html (Ver los comentarios a la publicación para obtener instrucciones actualizadas).
Obtuve un certificado de http://CACert.org (probablemente debería obtener un certificado "real" si es posible)
Luego seguí las instrucciones en http://vuksan.com/linux/dot1x/802-1x-LDAP.html . Esto enlaza con http://tldp.org/HOWTO/html_single/8021X-HOWTO/ , que es una lectura que vale la pena si quieres saber cómo funciona la seguridad WiFi.
ACTUALIZACIÓN 2009-08-27:
Después de seguir la guía anterior, he logrado que FreeRADIUS hable con LDAP:
He creado un usuario de prueba en LDAP, con la contraseña mr2Yx36M
; esto proporciona una entrada de LDAP aproximadamente de:
uid: testuser
sambaLMPassword: CF3D6F8A92967E0FE72C57EF50F76A05
sambaNTPassword: DA44187ECA97B7C14A22F29F52BEBD90
userPassword: {SSHA}Z0SwaKO5tuGxgxtceRDjiDGFy6bRL6ja
Cuando lo uso radtest
, puedo conectarme bien:
> 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
>
Pero cuando intento a través del AP, no vuela, mientras que confirma que descubre las contraseñas NT y 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
...
Está claro que las contraseñas NT y LM difieren de las anteriores, pero el mensaje [ldap] user testuser authorized to use remote access
, y el usuario luego es rechazado ...