我们公司有以下设置
- Synology RS812+ 托管 LDAP、RADIUS、DNS(版本 DSM 5.0-4458 更新 2)
- 2*Cisco Wifi AP WAP561(固件 1.0.3.4)
- 思科路由器 ISA500(固件 1.2.19)
我们想要的基本上是通过 RADIUS 基于 LDAP 对 WiFi 进行身份验证和授权
我们在 Synology 上安装了由 GlobalSign 为根域 example.com 和 nas.example.com 颁发的证书(我们之前在这里使用了通配符证书,Synology 显示它是自签名的,可能是没有使用扩展,所以我买了另一个)
我配置了 AP(WPA2)以连接到 RADIUS(基于 IP),并配置了 RADIUS 以访问 LDAP(同一台机器)。
基本上一切都正常,除了我们的 Win7(和一些 Vista)客户端在与 RADIUS 进行 TLS 握手时遇到问题
不幸的是,输出效果不是很好,因为它只显示
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
我的猜测是:请求者(Win7 计算机)不接受证书,导致身份验证失败。如果我取消选中“检查服务器证书”选项,则一切正常。
问题几乎肯定是出在身份验证中使用的证书,因为 Microsoft 对证书有严格的要求:
http://support.microsoft.com/kb/814394/en-us
我已经检查了对象标识符,它是 1.3.6.1.5.5.7.3.1.,并且存在于证书中
另外有两点我可能没有完全理解:
- 服务器证书的主题行中的名称与客户端上为连接配置的名称相匹配。
- 对于无线客户端,主题备用名称 (SubjectAltName) 扩展包含服务器的完全限定域名 (FQDN)。
在 radius 上存在一个中间证书,根证书(GloalSign)受到操作系统信任。
关于域名:由于客户端连接到 SSID 并且 AP 通过 IP 指向 RADIUS 服务器,因此如何检查域名?
我该如何进一步调试?我正在使用 Win7 机器,但如果需要,也可以使用 Linux
答案1
从您的查询中看不太清楚,但您的问题可能是因为您的两个证书都没有正确标记:
根据您指向的 URL:* 客户端证书需要具有 1.3.6.1.5.5.7.3.2 扩展名* 服务器证书需要具有 1.3.6.1.5.5.7.3.1 扩展名
我还相信您所指的中间 CA 应该具有 1.3.6.1.5.5.7.3.1 扩展。
简而言之,我认为您的问题出在页面的“服务器证书要求”部分。
这显示了生成证书时可以使用的 openssl 配置:http://lists.freeradius.org/pipermail/freeradius-users/2011-April/052962.html 当然,您必须在生成时将 xpclient_ext/xpserver_ext 添加到证书中。
答案2
为确保证书是问题所在,您可以进行测试:安装 Web 服务器并配置 https。使用您的证书并将其绑定到 https 端口。在一个 Win7Client 的 hosts 文件中添加一行,该行与证书的名称和 Web 服务器的 IP 相匹配。使用 IE 并打开您的新网页。IE 会显示证书是否受信任,您可以打开证书的属性查看详细信息。不要使用 Firefox,因为它不使用系统证书存储