2013-10-22 26 views
0

我想測試如何在面對不同的時鐘的情況下我們的軟件工程(即機器不同步,夏令時間等)後的註冊表。測試驅動程序嘗試禁用Windows時間服務並使用WMI修改遠程計算機上的時鐘。UnauthorizedAccessException訪問前衝時鐘C#

我遇到的一個奇怪問題是,如果我設置計算機時鐘提前或後面大量(例如幾個月),我開始在嘗試使用遠程註冊表時收到UnauthorizedAccessExceptions。

沒有人見過這種行爲?

更新:帳戶是不會過期的服務帳戶。

+0

似乎是合情合理的,如果你的帳戶都有一個有效期..還沒有看到這雖然之前 – lordkain

+0

@lordkain有趣的理論,但它是否適合在這裏不知道。我已經通過關於我正在使用的帳戶的信息修改了這個問題。我以爲它以某種方式改變了一些權限設置。 –

回答

0

發現了問題是,Kerberos安全性會認爲你正在嘗試做的,因爲進來的一個域控制器將像它的任何授權請求的FROM太遠即將在未來重放攻擊(相同的請求太遠在過去)。從我可以收集5分鐘是時鐘不同步的默認允許窗口。

Kerberos具有嚴格的時間要求,這意味着涉及主機的 的時鐘必須在配置的限制內同步。該 門票有時間的可用性週期,如果主機時鐘不 與Kerberos服務器時鐘同步,認證將 失敗。每個MIT的默認配置要求時鐘時間間隔不超過5分鐘時間爲 。在實踐中,守護進程通常用於保持主機時鐘同步。

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

於是,我只好想出一個辦法來解決這個問題,以覆蓋時間服務沒有運行的情況不太可能發生。