Windows 更新后 NPS EAP 身份验证失败

Windows 更新后 NPS EAP 身份验证失败

我有一台运行 NPS 的 Windows 2008 Std 服务器。在应用最新一轮更新(包括 2012 年 4 月的根证书 KB931125)后(请参阅:http://support.microsoft.com/kb/933430/)),由于格式错误,EAP 身份验证失败。

示例错误(安全/事件 ID 6273),为简洁起见,已截断:

Authentication Details:
        Proxy Policy Name:              Use Windows authentication for all users
        Network Policy Name:            Wireless Access
        Authentication Provider:                Windows 
        Authentication Server:          nps-host.corp.contoso.com
        Authentication Type:            PEAP
        EAP Type:                       -
        Account Session Identifier:             -
        Reason Code:                    266
        Reason:                         The message received was unexpected or badly formatted.

NPS 策略(无线访问)已相应配置(针对约束/身份验证方法)

EAP Types:
            Microsoft: Protected EAP (PEAP) - with a valid certificate from ADCS
            Microsoft: Secured password (EAP-MSCHAP v2)
Less secure authentication methods:
            Microsoft Encrypted Authentication version 2 (MS-CHAP-v2)
            User can change password after it has expired
            Microsoft Encrypted Authentication (MS-CHAP)
            User can change password after it has expired

我们测试了没有上述补丁的不同 RADIUS 服务器,并删除了 EAP 作为身份验证类型,并获得了成功。

还有其他人遇到过这个问题吗?

答案1

我要把它放在这里,因为我昨天经历过这个问题并且我的第一次搜索让我想到了这个问题。

问题最终归结为 ALF4 提到的根证书太多。这是在 Windows 更新根证书后发生的。

我们通过更改注册表来解决这个问题,以防止 NPS 服务器将受信任的根证书列表发送给客户端。

阻止 NPS 向客户端发送受信任的根证书

  • 打开 regedit 并找到以下键:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

  • 创建一个新DWORDSendTrustedIssuerList并将其设置为0 (false)

这立即解决了问题并且客户端可以再次连接。

特别感谢 Brian 指出KB933430尽管它适用于 Windows Server 2003,但它修复了我们的 Server 2008 和 Server 2008 R2 系统。

答案2

2012 年 12 月,微软在 2012 年 12 月 11 日发布了 KB931125 更新,将根证书更新意外应用于客户端,导致许多人都遇到了这个问题和服务器,而它本应只应用于客户端。这会将数百个第三方根证书添加到服务器上的受信任根证书列表中,从而导致您显示的问题。

我花了很长时间才找到它,但微软有一篇文章和修复程序可在KB2801679“安装 KB 931125 后出现 SSL/TLS 通信问题”.Windows Update 和 WSUS 上的错误更新已过期,但如果你已经应用了它,您可以通过运行 Fix-it 来清理根证书列表在所有受影响的服务器上提供文章中所述的信息。

我认为它比上面提到的注册表黑客或手动证书清理更干净地解决了问题。

如果您希望手动执行此操作,则修复方法基本上是删除所有第三方根证书,之后任何所需的证书都会从 Windows 更新中自动重新创建。只需确保您已同步 WSUS 并接受 KB931125 的到期即可。

删除以下注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\AuthRoot\证书

Fix-it 似乎对我有用,无需重新启动或进行其他更新。我删除了 Jason 的回答中提到的注册表修改,但仍然能够通过 NPS 验证 Wi-Fi。

答案3

根证书!!您发送的证书太多,因此“格式错误”。删除过期的证书并尽可能缩小列表,它就会重新开始工作。

答案4

http://support.microsoft.com/kb/933430。我使用了方法 3,然后恢复正常运行。

相关内容