未经授权访问异常在设置时钟前向 c# 后访问注册表

本文关键字:访问 时钟 注册表 设置 授权 异常 | 更新日期: 2023-09-27 18:36:17

我正在尝试测试我们的软件在面对不同的时钟情况(即机器不同步、夏令时等)时的工作方式。测试驱动程序尝试禁用 Windows 时间服务,并使用 WMI 修改远程计算机上的时钟。

遇到的一个奇怪的问题是,如果我将计算机时钟提前或落后大量(例如几个月),则在尝试使用远程注册表时,我开始出现未经授权的访问异常。

以前有人见过这种行为吗?

更新:这些帐户是不会过期的服务帐户。

未经授权访问异常在设置时钟前向 c# 后访问注册表

发现问题是 Kerberos 安全性会认为您正在尝试进行回复攻击,因为进入域控制器的任何授权请求看起来都来自太远的未来(对于过去太远的请求也是如此)。从我可以收集的 5 分钟是时钟不同步的默认允许窗口。

Kerberos有严格的时间要求,这意味着时钟 所涉及的主机必须在配置的限制内同步。这 票证有时间可用期,如果主机时钟不是 与 Kerberos 服务器时钟同步,身份验证将 失败。每个 MIT 的默认配置要求时钟时间为 相隔不超过五分钟。在实践中 网络时间协议 守护进程通常用于保持主机时钟同步。

http://en.wikipedia.org/wiki/Kerberos_(协议)

所以我必须想出一种方法来解决这个问题,以涵盖时间服务不起作用的不太可能的情况。