我正在尝试测试我们的软件在面对不同的时钟情况时是如何工作的(例如,机器不同步,夏令时等)。测试驱动程序尝试禁用Windows时间服务,并使用WMI修改远程计算机上的时钟。
我遇到的一个奇怪的问题是,如果我将计算机的时钟设置得快或慢很多(比如几个月),当我尝试使用远程注册表时,我就会得到UnauthorizedAccessExceptions。
有没有人见过这种行为?
更新:这些帐户是不会过期的服务帐户。
发布于 2014-01-09 23:14:03
发现问题是,Kerberos安全性会认为您正在尝试进行回复攻击,因为任何进入域控制器的授权请求看起来都是来自太远的未来(对于过去太远的请求也是如此)。我收集到的5分钟是默认允许的时钟不同步窗口。
Kerberos有严格的时间要求,这意味着相关主机的时钟必须在配置的限制内同步。票证有一个时间可用期限,如果主机时钟与Kerberos服务器时钟不同步,则身份验证将失败。每个MIT的默认配置要求时钟间隔不超过5分钟。在实践中,网络时间协议守护进程通常用于保持主机时钟同步。
http://en.wikipedia.org/wiki/Kerberos_(protocol)
因此,我不得不想出一种方法来解决这个问题,以应对不太可能出现的时间服务不起作用的情况。
https://stackoverflow.com/questions/19508557
复制相似问题