Windows LDAP加固之LDAP簽名

 微軟計劃於2020年1月推出補丁更新,啓用LDAP簽名。雖然目前版本的操作系統已經包含了這個功能,但是微軟並沒有將它啓用。隨着時間推移,網絡上的威脅越來越多。憑據重放和中間人公雞(不是寫錯了,是51CTO不允許)在LDAP的公雞(不是寫錯了,是51CTO不允許)中顯得極爲有效。所以,我們需要儘快啓用LDAP簽名這個安全特性。值得注意的是微軟的目錄服務通常在企業內部用作最基本的身份驗證,很多其它系統也依賴於Windows提供的LDAP服務,這些三方系統的兼容性需要得到足夠的測試。建議先在某些域控上啓用策略,完成測試驗證。

        先來看一下當前默認情況下的域環境的LDAP連接情況。在客戶端輸入ldp來嘗試手動連接。當然,如果你的計算機上顯示沒有ldp.exe這個程序的話,是因爲沒有安裝AD部分的RSAT。需要在添加刪除Windows功能中手動添加。如果看不到圖,請點我

1.jpg

        添加完畢後,就可以運行ldp.exe了。在這裏,我們輸入域控的計算機名,並使用默認的389進行連接。

2.jpg

        連接成功後,點擊Bind,選擇Simple bind,並輸入用戶名和密碼。

3.jpg

        可以看到,目前是可以正常連接到域控的。接下去我們就要進行安全加固了。

4.jpg

        首先,需要在域控制器上啓用策略。我一直推薦不要修改Default Domain Policy和Default Domain Controllers Policy這2條默認策略,可以在域級別新建一條LDAP的策略進行修改。然後把同樣的這條策略應用到Domain Controllers這個OU上,並且確保優先級高於默認策略。因爲Default Domain Controllers Policy中可能已經將Domain controller: LDAP server signing requirements定義爲了None。至少在我的測試環境中是這樣的,爲此我還花費了不少時間來解決這個問題。

5.jpg

        策略的位於Computer Configuration--Policies--Windows Settings--Security Settings--Local Policies--Security Options。找到Domain controller: LDAP server signing requirements。將其從Not Defined改成Require signing。

6.jpg

        然後,修改域控上的註冊表鍵值。HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters\ldapserverintegrity

將ldapserverintegrity從1修改爲2。需要注意的是如果不修改組策略而直接修改註冊表鍵值,這個值會被修改回1。我就遇到了在添加的LDAP策略中修改後這個鍵值仍然會被改回1。這是由於我的環境中默認域控器策略中定義了這條策略,但是它被設置爲None。
6-2.jpg

        接下去就是客戶端策略的修改了。同樣在客戶端所在OU上新建一條策略,然後修改其中的Computer Configuration--Policies--Windows Settings--Security Settings--Local Policies--Security Options下的Network security:LDAP client signing requirements,將其改爲Require signing。建議同樣在域控的LDAP策略中將它也設置一下,因爲域控也可以作爲LDAP客戶端。

7.jpg

        同樣的需要修改註冊表鍵值,HKLM\SYSTEM\CurrentControlSet\Services\ldap下的ldapclientintegrity。將它改成2。

6-3.jpg

        然後,採用同樣的方式用ldp連接域控。會發現使用simple bind的連接失敗了,需要更強的驗證方式。更強的LDAP驗證方式包括SSL。如果採用SSL按微軟的說法是仍然可以使用simple bind的。詳細請參考這裏:
https://docs.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/domain-controller-ldap-server-signing-requirements

8.jpg

        如果服務器上啓用了LDAP的基本日誌,就能看到相應信息。啓用方法是將註冊表中的HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics下的16 LDAP Interface Events從1修改爲2。日誌啓用的詳細信息請參考這篇文章:

https://support.microsoft.com/en-us/help/314980/how-to-configure-active-directory-and-lds-diagnostic-event-logging

9.jpg

        服務器的Directory Service中會記錄2889的事件,說明有人試圖使用非簽名的方式明文連接LDAP服務。

10.jpg

        參考文章:

https://support.microsoft.com/en-us/help/935834/how-to-enable-ldap-signing-in-windows-server-2008

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章