Estou configurando uma rede sem fio para ~ 150 usuários. Em resumo, estou procurando um guia para configurar o servidor RADIUS para autenticar o WPA2 em um LDAP. No Ubuntu.
- Eu tenho um LDAP funcional, mas como ele não está em uso de produção, ele pode ser facilmente adaptado a quaisquer alterações que este projeto possa exigir.
- Eu estive olhando o FreeRADIUS, mas qualquer servidor RADIUS funcionará.
- Temos uma rede física separada apenas para WiFi, por isso não há muitas preocupações com a segurança nessa frente.
- Nossos APs são coisas empresariais de baixo custo da HP - eles parecem suportar tudo o que você pode imaginar.
- Todo o Ubuntu Server, baby!
E as más notícias:
- Agora, alguém com menos conhecimento que eu acabará assumindo a administração, de modo que a configuração deve ser o mais "trivial" possível.
- Até o momento, nossa configuração é baseada apenas no software dos repositórios Ubuntu, com exceção do aplicativo Web de administração LDAP e de alguns pequenos scripts especiais. Portanto, "não é possível buscar o pacote X, untar, ./configure"-coisas, se possível.
ATUALIZAÇÃO 18-08-2009:
Embora eu tenha encontrado vários recursos úteis, há um sério obstáculo:
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.
Basicamente, a versão Ubuntu do FreeRADIUS não suporta SSL ( bug 183840 ), o que torna inúteis todos os tipos de EAP seguros. Vadio.
Mas alguma documentação útil para qualquer pessoa interessada:
- http://vuksan.com/linux/dot1x/802-1x-LDAP.html
- http://tldp.org/HOWTO/html_single/8021X-HOWTO/#confradius
ATUALIZAÇÃO 19-08-2009:
Acabei compilando meu próprio pacote FreeRADIUS ontem à noite - há uma receita muito boa em http://www.linuxinsight.com/building-debian-freeradius-package-with-eap-tls-ttls-peap-support.html (consulte os comentários à postagem para obter instruções atualizadas).
Eu recebi um certificado em http://CACert.org (você provavelmente deve obter um certificado "real", se possível)
Então segui as instruções em http://vuksan.com/linux/dot1x/802-1x-LDAP.html . Isso está relacionado a http://tldp.org/HOWTO/html_single/8021X-HOWTO/ , que é uma leitura muito útil se você quiser saber como funciona a segurança do Wi-Fi.
ATUALIZAÇÃO 27-08-2009:
Depois de seguir o guia acima, consegui que o FreeRADIUS conversasse com o LDAP:
Eu criei um usuário de teste no LDAP, com a senha mr2Yx36M
- isso fornece uma entrada LDAP aproximadamente de:
uid: testuser
sambaLMPassword: CF3D6F8A92967E0FE72C57EF50F76A05
sambaNTPassword: DA44187ECA97B7C14A22F29F52BEBD90
userPassword: {SSHA}Z0SwaKO5tuGxgxtceRDjiDGFy6bRL6ja
Ao usar radtest
, eu posso conectar bem:
> 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
>
Mas quando eu tento pelo AP, ele não voa - enquanto confirma que descobre as senhas NT e 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
...
É claro que as senhas NT e LM diferem das anteriores, mas a mensagem [ldap] user testuser authorized to use remote access
- e o usuário é posteriormente rejeitado ...