保護內網安全之提高WindowsAD安全性Part.1

玄學醬發表於2017-09-26
本文講的是保護內網安全之提高Windows AD安全性 Part.1Active Directory的安全始於能確保安全地配置域控制器(DC)。在今年夏天的BlackHat USA大會上,我非常專業的提到了AD的安全,並提供了關於如何能夠最好程度上保護Active Directory安全的一些提示。這篇文章主要關注域控制器的安全性和一些跨越Active Directory的安全性。畢竟我的部落格被稱為“ADSecurity” …

本文將會涵蓋一些通過保護域控制器(簡稱“域控”)來保護Active Directory安全性的最佳方法,包括以下幾個部分:

1. 預設域和域控制器策略
2. 建立域和域控制器安全基線GPO
3. 修補域控制器
4. 保護域控制器
5. 域控制器推薦的組策略設定
6. 配置域控制器審查模式(事件日誌)
7. 需要監控的域控制器事件(事件日誌)
8. 關鍵域控制器安全項

與基礎架構的任何重大更改一樣,請在部署更改之前進行測試。以免發生意外。

預設域和域控制器組策略(GPO)

當首次建立Active Directory域時,預設情況下會建立兩個GPO:

預設域策略 - GUID:{31B2F340-016D-11D2-945F-00C04FB984F9}
預設域控制器策略 - GUID:{6AC1786C-016F-11D2-945F-00C04FB984F9}

請注意,這些GPO GUID對於每個Active Directory域例項都是相同的。 這是為了確保Windows可以快速找到這些GPO,如果它們被刪除,則需要被恢復或重新建立。 Active Directory最佳實踐分析工具查詢預設GPO以確保其被正確應用。 GPO GUID與AD物件GUID不同,因為某些GPO GUID需要相同的跨AD例項。

預設域策略應只包含以下設定:

1. 密碼策略
2. 帳戶鎖定策略
3. Kerberos策略

保護內網安全之提高Windows AD安全性 Part.1

Windows Server 2012 R2的預設域策略的預設設定如上圖所示。

預設域控制器策略應只包含以下設定:

1. 使用者許可權分配

2. 一些安全選項

保護內網安全之提高Windows AD安全性 Part.1

保護內網安全之提高Windows AD安全性 Part.1

Windows Server 2012 R2的預設域控制器策略的預設設定如上圖所示。

建立域和域控制器安全基準GPO

將自定義設定放入預設GPO是非常吸引人的。 請抵制住這種衝動,因為它能更好地在新的GPO中新增一層額外的安全層(並且更容易進行變更管理)。

請注意,域密碼策略實際上是一個具有連結到域的最高連結順序的GPO,因此可以使用自定義密碼策略設定建立新的GPO,連結到域,並將連結順序移動到第一的位置上(如下圖所示)。

保護內網安全之提高Windows AD安全性 Part.1

保護內網安全之提高Windows AD安全性 Part.1

據說,許多組織只是在預設域策略GPO中定製密碼策略,這很好。不過,不要新增新的設定到預設域策略GPO; 儘量保持衛它的原樣。

預設域策略GPO中的預設密碼策略的設定有很多不足之處。 我建議收緊這些設定,使它們更安全。 如果有需要較少限制要求的帳戶,請使用細粒度密碼策略為異常提供更多寬鬆的密碼設定。

1. 強制密碼歷史記錄:24(預設值很好)

2. 密碼最大年齡:60 – 180,取決於組織要求和最小密碼長度。

3. 密碼最小年齡:1

將其設定為1或更高,以便使用者不能簡單地繼續迴圈其新密碼,直到他們翻閱密碼歷史記錄以回到他們最喜歡的密碼。

4. 最小密碼長度:14

有趣的是:通過組策略管理控制檯(GPMC)設定的唯一可接受的值是數字0到14。即使手動設定在SYSVOL中關聯的組策略設定檔案,也無法設定更高的值因為這是不受支援的設定。更好的想法是在此處將其設定為14,然後使用細粒度密碼策略應用於組,並確保你希望將此設定應用的使用者在此使用者組中。

5. 密碼必須滿足複雜性要求:啟用

6. 使用可逆加密儲存密碼:禁用

如果將此設定為啟用,則在啟用此設定時更改其密碼的任何使用者的密碼都以可反轉的方式儲存在AD資料庫(NTDS.dit檔案)中,這意味著使用者的密碼可以提取。

7. 帳戶鎖定持續時間:1 – 90分鐘

設定一些值以緩解密碼猜測嘗試的攻擊方式

8. 帳戶鎖定閾值:5 – 20次登入嘗試無效

設定以配置在鎖定帳戶之前需要多少次無效的登入嘗試。

9. 在多長時間後重置帳戶鎖定計數器:5 – 60分鐘

設定以配置在無需幫助臺幫助的情況下帳戶自動解鎖需要多長時間。

第一步是建立兩個新的GPO(這些只是示例)

1. 域安全策略基準
2. 域控制器安全策略基準

域安全策略基準應包含應用於整個域的設定。

建立安全域策略和域控制器安全策略的最佳方法是下載Microsoft安全合規性管理器(當前版本為4.0),並在要為其建立安全基準的作業系統版本下選擇“安全合規性”選項GPO。檢視選項,根據需要進行更改,並匯出為GPO備份(資料夾)。在域中建立新的空白GPO,並從SCM GPO備份中“匯入設定”,以便新的GPO具有與SCM匯出的GPO有相同的設定。然後將此GPO應用於你的域控制器。如果你已配置了最小的安全設定,這將改進你的DC安全基線,特別是如果你還沒有為現有的DC配置過GPO。

大多數包含的設定會在本文中的“保護域控制器”和“推薦的組策略設定”章節部分中進行標識和描述。

Microsoft SCM域安全合規性策略

(在部署之前請檢視設定和測試)

保護內網安全之提高Windows AD安全性 Part.1

Microsoft SCM域控制器安全合規策略

保護內網安全之提高Windows AD安全性 Part.1

如果其中一個模板包含了FIPS合規加密,則需要驗證是否需要設定此模板,因為Microsoft在2014年不推薦使用此模板。如果你不確定是否需要它,請最好不要啟用它。 FIPS相容加密實際上可能會導致一些問題。一些政府系統需要它,但請首先對應用程式進行廣泛地測試。

作為開發安全基線的一部分,有幾個大型組織花費時間和金錢來確定了什麼才是“安全”:

DoD STIG:http://iase.disa.mil/stigs/os/windows
澳大利亞資訊保安手冊:
http://www.asd.gov.au/infosec/ism/index.htm
CIS基準:
https://benchmarks.cisecurity.org/downloads/browse/?category=benchmarks.os.window

如果你已經有了一個配置AD安全的GPO,你可以使用Microsoft的策略分析器你在SCM生成的“安全合規性”GPO進行比較。

組策略有兩種不同的配置思維方式,一種是使用盡可能少的GPO,儘可能多地使用相同的設定,另一種是為每個目的使用單獨的GPO。我傾向於站在這兩種思維的中間。使用單獨的GPO進行主要配置設定:Windows工作站配置,Windows伺服器配置,使用者配置等。除此之外,還需要為其他GPO配置一些新的測試設定。

對域控制器打補丁

重要的伺服器需要在釋出關鍵的安全補丁時儘快打上這些補丁。關注圍繞“我應用了一個安全補丁,那它到底修補了什麼?”。緩解對破壞性操作的擔憂並確保安全補丁被及時應用是一種微妙的平衡,當然更多的是藝術而不是科學。

1. 首先應用補丁到域控制器的子集,讓他們“烘烤”一段時間,然後再應用到另一個集,然後在所有的機器上安裝補丁。一種流行的方法是首先將該補丁應用於偶數DC,然後再部署到奇數DC。

2. 首先應用關鍵的安全修補程式。任何標記為“關鍵”且適用於DC的安全補丁都需要儘快安裝。這包括任何型別的遠端程式碼執行(RCE),AD特權提升等等。

3. 確保DC上安裝的任何服務也被正確地修補。域控制器經常會託管DNS,因此在DC上執行的易受攻擊的DNS服務可能被利用以威脅Active Directory域的安全。

4. 確保伺服器在升級為DC之前進行了完全的修補(像MS14-068這樣的安全問題使得這樣的檢查確認變得至關重要)。

保護域控制器

域控的安全以及Active Directory的許多方面的安全都基於安裝在域控制器上的Windows版本。這就是為什麼在域控制器上執行當前的Windows版本非常重要 — 較新版本的Windows伺服器有更好的安全性和增強的Active Directory安全功能。

一些Active Directory域功能級的安全功能在此處根據Windows版本列出:

Windows Server 2008 R2域功能級別:

1. Kerberos AES加密支援

允許從支援的型別中刪除RC4 HMAC Kerberos加密。請注意,Windows 7和Windows Server 2008 R2不再支援Kerberos DES加密

2. 託管服務帳戶

AD控制著服務帳戶密碼。

3. 認證機制保證

當使用智慧卡進行身份驗證時,使用者會收到組內的其他成員。

Windows Server 2012域功能級別:

1.  組託管服務帳戶

AD控制服務帳戶密碼。

2. 複合身份驗證和Kerberos FAST(Kerberos Armoring)

結合使用者和裝置進行身份驗證

保護Kerberos AS和TGT請求。

Windows Server 2012 R2域功能級別:

1. 認證策略和孤島

保護特權帳戶限制他們可以登入的位置。

2. 受保護使用者安全組

PDC設定為Windows 2012 R2以建立組

受保護的使用者主機保護(Win 8.1 / 2012R2)防止:

(1)使用NTLM,摘要認證或CredSSP進行認證。

(2)快取憑據

(3)DES或RC4加密型別在Kerberos預認證中。

(4)帳戶委派。

受保護的使用者域強制阻止:

(1)NTLM身份驗證。

(2)在Kerberos預認證中使用DES或RC4加密型別。

(3)委託不受約束或約束委派。

(4)將Kerberos TGT更新為最初的四小時生命週期。

Windows Server 2016新安全功能:

1. 特權訪問管理 – 支援單獨的堡壘(admin)林

2. Microsoft護照

只有已批准的且來自可信來源的軟體才應該安裝在域控制器上。這包括從受信任的來源安裝Windows作業系統。

域控制器應啟用Windows防火牆並配置為防止網際網路訪問。大多數時候,域控制器沒有直接聯網的好理由。

理想情況下,在域控制器上不應安裝軟體或代理,因為安裝的每個附加程式都可能提供另一個攻擊途徑。安裝的每個代理或服務都為應用程式所有者提供了在域控制器上執行程式碼的潛在能力。如果補丁基礎設施管理著所有的工作站,伺服器和域控制器,那麼攻擊者只需要拿到一個補丁基礎架構的管理員許可權,就會危及整個Active Directory環境。這就是為什麼域控制器和管理工作站/伺服器需要有他們自己的管理基礎設施且需要獨立於企業的其餘部分,因為共享系統管理可以提供危害域的更多路徑。域控制器和管理工作站/伺服器應該有自己的打補丁的基礎設施,如Windows Server Update Services(WSUS)。

保護Active Directory的最佳方法是限制域級別的管理許可權。這包括限制對域控制器的訪問,特別是登入和管理許可權。以下使用者許可權分配應配置為通過組策略對域控制器實施最小許可權:

1. 作為批處理作業登入:未定義
2. 拒絕作為批處理作業登入:來賓
3. 允許本地登入:管理員
4. 允許通過遠端桌面服務登入:管理員
5. 從網路訪問此計算機:管理員,已認證的使用者,企業域控制器
6. 備份檔案和目錄:管理員(如果需要備份代理,則為備份操作員)
7. 還原檔案和目錄:管理員(如果需要備份代理,則為備份操作員)
8. 將工作站新增到域:管理員
9. 旁路遍歷檢查:未定義
10. 拒絕從網路訪問此計算機:來賓,NT AUTHORITYLocal Account
11. 裝置:禁止使用者安裝印表機驅動程式:啟用
12. 作為服務登入:[只有需要此許可權的特定帳戶才應在此處列出]
13. 域控制器:允許伺服器操作員計劃任務:禁用
14. 拒絕通過遠端桌面服務登入:來賓,NT AUTHORITY  Local Account
15. 裝置:禁止使用者安裝印表機驅動程式:啟用
16. 關閉系統:管理員
原文釋出時間為:2017年2月19日
本文作者:絲綢之路
本文來自雲棲社群合作伙伴嘶吼,瞭解相關資訊可以關注嘶吼網站。


相關文章