带有 EAP TLS 的 Windows Server 2016 NPS、Windows 10/11 客户端,密码不正确?

带有 EAP TLS 的 Windows Server 2016 NPS、Windows 10/11 客户端,密码不正确?

大家好!我想在我的网络上从 PEAP-MSCHAPv2 用户/密码身份验证切换到基于证书的身份验证。当前设置已经运行多年,没有出现问题:两个具有 NPS 角色的 Windows 2016 域控制器和 Windows 10 + Windows 11 客户端。身份验证适用于有线和无线客户端(允许使用计算机和用户帐户)。

测试环境

为了测试目的,我部署了一台单独的交换机(Aruba 2530)并选择了两台物理机,一台运行 Windows 10,另一台运行 Windows 11。两台机器都已加入域,并能正确地从组策略对象中获取所有设置。相关设置为:

  • 自动启动有线自动配置服务
  • 允许自动注册证书
  • 设置有线网络配置文件以使用证书进行身份验证,仅机器身份验证

交换机已作为 RADIUS 客户端添加到域控制器 #2 上。交换机指向 DC #2 作为唯一的 radius 主机。此外,我在 DC #2 上创建了一个新的网络策略,它只处理来自上述交换机的请求(这样我的实验就不会中断其他 radius 客户端的连接)。策略设置为使用“Microsoft:智能卡或其他证书”,我确保从列表中选择了正确的证书。

至于证书,NPS 服务器已经从域 CA 注册了正确的证书。为了测试目的,我为客户端发布了一个新的证书模板,他们现在可以自动注册以用于网络身份验证(这一切都是根据 Microsoft 文章配置的)。

客户端行为

现在事情变得奇怪了......

连接到已配置身份验证的交换机端口的 Windows 11(联想笔记本电脑)几乎立即进行身份验证,客户端和 NPS 服务器上的事件日志都显示类似的信息:身份验证成功,网络访问权限已授予(它还显示正在使用正确的网络策略)。成功!

但是 Windows 10(戴尔台式机)无法进行身份验证!客户端上的事件日志显示“网络停止响应身份验证请求”,原因为 0x70004。NPS 服务器上的事件日志没有显示任何身份验证失败的迹象,就像请求从未到达服务器一样!

这看起来很奇怪,因为从 GPO 获取的设置是相同的,而且我将两台笔记本电脑连接到同一个交换机,因此这是一个受控环境。两台计算机的存储中都有适当的证书。

数据包追踪

我在交换机上也看不到任何连接事件,因此我配置了端口镜像并运行了数据包捕获。

我可以清楚地看到,在 PC 发送“客户端问候”后,对 Windows 10 计算机进行身份验证的过程就停止了。 过了一段时间后,交换机才向客户端发送“失败”,结束整个过程。

Windows 10 机器的数据包捕获

然而,在 Windows 11 上,我可以看到在“客户端 Hello”之后,服务器会响应“更改密码规范,加密握手消息”,随后不久就会出现“成功”。

Windows 11 机器的数据包捕获

我查看了“客户端问候”数据包,发现有一些差异,最明显的是一行中的 TLS 版本(突出显示)。看起来 Windows 10 坚持使用 TLS 1.2,而 Windows 11 使用 TLS 1.0?还是我读错了?此外,客户端提供的密码套件列表略有不同。

Windows 10:

来自 Windows 10 计算机的客户端问候

Windows 11:

来自 Windows 11 计算机的客户端问候

以下是 NPS 服务器对 Windows 11 计算机的响应,以防它提供一些其他信息:

NPS 对 Windows 11 的回应

我有点困惑,希望有人能给我更多的启发,并给我指明正确的方向——可能是如何确保 Windows 10 为此使用正确的密码。我觉得这可能是身份验证失败的原因。

更新于 2024 年 4 月 24 日:查看交换机上的调试。

0000:00:41:13.31 1X   m8021xCtrl:Port 24: added new client f8b156-b83e62.
0000:00:41:13.34 1X   m8021xCtrl:Port 24: received EAPOL Start from   f8b156-b83e62.
0000:00:41:13.34 1X   m8021xCtrl:Port 24: added client f8b156-b83e62 to VLAN 40.
0000:00:41:13.87 1X   m8021xCtrl:Port 24: connection detected.
0000:00:41:13.87 1X   m8021xCtrl:Port 24: sent ReqId #1 to f8b156-b83e62.
0000:00:41:13.87 1X   m8021xCtrl:Port 24:No. of EAP Id request sent: 1 to   client:f8b156-b83e62.
0000:00:41:13.87 1X   m8021xCtrl:Port 24: received RspId #1 from f8b156-b83e62.
0000:00:41:13.87 1X   m8021xCtrl:Port 24: enterAuthState for client   f8b156-b83e62, State SM_AUTHENTICATING for host/0pc-test.domain.local0000:00:41:13.87 1X   m8021xCtrl:Port 24: started authentication session for   client f8b156-b83e62 user: host/0pc-test.domain.local.
0000:00:41:13.87 RAD  mRadiusCtrl:Received RADIUS MSG: AUTH REQUEST, session:   10, access method: PORT-ACCESS.
0000:00:41:13.87 1X   m8021xCtrl:Port 24: received EAP identity request for   client f8b156-b83e62.
0000:00:41:13.87 1X   m8021xCtrl:Port 24: sent EAP response from client   f8b156-b83e62 to authentication server.
0000:00:41:13.87 RAD  mRadiusCtrl:Received RADIUS MSG: DATA, session: 10.
0000:00:41:13.87 RAD  mRadiusCtrl:ACCESS REQUEST id: 22 to 10.10.5.11 session:   10, access method: PORT-ACCESS, User-Name: host/0pc-test.domain.local,   Calling-Station-Id: f8b156-b83e62, NAS-Port-Id: 24, NAS-IP-Address:   10.10.5.231.
0000:00:41:13.87 RAD  mRadiusCtrl:ACCESS REQUEST id: 22 to 10.10.5.11 session:   10, access method: PORT-ACCESS, NAS-identifier: HP-2530-24G.
0000:00:41:13.89 RAD  tRadiusR:ACCESS CHALLENGE id: 22 from 10.10.5.11 received.
0000:00:41:13.89 1X   m8021xCtrl:Port 24: received EAP request for client   f8b156-b83e62.
0000:00:41:13.89 1X   m8021xCtrl:Port 24: EAP request #2 to f8b156-b83e62 can   pass through without authenticator processing.
0000:00:41:13.89 1X   m8021xCtrl:Port 24: sent EAP request #2 to f8b156-b83e62.
0000:00:41:13.89 1X   m8021xCtrl:Port 24: set supplicant timeout for client   f8b156-b83e62 to 30 sec.
0000:00:41:13.90 1X   m8021xCtrl:Port 24: received type 13 EAP response #2 from   f8b156-b83e62.
0000:00:41:13.90 1X   m8021xCtrl:Port 24: EAP response #2 to f8b156-b83e62 can   pass through without authenticator processing.
0000:00:41:13.90 1X   m8021xCtrl:Port 24: sent EAP response from client   f8b156-b83e62 to authentication server.
0000:00:41:13.90 RAD  mRadiusCtrl:Received RADIUS MSG: DATA, session: 10.
0000:00:41:13.90 RAD  mRadiusCtrl:ACCESS REQUEST id: 23 to 10.10.5.11 session:   10, access method: PORT-ACCESS, User-Name: host/0pc-test.domain.local,   Calling-Station-Id: f8b156-b83e62, NAS-Port-Id: 24, NAS-IP-Address:   10.10.5.231.
0000:00:41:13.90 RAD  mRadiusCtrl:ACCESS REQUEST id: 23 to 10.10.5.11 session:   10, access method: PORT-ACCESS, NAS-identifier: HP-2530-24G.
0000:00:41:13.90 RAD  tRadiusR:ACCESS CHALLENGE id: 23 from 10.10.5.11 received.
0000:00:41:13.90 1X   m8021xCtrl:Port 24: received EAP request for client   f8b156-b83e62.
0000:00:41:13.90 1X   m8021xCtrl:Port 24: EAP request #3 to f8b156-b83e62 can   pass through without authenticator processing.
0000:00:41:13.90 1X   m8021xCtrl:Port 24: sent EAP request #3 to f8b156-b83e62.
0000:00:41:13.90 1X   m8021xCtrl:Port 24: set supplicant timeout for client   f8b156-b83e62 to 30 sec.
0000:00:41:32.61 1X   m8021xCtrl:Port 24: connection terminated.
0000:00:41:32.61 1X   m8021xCtrl:Port 24: Deleted Client f8b156-b83e62User   host/0pc-test.domain.local from Client-List
0000:00:41:32.61 1X   m8021xCtrl:Aborted authentication session for client   f8b156-b83e62.
0000:00:41:32.61 RAD  mRadiusCtrl:Received RADIUS MSG: ABORT REQUEST, session:   10, ACCESS REQUEST id: 23 to 10.10.5.11, access method: PORT-ACCESS.
0000:00:41:32.61 RAD  mRadiusCtrl:Removing RADIUS REQUEST id: 23 from queue.

相关内容