![时钟时间要差多少度才会因为时间不正确而拒绝 NTLM 请求?](https://linux22.com/image/1306673/%E6%97%B6%E9%92%9F%E6%97%B6%E9%97%B4%E8%A6%81%E5%B7%AE%E5%A4%9A%E5%B0%91%E5%BA%A6%E6%89%8D%E4%BC%9A%E5%9B%A0%E4%B8%BA%E6%97%B6%E9%97%B4%E4%B8%8D%E6%AD%A3%E7%A1%AE%E8%80%8C%E6%8B%92%E7%BB%9D%20NTLM%20%E8%AF%B7%E6%B1%82%EF%BC%9F.png)
我们的网络中,部分客户端工作站的时间不准确。客户端或域控制器上的 NTP 存在问题,导致时间不同步。我们正在单独处理该问题。
同时,当时钟与域控制器和服务器的时间发生偏差一段时间后,通过 NTLM 对域进行的身份验证请求将会失败。 这些请求成功所需的时钟精度阈值是多少? 这些时钟必须精确到 10 秒吗?30 秒?1 分钟?
编辑:指定 NTLM 不依赖于正确时间的答案是错误的。根据 Microsoft KB Article 976918: http://support.microsoft.com/kb/976918
Windows 7 和 Windows Server 2008 R2 支持集成身份验证的扩展保护,默认情况下包括对通道绑定令牌 (CBT) 的支持。[...] 您可能会遇到以下一种或多种症状:[...]当客户端与 DC 或工作组服务器之间存在时间差时,NTLM 身份验证失败。
答案1
据我所知,NTLM 中根本不使用时间戳。
另一方面,凯尔伯罗斯(这是 Active Directory 中的主要身份验证协议),通常要求时钟在几分钟之内。Microsoft Windows 有5分钟作为默认值MaxClockSkew
,MIT Kerberos 也是如此。