更新日期 2024 年 3 月 20 日 - 已新增 LDS 參照
摘要
CVE-2021-42291 解決了安全性略過弱點,此弱點可讓特定使用者在 Active Directory (AD) 或輕量型目錄服務 (LDS) 中儲存的特定物件之安全敏感性屬性上設定任意值。 若要利用此弱點,使用者必須擁有足夠的權限,才能建立電腦衍生物件,例如使用者已獲得授與電腦物件的 CreateChild 權限。 這樣的使用者就可以使用過於寬鬆允許存取 securityDescriptor 屬性的輕量型目錄存取通訊協定 (LDAP) 新增呼叫,來建立電腦帳戶。 此外,建立者和擁有者可以在建立帳戶之後,修改有安全顧慮的屬性。 在某些情況下,這可運用來執行特權提高。
附註LDS 會記錄有關物件隱含存取狀態的事件 3050、3053、3051 和 3054,就像 AD 一樣。
CVE-2021-42291 中的風險降低措施包括:
-
當沒有網域或 LDS 系統管理員權限的使用者嘗試執行電腦衍生物件的 LDAP 新增作業時,隨即進行額外的授權驗證。 這包括在這類嘗試發生時,以不干擾該要求的方式進行稽核的預設稽核模式,以及會封鎖這類嘗試的強制模式。
-
當沒有網域系統管理員權限的使用者嘗試針對 securityDescriptor 屬性執行 LDAP 修改作業時,暫時移除隱含擁有者權限。 進行驗證,以確認是否允許該使用者在沒有隱含擁有者權限的情況下,寫入安全性描述元。 這也包括在這類嘗試發生時,以不干擾該要求的方式進行稽核的預設稽核模式,以及會封鎖這類嘗試的強制模式。
採取行動
若要保護您的環境並避免運作中斷,請完成下列步驟:
-
安裝最新的 Windows 更新,以更新所有主控 Active Directory 網域控制站或 LDS 伺服器角色的裝置。 具有 2021 年 11 月 9 日或更新版本更新的 DC 預設將在稽核模式下進行變更。
-
在已有 2021 年 11 月 9 日或之後所發行 Windows 更新的網域控制站或 LDS 伺服器上,監視目錄服務或 LDS 事件記錄是否出現 3044-3056 事件。 記錄的事件表示該使用者可能擁有過多的權限,而能以有安全顧慮的任意屬性來建立電腦帳戶。 使用頂級或統一支援案例或意見反應中樞,向 Microsoft 報告任何非預期的案例。 (在<新增事件>一節中可以找到這些事件的範例。)
-
如果稽核模式在一段充分的時間內,並未偵測到任何非預期的權限,請切換到強制模式,以確保不會發生負面結果。 使用頂級或統一支援案例或意見反應中樞,向 Microsoft 報告任何非預期的案例。
Windows 更新的時程
這些 Windows 更新會分成兩階段發行:
-
初始部署 – 引進更新,包括可使用 dSHeuristics 屬性設定的預設稽核模式、強制模式或停用模式。
-
最終部署 – 預設強制執行。
2021 年 11 月 9 日:初始部署階段
初始部署階段從 2021 年 11 月 9 日發行的 Windows 更新開始。 此版本針對沒有網域系統管理員權限的使用者,在建立或修改電腦或電腦衍生物件期間設定的權限,新增稽核機制。 其也會新增強制模式和停用模式。 您可以使用 dSHeuristics 屬性,針對每個 Active Directory 樹系全域地設定模式。
(2023 年 12 月 15 日更新) 最終部署階段
完成〈採取行動〉一節中所列步驟後,即可開始最終部署階段。 若要移至 [強制模式],請遵循部署指引一節中的指示,在 dSHeuristics 屬性上設定第 28 個和第 29 位元數。 然後監視事件 3044-3046。 它們會報告強制執行模式何時阻止了先前在稽核模式下可能已允許的 LDAP 新增或修改作業。
部署指引
設定組態資訊
安裝 CVE-2021-42291 後,dSHeuristics 屬性的字元 28 和 29 控制更新的行為。 dSHeuristics 屬性存在於每個 Active Directory 樹系內,其中包含整個樹系的設定。 dSHeuristics 屬性是 "CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,<Domain>" (AD ) or "CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,<configuration set>" (LDS) 物件的屬性。 如需詳細資訊,請參閱 6.1.1.2.4.1.2 dSHeuristics 和 DS-Heuristics 屬性。
字元 28 - LDAP 新增作業的附加 AuthZ 驗證
0:已啟用預設稽核模式。 當沒有網域系統管理員權限的使用者,在新的電腦衍生 AD 物件上,將 securityDescriptor 或其他屬性設定為可能授與過多權限的值,而可能允許未來進行惡意探索時,就會記錄事件。
1:已啟用強制模式。 這可防止沒有網域系統管理員權限的使用者,在電腦衍生的 AD 物件上,將 securityDescriptor 或其他屬性設定為可能授與過多權限的值。 發生此情況時,也會記錄事件。
2:停用更新的稽核機制,而且不強制執行新增的安全性。 不建議使用。
範例:如果您的樹系中未啟用任何其他 dSHeuristics 設定,且想要切換至強制模式進行額外的 AuthZ 驗證,應將 dSHeuristics 屬性設定為:
“0000000001000000000200000001”
在這種情況下設定的字元是:
第 10個字元:如果dSHeuristics屬性至少為 10 個字元
,則必須設定為 1
第 20個字元:如果dSHeuristics屬性至少為 20 個字元
,則必須設定為 2
第 20個字元:必須設定為 1 才能啟用附加 AuthZ 驗證的強制模式
字元 29 - 為 LDAP 修改作業臨時移除隱含擁有者
0:已啟用預設稽核模式。 當沒有網域系統管理員權限的使用者,在現有的電腦衍生 AD 物件上,將 securityDescriptor 屬性設定為可能授與過多權限的值,而可能允許未來進行惡意探索時,就會記錄事件。
1:已啟用強制模式。 這可防止沒有網域系統管理員權限的使用者,在現有的電腦衍生 AD 物件上,將 securityDescriptor 屬性設定為可能授與過多權限的值。 發生此情況時,也會記錄事件。
2:停用更新的稽核機制,而且不強制執行新增的安全性。 不建議使用。
範例:如果您只在樹系中設定額外的 AuthZ 驗證 dsHeuristics 旗標,且想要切換至強制模式以暫時移除隱含所有權,應將 dSHeuristics 屬性設定為:
“00000000010000000002000000011”
在這種情況下設定的字元是:
第10個字元:如果dSHeuristics屬性至少為 10 個字元
,則必須設定為 1
第 20個字元:如果dSHeuristics屬性至少為 20 個字元
,則必須設定為 2
第 28個字元:必須設定為 1 才能啟用附加 AuthZ 驗證的強制模式
第 29個字元:必須設定為 1 以啟用強制模式以臨時移除隱含擁有權
新增事件
2021 年 11 月 9 日的 Windows 更新也增加新的事件記錄檔。
模式變更事件 – LDAP 新增作業的額外 AuthZ 驗證
dSHeuristics屬性的第 28 位元時發生的事件已變更,這會變更更新的 LDAP 新增作業部分的附加 AuthZ 驗證模式。
事件記錄檔 |
目錄服務 |
事件類型 |
資訊 |
事件識別碼 |
3050 |
事件文字 |
已將目錄設定為在 LDAP 新增作業期間,強制執行每個屬性授權。 這是最安全的設定,不需採取任何動作。 |
事件記錄檔 |
目錄服務 |
事件類型 |
警告 |
事件識別碼 |
3051 |
事件文字 |
已將目錄設定為在 LDAP 新增作業期間,不強制執行每個屬性授權。 系統將會記錄警告事件,但不會封鎖任何要求。 此設定並不安全,只應作為暫時的疑難排解步驟使用。 請於下方的連結檢閱建議的風險降低措施。 |
事件記錄檔 |
目錄服務 |
事件類型 |
錯誤 |
事件識別碼 |
3052 |
事件文字 |
已將目錄設定為在 LDAP 新增作業期間,不強制執行每個屬性授權。 系統不會記錄任何事件,也不會封鎖任何要求。 此設定並不安全,只應作為暫時的疑難排解步驟使用。 請於下方的連結檢閱建議的風險降低措施。 |
模式變更事件 – 暫時移除隱含擁有者權限
dSHeuristics屬性的第 29 位元時發生的事件已變更,這會變更更新的隱含擁有者權限部分的臨時移除模式。
事件記錄檔 |
目錄服務 |
事件類型 |
資訊 |
事件識別碼 |
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 群組,當成此問題的首要解決方案。 請檢查事件記錄檔,查看需要哪些特定權限,並考慮對另一個為此目的指定之組織單位的使用者,適當委派有限的權限。
第 4 季度我也會看到 LDS 伺服器的稽核事件。 為什麼會發生此情況?
A4 上述所有項目也適用於 AD LDS,雖然在 LDS 中具有電腦物件並不常見。 當稽核模式未偵測到任何非預期的權限時,也應採取緩和措施步驟來啟用 AD LDS 的保護。