大家好!我想在我的网络上从 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 11 上,我可以看到在“客户端 Hello”之后,服务器会响应“更改密码规范,加密握手消息”,随后不久就会出现“成功”。
我查看了“客户端问候”数据包,发现有一些差异,最明显的是一行中的 TLS 版本(突出显示)。看起来 Windows 10 坚持使用 TLS 1.2,而 Windows 11 使用 TLS 1.0?还是我读错了?此外,客户端提供的密码套件列表略有不同。
Windows 10:
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.