摘要
2021 年 7 月 13 日 Windows 更新及更高版本 Windows 更新為 CVE-2021-33757 新增了保護。
安裝 2021 年 7 月 13 日 Windows 更新或更高版本的 Windows 更新之後,如果 SAM 伺服器支援 AES 加密,則當使用舊版 MS-SAMR 通訊協定執行密碼作業時,高級加密標準 (AES) 加密將是 Windows 用戶端上的首選方法。 如果 SAM 伺服器不支援 AES 加密,則允許回退到舊版 RC4 加密。
CVE-20201-33757 中的變更是 MS-SAMR 通訊協定所特有的,與其他驗證通訊協定無關。 MS-SAMR 透過 RPC 和具名管道使用 SMB。 雖然 SMB 也支援加密,但預設情況下不啟用加密。 預設啓用 CVE-20201-33757 中的變更,並提供 SAM 層的額外安全性。 除了在所有受支援的 Windows 版本上安裝 2021 年 7 月 13 日 Windows 更新或更高版本 Windows 更新中包含的 CVE-20201-33757 保護外,不需要進行其他設定變更。 不受支援的 Windows 版本應停用或升級至受支援的版本。
請注意, CVE-2021-33757 僅修改使用 MS-SAMR 通訊協定的特定 API 時密碼在傳輸中加密的方式,請勿修改密碼的儲存方式。 有關如何在 Active Directory 中和本地 SAM 資料庫(登錄)中對密碼進行加密的更多資訊,請參閱密碼概觀。
其他相關資訊
-
密碼變更模式
更新透過新增將使用 AES 的新密碼變更方法來修改通訊協定的密碼變更模式。
使用 RC4 的舊方法
使用 AES 的新方法
SamrUnicodeChangePasswordUser2 (OpNum 55)
SamrUnicodeChangePasswordUser4 (OpNum 73)
有關 MS-SAMR OpNums 的完整清單,請參閱訊息處理事件和排序規則。
-
密碼設定模式
更新透過將兩個新的使用者資訊類別添加到 SamrSetInformationUser2 (Opnum 58) 方法來修改通訊協定的密碼設定模式。 您可以按如下所示設定密碼資訊。
使用 RC4 的舊方法
使用 AES 的新方法
SamrSetInformationUser2 (Opnum 58) 與 UserInternal4InformationNew。
SamrSetInformationUser2 (Opnum 58) 與 UserInternal8Information。
SamrSetInformationUser2 (Opnum 58) 與 UserInternal5InformationNew。
SamrSetInformationUser2 (Opnum 58) 與 UserInternal7Information。
現有的 SamrConnect5 方法通常用來在 SAM 用戶端與伺服器之間建立連接。
更新的伺服器現在將在 SamrConnect5() 回應中返回新位,如 SAMPR_REVISION_INFO_V1 中定義。
值 |
意義 |
0x00000010 |
在用戶端收到時,此值(如果已設定)表示用戶端應該使用 AES 加密與 SAMPR_ENCRYPTED_PASSWORD_AES 結構來加密透過綫路發送的密碼緩衝區。 請參閱 AES 密碼用法(3.2.2.4 節)和 SAMPR_ENCRYPTED_PASSWORD_AES(2.2.6.32 節)。 |
如果更新的伺服器支援 AES,用戶端會使用新方法和新資訊類別進行密碼作業。 如果伺服器未返回此標號或用戶端未更新,用戶端會回退到使用先前的 RC4 加密方法。
密碼設定作業需要一個可寫入的網域控制站 (RWDC)。 密碼變更會由唯讀網域控制站 (RODC) 轉到 RWDC。 所有裝置都必須更新,以便使用 AES。 例如:
-
如果用戶端、RODC 或 RWDC 未更新,將會使用 RC4 加密。
-
如果用戶端、RODC 和 RWDC 均更新,將會使用 AES 加密。
2021 年 7 月 13 日更新會新增四個新事件至系統記錄檔,協助識別未更新的裝置,並幫助提升安全性。
-
設定狀態事件識別碼 16982 或 16983 會在啟動時或登錄設定變更時記錄。
事件識別碼 16982事件記錄檔
系統
事件來源
Directory-Services-SAM
事件識別碼
16982
層級
資訊
事件訊息文字
安全性帳戶管理員現在為呼叫舊版密碼變更或設定 RPC 方法的遠端用戶端記錄詳細事件。 此設定可能會導致大宗訊息,因此應該只在短時間内用于診斷問題。
事件記錄檔
系統
事件來源
Directory-Services-SAM
事件識別碼
16983
層級
資訊
事件訊息文字
安全性帳戶管理員現在為呼叫舊版密碼變更或設定 RPC 方法的遠端用戶端記錄定期摘要事件。
-
在套用 2021 年 7 月 13 日更新之後,會每隔 60 分鐘將摘要事件 16984 記錄至系統事件記錄檔。
事件識別碼 16984事件記錄檔
系統
事件來源
Directory-Services-SAM
事件識別碼
16984
層級
資訊
事件訊息文字
安全帳戶管理員在過去 60 分鐘內偵測到 %x 舊版密碼變更或設定 RPC 方法呼叫。
-
設定詳細事件記錄之後,每次使用舊版 RPC 方法變更或設定帳戶密碼時,事件識別碼 16985 都會被記錄到系統事件記錄檔。
事件識別碼 16985事件記錄檔
系統
事件來源
Directory-Services-SAM
事件識別碼
16985
層級
資訊
事件訊息文字
安全性帳戶管理員從網路用戶端偵測到使用舊版方法變更或設定 RPC 方法。 請考慮升級用戶端作業系統或應用程式,以使用此方法的最新且更安全的版本。
詳細資料:
RPC 方法:%1
用戶端網路位址:%2
用戶端 SID:%3
使用者名稱:%4
若要記錄詳細事件識別碼 16985,請切換伺服器或網域控制站上的下列登錄值。
路徑
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SAM
類型
REG_DWORD
值名稱
AuditLegacyPasswordRpcMethods
數值資料
1 = 已啟用詳細事件記錄
0 或不顯示 = 已停用詳細事件記錄。 僅摘要事件。 (預設值)
如 SamrUnicodeChangePasswordUser4 (Opnum 73) 中所述,當您使用新的 SamrUnicodeChangePasswordUser4 方法時,用戶端和伺服器會使用 PBKDF2 演算法,從純文字舊密碼衍生加密和解密金鑰。 這是因為舊密碼是伺服器和用戶端唯一已知的共同密碼。
有關 PBKDF2 的更多資訊,請參閱 BCryptDeriveKeyPBKDF2 函數 (bcrypt.h)。
如果您基於效能和安全性考慮必須變更,您可以設定用戶端上的下列登錄值,以調整用戶端用於密碼變更的 PBKDF2 反覆運算次數。
附註: 減少 PBKDF2 反覆運算次數會降低安全性。 我們不建議您將次數從預設值減少。 不過,我們建議您使用 PBKDF2 反覆運算的最高可能次數。
路徑 |
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SAM |
類型 |
REG_DWORD |
值名稱 |
PBKDF2Iterations |
數值資料 |
最小值 5,000 到最大值 1,000,000 |
預設值 |
10,000 |
附註: PBKDF2 不用於密碼設定作業。 針對密碼設定作業,SMB 工作階段金鑰是用戶端與伺服器之間的共用密碼,並用來做為衍生加密金鑰的基礎。
有關詳細資訊,請參閱取得 SMB 工作階段金鑰。
常見問題集 (FAQ)
當伺服器或用戶端不支援 AES 時,會發生降級。
使用舊版 RC4 方法時,更新的伺服器會記錄事件。
目前沒有可用的強制執行模式,但未來可能會有強制模式。 我們無法告知具體時間。
如果協力廠商裝置並未使用 SAMR 通訊協定,則這一點並不重要。 執行 MS-SAMR 通訊協定的協力廠商可能會選擇執行此協定。 如有任何問題,請聯絡協力廠商。
不需要任何進行其他變更。
此通訊協定為舊版,而且我們預期其使用率極低。 舊版應用程式可能會使用這些 API。 此外,某些 Active Directory 工具(例如 AD 使用者和電腦 MMC)會使用 SAMR。
不會。 只有使用這些特定 SAMR API 的密碼變更會受影響。
可以。 PBKDF2 比 RC4 貴。 如果在呼叫 SamrUnicodeChangePasswordUser4 API 的網域控制站上同時發生許多密碼變更,LSASS 的 CPU 負載可能會受到影響。 如有需要,您可以在用戶端上調整 PBKDF2 反覆運算,但我們不建議從預設值減少,因為這樣做會降低安全性。
參考
協力廠商資訊免責聲明
我們提供協力廠商的連絡資訊,協助您尋找技術支援。 此連絡資訊若有變更,恕不另行通知。 我們不保證此協力廠商連絡資訊的正確性。