Temos a seguinte configuração em nossa empresa
- Synology RS812 + hospedagem LDAP, RADIUS, DNS (Versão DSM 5.0-4458 Atualização 2)
- 2 * Cisco Wifi APs WAP561 (Firmware 1.0.3.4)
- Cisco Router ISA500 (Firmware 1.2.19)
O que queremos é basicamente autenticar e autorizar o WiFi com base no LDAP via RADIUS
Instalamos um certificado na Synology que é emitido pela GlobalSign para o domínio raiz example.com e nas.example.com (usamos o nosso certificado curinga aqui antes, que a Synology mostrou como auto-assinada, talvez as extensões de uso foram não lá, então eu comprei outro)
Eu configurei os APs (WPA2) para conectar ao RADIUS (baseado em IP) e ao RADIUS para acessar o LDAP (a mesma máquina).
Basicamente tudo funciona, exceto que nossos clientes do Win7 (e alguns do Vista) estão tendo problemas para fazer o handshake TLS com o RADIUS
Unforunately a saída não é muito boa, já que mostra apenas
Auth 2014-04-15 10:01:49 Login incorrect (TLS Alert read:fatal:access denied): [[email protected]/<via Auth-Type = EAP>] (from client CiscoHardware port 0 cli 00-26-82-ED-61-92)
Error 2014-04-15 10:01:49 TLS Alert read:fatal:access denied
Meu palpite: O suplicante (máquina Win7) não está aceitando o certificado, o que resulta na falha da autenticação para funcionar. Se eu desmarcar a opção "Verificar certificado do servidor", tudo funciona.
O problema deve quase certamente ser o certificado usado na autenticação, pois há strongs requisitos para o certificado da Microsoft:
link
Eu já verifiquei o identificador de objeto que é 1.3.6.1.5.5.7.3.1. e está presente no certificado
Existem dois outros pontos que eu não entendo completamente:
- O nome na linha Assunto do certificado do servidor corresponde ao nome configurado no cliente para a conexão.
- Para clientes sem fio, a extensão Subject Alternative Name (SubjectAltName) contém o nome de domínio totalmente qualificado (FQDN) do servidor.
Existe um certificado intermediário que está presente no raio, o certificado raiz (GloalSign) é confiável para o SO.
Sobre o nome do domínio: Como um cliente verifica isso desde que ele está se conectando a um SSID e o ponto de acesso para um servidor RADIUS por IP?
Como posso depurar isso um pouco mais? Eu estou trabalhando em uma máquina Win7, mas o Linux está disponível, se necessário