设置时钟前进后,unauthorizedAccessException访问注册表c#

时间:2013-10-22 03:39:40

标签: c# windows registry wmi

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

我遇到的一个奇怪的问题是,如果我将计算机时钟设置为提前或落后很多(比如说几个月),那么在尝试使用远程注册表时我会开始获取UnauthorizedAccessExceptions。

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

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

1 个答案:

答案 0 :(得分:0)

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

  

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

http://en.wikipedia.org/wiki/Kerberos_(protocol)

因此,我不得不想出办法来解决时间服务无法运作的不太可能的情况。