Windows-Server-2008

在 AD-LDS 上複製 lockoutTime 屬性並不緊急

  • January 27, 2013

我在同一個子網上有兩台 LDS 伺服器。它們複製得很好。如果我更改一個屬性,它會在 15 秒後被複製。

LDS 配置為遵守密碼策略。當使用者輸入錯誤密碼次數過多時,他的帳戶將被鎖定並lockoutTime相應地設置該使用者的屬性。

lockoutTime沒有複製那麼緊迫。事實上,除非目錄中某處有其他更改,否則它不會被複製。將複製 lockoutTime 屬性。

這是一個(編輯過的 Wireshark)跟踪。它顯示正常的複制流量

No.   Time     Protocol Length Info
 133 16:23:02 DRSUAPI  562    DsGetNCChanges request
 134 16:23:02 DRSUAPI  3042   DsGetNCChanges response
 152 16:23:17 DRSUAPI  562    DsGetNCChanges request
 157 16:23:17 DRSUAPI  242    DsGetNCChanges response
 230 16:24:57 DRSUAPI  562    DsGetNCChanges request
 231 16:24:57 DRSUAPI  2930   DsGetNCChanges response
 246 16:25:12 DRSUAPI  562    DsGetNCChanges request

在那之後,我鎖定了使用者(使用FOR循環和ldifde)。什麼都沒有發生,直到我放棄並更改description使用者的屬性,然後大約 15 秒後我看到複製通過了。

1984 16:31:05 DRSUAPI  562    DsGetNCChanges request
1985 16:31:05 DRSUAPI  2930   DsGetNCChanges response

lockoutTime 和描述被複製。如此處所述,如果我設置lockoutTime=0,定期複製將在 15 秒後發生!

我已啟用複制診斷。由於沒有複製,因此實例的日誌中沒有顯示任何內容。當複制觸發時,我看到一堆最新屬性的事件 1239,兩個 1240 事件。一個用於屬性lockoutTime,一個用於 description(我用來觸發複製)。

我啟用了站點之間的更改通知,重新啟動了這兩個服務,但沒有任何區別。可能是因為兩台伺服器在同一個子網上。

Active Directory 技術規范清楚地將lockoutTime列為要複製的緊急屬性之一

是什麼阻止了lockoutTime屬性的緊急複製?

(通過對 Microsoft 的支持電話的結果回答我自己的問題)

這是 AD-LDS 中的一個錯誤(錯誤檢查 ID 354126)。它影響 Windows Server 2008,我不知道 Server 2012。

問題是沒有通知發送到副本(既不緊急也不正常)。當帳戶鎖定儲存在數據庫中時,LDS 不會不更新全域通知列表。因此,只有在計劃的複制開始後才會發生複製。

繞過它的方法是創建一個計劃任務,該任務呼叫

repadmin /syncall localhost:389

如果沒有要複製的內容,此呼叫將產生大約 42k 的網路流量。

解決問題的另一種方法是……什麼都不做。該漏洞使攻擊者猜測密碼的機會加倍。它很難被利用,因為使用者通常不直接呼叫 LDS。即使他們這樣做了,這個錯誤只會使他們的機會增加一倍。

引用自:https://serverfault.com/questions/453208