摘要

CVE-2021-42291 解決了安全性略過弱點,此弱點可讓特定使用者針對 Active Directory (AD) 中儲存的特定物件,將其有安全顧慮的屬性設定為任意值。 若要利用此弱點,使用者必須擁有足夠的權限,才能建立電腦帳戶,例如使用者已獲得授與電腦物件的 CreateChild 權限。 這樣的使用者就可以使用過於寬鬆允許存取 securityDescriptor 屬性的輕量型目錄存取通訊協定 (LDAP) 新增呼叫,來建立電腦帳戶。 此外,建立者和擁有者可以在建立帳戶之後,修改有安全顧慮的屬性。

CVE-2021-42291 中的風險降低措施包括:

  1. 當沒有網域系統管理員權限的使用者嘗試執行電腦衍生物件的 LDAP 新增作業時,隨即進行額外的授權驗證。 這包括在這類嘗試發生時,以不干擾該要求的方式進行稽核的預設稽核模式,以及會封鎖這類嘗試的強制模式。

  2. 當沒有網域系統管理員權限的使用者嘗試針對 securityDescriptor 屬性執行 LDAP 修改作業時,暫時移除隱含擁有者權限。 進行驗證,以確認是否允許該使用者在沒有隱含擁有者權限的情況下,寫入安全性描述元。 這也包括在這類嘗試發生時,以不干擾該要求的方式進行稽核的預設稽核模式,以及會封鎖這類嘗試的強制模式。

採取行動

若要保護您的環境並避免運作中斷,請完成下列步驟:

  1. 安裝 2021 年 11 月 9 日的更新,以更新所有主控 Active Directory 網域控制站角色的裝置。 根據預設,這會在稽核模式中實作變更。

  2. 請在進行程式設計的強制模式之前,在已有 2021 年 11 月 9 日或之後所發行 Windows 更新的網域控制站上,監視目錄服務事件記錄是否出現 3044-3056 事件。 記錄的事件表示該使用者可能擁有過多的權限,而能以有安全顧慮的任意屬性來建立電腦帳戶。 使用頂級或統一支援案例或意見反應中樞,向 Microsoft 報告任何非預期的案例。 (在<新增事件>一節中可以找到這些事件的範例。)

  3. 如果稽核模式在一段充分的時間內,並未偵測到任何非預期的權限,請切換到強制模式,以確保不會發生負面結果。 使用頂級或統一支援案例或意見反應中樞,向 Microsoft 報告任何非預期的案例。

重要: 在即將推出的更新中,預設都會開啟強制模式,但 不會早於2022 年 4 月 12 日

Windows 更新的時程

這些 Windows 更新會分成兩階段發行:

  1. 初始部署 – 引進更新,包括可使用 dSHeuristics 屬性設定的預設稽核模式、強制模式或停用模式。

  2. 最終部署 – 預設為強制模式,並移除停用模式。

2021 年 11 月 9 日:初始部署階段

初始部署階段從 2021 年 11 月 9 日發行的 Windows 更新開始。 此版本針對沒有網域系統管理員權限的使用者,在建立或修改電腦或電腦衍生物件期間設定的權限,新增稽核機制。 其也會新增強制模式和停用模式。 您可以使用 dSHeuristics 屬性,針對每個 Active Directory 樹系全域地設定模式。

2022 年 4 月 12 日:最終部署階段

最終部署階段從 2022 年 4 月 12 日 (未定) 或之後發行的 Windows 更新開始。 此階段將會將預設變更為強制模式,並移除停用模式。

注意 此更新假設所有網域控制站均已更新為 2021 年 11 月 9 日或之後的更新。

部署指引

設定組態資訊

安裝 CVE-2021-42291 之後,dSHeuristics 屬性的字元 27 和 28 會控制更新的行為。 dSHeuristics 屬性存在於每個 Active Directory 樹系內,其中包含整個樹系的設定。 dSHeuristics 屬性是 "CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,<Domain>" 物件的屬性。 如需詳細資訊,請參閱 6.1.1.2.4.1.2 dSHeuristicsDS-Heuristics 屬性

字元 27 – LDAP 新增作業的額外 AuthZ 驗證

0:已啟用預設稽核模式。 當沒有網域系統管理員權限的使用者,在新的電腦衍生 AD 物件上,將 securityDescriptor 或其他屬性設定為可能授與過多權限的值,而可能允許未來進行惡意探索時,就會記錄事件。

1:已啟用強制模式。 這可防止沒有網域系統管理員權限的使用者,在電腦衍生的 AD 物件上,將 securityDescriptor 或其他屬性設定為可能授與過多權限的值。 發生此情況時,也會記錄事件。

2:停用更新的稽核機制,而且不強制執行新增的安全性。 不建議使用。

範例:如果您的樹系中未啟用任何其他 dSHeuristics 設定,且想要切換至強制模式進行額外的 AuthZ 驗證,應將 dSHeuristics 屬性設定為:

“000000000000000000000000001” (“1” 的前面有 26 個零)

字元 28: 暫時移除 LDAP 修改作業的隱含擁有者

0:已啟用預設稽核模式。 當沒有網域系統管理員權限的使用者,在現有的電腦衍生 AD 物件上,將 securityDescriptor 屬性設定為可能授與過多權限的值,而可能允許未來進行惡意探索時,就會記錄事件。

1:已啟用強制模式。 這可防止沒有網域系統管理員權限的使用者,在現有的電腦衍生 AD 物件上,將 securityDescriptor 屬性設定為可能授與過多權限的值。 發生此情況時,也會記錄事件。

2:停用更新的稽核機制,而且不強制執行新增的安全性。 不建議使用。

範例:如果您只在樹系中設定額外的 AuthZ 驗證 dsHeuristics 旗標,且想要切換至強制模式以暫時移除隱含所有權,應將 dSHeuristics 屬性設定為:

“0000000000000000000000000011” (兩個 “1” 的前面有 26 個零)

新增事件

2021 年 11 月 9 日的 Windows 更新也增加新的事件記錄檔。

模式變更事件 – LDAP 新增作業的額外 AuthZ 驗證

dSHeuristics 屬性已變更為位元 27 時發生的事件,其會針對該更新的 LDAP 新增作業部分,變更額外 AuthZ 驗證的模式。

事件記錄檔

目錄服務

事件類型

資訊

事件識別碼

3050

事件文字

已將目錄設定為在 LDAP 新增作業期間,強制執行每個屬性授權。

這是最安全的設定,不需採取任何動作。

事件記錄檔

目錄服務

事件類型

警告

事件識別碼

3051

事件文字

已將目錄設定為在 LDAP 新增作業期間,不強制執行每個屬性授權。 系統將會記錄警告事件,但不會封鎖任何要求。

此設定並不安全,只應作為暫時的疑難排解步驟使用。 請於下方的連結檢閱建議的風險降低措施。

事件記錄檔

目錄服務

事件類型

錯誤

事件識別碼

3052

事件文字

已將目錄設定為在 LDAP 新增作業期間,不強制執行每個屬性授權。 系統不會記錄任何事件,也不會封鎖任何要求。

此設定並不安全,只應作為暫時的疑難排解步驟使用。 請於下方的連結檢閱建議的風險降低措施。

模式變更事件 – 暫時移除隱含擁有者權限

dSHeuristics 屬性已變更為位元 28 時發生的事件,其會針對該更新的暫時移除隱含擁有者權限部分變更模式。

事件記錄檔

目錄服務

事件類型

資訊

事件識別碼

3053

事件文字

已將目錄設定為在 LDAP 新增和修改作業期間,一開始設定或修改 nTSecurityDescriptor 屬性時,隨即封鎖隱含擁有者權限。

這是最安全的設定,不需採取任何動作。

事件記錄檔

目錄服務

事件類型

警告

事件識別碼

3054

事件文字

已將目錄設定為在 LDAP 新增和修改作業期間,一開始設定或修改 nTSecurityDescriptor 屬性時,隨即允許隱含擁有者權限。 系統將會記錄警告事件,但不會封鎖任何要求。

此設定並不安全,只應作為暫時的疑難排解步驟使用。 

事件記錄檔

目錄服務

事件類型

錯誤

事件識別碼

3055

事件文字

已將目錄設定為在 LDAP 新增和修改作業期間,一開始設定或修改 nTSecurityDescriptor 屬性時,隨即允許隱含擁有者權限。 系統不會記錄任何事件,也不會封鎖任何要求。

此設定並不安全,只應作為暫時的疑難排解步驟使用。 

稽核模式事件

在稽核模式中發生的事件,以記錄 LDAP 新增或修改作業的潛在安全性疑慮。

事件記錄檔

目錄服務

事件類型

警告

事件識別碼

3047

事件文字

目錄服務偵測到下列物件的 LDAP 新增要求,一般會因為下列安全性理由而遭到封鎖。

根據預設的合併安全性描述元,用戶端無權寫入新增要求中所包含的一或多個屬性。

目前將目錄設定為僅稽核模式,以進行此安全性檢查,所以允許繼續進行該要求。

物件 DN:<所建立物件的 DN>

物件類別:<所建立物件的 objectClass>

使用者:<嘗試執行 LDAP 新增的使用者>

用戶端 IP 位址:<要求者的 IP 位址>

安全性描述:<所嘗試的 SD>

事件記錄檔

目錄服務

事件類型

警告

事件識別碼

3048

事件文字

目錄服務偵測到下列物件的 LDAP 新增要求,一般會因為下列安全性理由而遭到封鎖。

用戶端在新增要求中納入 nTSecurityDescriptor 屬性,但根據預設的合併安全性描述元,用戶端沒有明確權限可寫入新安全性描述元的一或多個部分。

目前將目錄設定為僅稽核模式,以進行此安全性檢查,所以允許繼續進行該要求。

物件 DN:<所建立物件的 DN>

物件類別:<所建立物件的 objectClass>

使用者:<嘗試執行 LDAP 新增的使用者>

用戶端 IP 位址:<要求者的 IP 位址>

事件記錄檔

目錄服務

事件類型

警告

事件識別碼

3049

事件文字

目錄服務偵測到下列物件的 LDAP 修改要求,一般會因為下列安全性理由而遭到封鎖。

用戶端在新增要求中納入 nTSecurityDescriptor 屬性,但根據預設的合併安全性描述元,用戶端沒有明確權限可寫入新安全性描述元的一或多個部分。

目前將目錄設定為僅稽核模式,以進行此安全性檢查,所以允許繼續進行該要求。

物件 DN:<所建立物件的 DN>

物件類別:<所建立物件的 objectClass>

使用者:<嘗試執行 LDAP 新增的使用者>

用戶端 IP 位址:<要求者的 IP 位址>

事件記錄檔

目錄服務

事件類型

警告

事件識別碼

3056

事件文字

目錄服務已在下面指定的物件上處理 sdRightsEffective 屬性的查詢。 因為目錄已設定為允許隱含擁有者權限,所以傳回的存取遮罩才包含 WRITE_DAC,但這不是安全的設定。

物件 DN:<所建立物件的 DN>

使用者:<嘗試執行 LDAP 新增的使用者>

用戶端 IP 位址:<要求者的 IP 位址>

強制模式 - LDAP 新增失敗

當 LDAP 新增作業遭到拒絕時發生的事件。

事件記錄檔

目錄服務

事件類型

警告

事件識別碼

3044

事件文字

目錄服務已拒絕下列物件的 LDAP 新增要求。 此要求遭到拒絕,因為根據預設的合併安全性描述元,用戶端無權寫入新增要求中所包含的一或多個屬性。

物件 DN:<所建立物件的 DN>

物件類別:<所建立物件的 objectClass>

使用者:<嘗試執行 LDAP 新增的使用者>

用戶端 IP 位址:<要求者的 IP 位址>

安全性描述:<所嘗試的 SD>

事件記錄檔

目錄服務

事件類型

警告

事件識別碼

3045

事件文字

目錄服務已拒絕下列物件的 LDAP 新增要求。 此要求遭到拒絕,因為用戶端在新增要求中納入 nTSecurityDescriptor 屬性,但根據預設的合併安全性描述元,用戶端沒有明確權限可寫入新安全性描述元的一或多個部分。

物件 DN:<所建立物件的 DN>

物件類別:<所建立物件的 objectClass>

使用者:<嘗試執行 LDAP 新增的使用者>

用戶端 IP 位址:<要求者的 IP 位址>

強制模式 - LDAP 修改失敗

當 LDAP 修改作業遭到拒絕時發生的事件。

事件記錄檔

目錄服務

事件類型

警告

事件識別碼

3046

事件文字

目錄服務已拒絕下列物件的 LDAP 修改要求。 此要求遭到拒絕,因為用戶端在修改要求中納入 nTSecurityDescriptor 屬性,但根據物件的現有安全性描述元,用戶端沒有明確權限可寫入新安全性描述元的一或多個部分。

物件 DN:<所建立物件的 DN>

物件類別:<所建立物件的 objectClass>

使用者:<嘗試執行 LDAP 新增的使用者>

用戶端 IP 位址:<要求者的 IP 位址>

常見問題集

問 1:如果我混合使用已更新和未更新的 Active Directory 網域控制站,會發生什麼情況?

答 1:未更新的 DC 不會記錄與此弱點相關的事件。

問 2:對於唯讀網域控制站 (RODC),我需要做什麼?

答 2:無;LDAP 新增和修改作業無法以 RODC 為目標。

問 3:在啟用強制模式之後,我擁有的協力廠商產品或處理程序執行失敗。 我是否需要授與服務或使用者網域系統管理員權限?

答 3:通常不建議您將服務或使用者新增至 Domain Administrators 群組,當成此問題的首要解決方案。 請檢查事件記錄檔,查看需要哪些特定權限,並考慮對另一個為此目的指定之組織單位的使用者,適當委派有限的權限。

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×