W32Time 不遵守 MaxPosPhaseCorrection 设置

W32Time 不遵守 MaxPosPhaseCorrection 设置

我在 Windows Server 2019 上使用 W32Time 服务时遇到问题,它不遵守正时间偏移的默认限制(MaxPosPhaseCorrection/MaxNegPhaseCorrection = 15 天)。该服务器在 AWS 上以非域加入方式运行,并且时间服务配置为使用 Amazon 时间同步服务。

有时,亚马逊的服务会返回无效的同步数据,与实际值相差数周甚至一个月。W32Time 会在事件日志中报告巨大差异作为警告,并且仍然将服务器时间移出限制。然后在几个小时后,它会将服务器时间恢复到正常值。

关于如何控制这种行为有什么建议吗?

答案1

这可能是由于 Windows Server 2016+ 中的一项功能。当时间同步暂时不可用时,请使用来自 TLS 数据包的时间戳。不幸的是,有时时间戳会包含其他应用程序出于其他目的插入的随机数据,因此不应依赖它。

安全时间播种

此功能可确定传出 SSL 连接的大致当前时间。此时间值用于监控本地系统时钟并纠正任何严重错误。在具有可靠时间源和受良好监控的机器(包括监控时间偏移)的部署中,您可以选择不使用安全时间播种功能,而是依靠现有的基础设施。

您可以按照以下步骤禁用该功能:

将 UtilizeSSLTimeData 注册表值设置为 0:

reg add HKLM\SYSTEM\CurrentControlSet\Services\w32time\Config /v UtilizeSslTimeData /t REG_DWORD /d 0 /f

如果由于某种原因无法立即重新启动计算机,则可以通知 W32time 服务有关配置更新的信息。这将停止基于从 SSL 连接收集的时间数据的时间监控和执行。

W32tm.exe /config /update

https://learn.microsoft.com/en-us/windows-server/networking/windows-time-service/windows-server-2016-improvements

https://learn.microsoft.com/en-us/archive/blogs/w32time/secure-time-seeding-improving-time-keeping-in-windows

https://learn.microsoft.com/en-us/troubleshoot/windows-server/identity/turn-on-debug-logging-in-windows-time-service

相关内容