为什么受保护用户组笔记本要在登录前建立 VPN
Protected Users 让 Windows 不再缓存登录验证器,因此隧道必须在桌面出现之前就存在。先证明边界,再验证回退路径。
一台笔记本、一个可用账户和一家酒店网络,三者叠加就会形成任何重试都打不破的登录死循环。账户位于 Protected Users 组,这使 Windows 无法保存用于离线验证用户的验证器。任何「先登录、再连隧道」的方案都颠倒了顺序,而这层保护恰恰在履行它的承诺。以下假设使用受支持 Windows 主机上的传统 Active Directory 账户。
这层保护究竟去掉了什么
Windows 通常会缓存验证器,以便域控制器不可达时域账户仍能登录。Protected Users 对该账户阻止了这一行为,于是离线域登录不再是「不可靠」,而是根本不可能。
这不是常见的缓存过期问题,常规补救也不适用。反复在线登录、再改一次密码或调高缓存登录数都不会恢复该能力,因为这些操作没有一个会生成策略拒绝保存的验证器。账户的行为符合设计,而该设计假定 Windows 发问时网络就在。把症状当成缓存故障,正是团队最终重建一个从未损坏的配置文件的原因。
为什么隧道必须早于桌面
设备必须在 Windows 索要域认证的那一刻就能到达,而那一刻早于任何用户会话存在。只在桌面出现后才启动的 VPN 客户端,会让新的登录一直等待一条永远不会到来的路径。这个依赖属于机器,而不属于尚未登录的用户。
请采用经与端点与身份负责人商定的、受支持的预登录方案。使用计算机证书认证的 Always On VPN 设备隧道,在受管设备满足该部署前提时是合格的。供应商受支持的登录界面集成是另一种选择。带自动触发器的普通用户配置文件两者都不是,无论它在客户端界面里看起来多像。
这条路径需要域的名称解析、一台可达的域控制器,以及该账户可用的认证协议,而任何「已连接」指示都不提供这些。它的路由和筛选应当只承载身份服务,不承载其他不必要的东西,因为那份前缀列表正是被盗笔记本在任何人登录之前就能拿到的攻击面。为用户隧道做的拆分隧道决定并不适用于设备隧道,因此要分别审视两者。
可达不等于认证兼容
隧道可以完美转发数据包,而域认证仍然失败,因为被尝试的机制是该账户不能使用的机制。在强制实施该组限制的域中,成员无法使用 NTLM,而 Kerberos 需要 AES 兼容的账户与配置。数据包路径无法修复其中任何一项。这就是为什么能 ping 通域控制器并不能证明登录会成功。
也可能有两套凭据系统同时在场。VPN 可以向身份提供商认证,而 Windows 另外还需要一次域登录,前者的通过并不能说明后者。「VPN 已连接」和「用户已登录」是两个独立的观察,修好一个并不等于另一个。
读懂认证证据
针对同一次尝试,要同时从客户端和域控制器两侧收集事件,而不是只取一侧。Protected Users 的日志位于 Applications and Services Logs\Microsoft\Windows\Authentication 之下,管理员可能需要先开启某个日志,它才会记录任何内容。把时间戳与隧道自身的连接日志对照起来,因为顺序上的错误从两侧看都像凭据故障。
下面的第一条命令会列出设备所公开的全部认证日志,这样你读的是真实存在的那个,而不是某篇博客点名的那个。第二条在你知道名称后读取最近的条目。要查找认证包、账户和失败条件,因为网络路径缺失与被拒绝的机制留下的证据不同,而其中只有一种属于 VPN 问题。如果隧道是在尝试之后才起来的,那么无论那些条目怎么说,顺序都是错的。
Get-WinEvent -ListLog *Authentication*
Get-WinEvent -LogName Microsoft-Windows-Authentication/Operational -MaxEvents 20从冷启动证明边界
在已注销或刚启动的状态下用受限账户执行测试,并在为特权用户改动任何东西之前保留一条已批准的恢复路径。在已运行的桌面上测试,根本不会走到关键代码路径的任何部分,这正是大多数「修好之后撑到下次重启」报告的原因。然后按这个顺序走完四个步骤。
- 在任何人登录之前,用
nltest /dsgetdc:corp.example.com确认设备能找到域控制器。 - 尝试域登录,然后用
klist询问究竟有没有拿到票据。 - 用上面两条命令读取设备记录的认证日志,并记下认证包与失败条件。
- 确认已批准的恢复凭据仍然能从登录界面使用,因为一旦边界测试失败,那是唯一的退路。
用所提供的凭据打开文件共享同样不会产生离线交互式登录,因此它不能替代上面任何一步。如果组织确实需要断网登录,答案是有意选择的兼容账户与端点设计。把账户移出该组,或在每台笔记本上保留一个不受限的应急登录,属于身份策略决定,VPN 改动无法替你做。
Protected Users 文档 既描述了验证器的行为,也描述了这套设计所依赖的域限制。在任何人出差之前先把恢复流程规划好,因为冷启动测试是唯一真正演练它的地方。