我正在尝试测试我们的软件在遇到不同时钟情况时的工作方式(即机器不同步,夏令时等)。测试驱动程序尝试禁用Windows时间服务并使用WMI修改远程计算机上的时钟。
我遇到的一个奇怪的问题是,如果我将计算机时钟设置为提前或落后很多(比如说几个月),那么在尝试使用远程注册表时我会开始获取UnauthorizedAccessExceptions。
之前有人见过这种行为吗?
更新:帐户是不会过期的服务帐户。
答案 0 :(得分:0)
发现问题是Kerberos安全性会认为您正在尝试进行回复攻击,因为任何进入域控制器的授权请求看起来都将来自太远(同样对于请求太远)在过去)。从我可以收集的5分钟是时钟不同步的默认允许窗口。
Kerberos有严格的时间要求,这意味着时钟 涉及的主机必须在配置的限制内同步。该 门票有一个时间可用期限,如果主机时钟不是 与Kerberos服务器时钟同步,验证将 失败。每个MIT的默认配置要求时钟时间 相隔不超过五分钟。在实践中网络时间协议 守护进程通常用于保持主机时钟同步。
http://en.wikipedia.org/wiki/Kerberos_(protocol)
因此,我不得不想出办法来解决时间服务无法运作的不太可能的情况。