在 Windows 11 和 Windows Server 2025 上阻止 NTLM 連接

Jacki

作為逐步淘汰不安全協議的一部分,微軟已經已刪除從 Windows 11 版本 24H2 和 Windows Server 2025 開始支持已棄用的 NTLMv1 身份驗證協議,鼓勵使用 Kerberos 等更安全的替代方案。還計劃在 Windows 的未來版本中棄用 NTLMv2。

如果用戶嘗試連接到僅支持 NTLMv1 身份驗證的遠程計算機或 NAS 設備,則會顯示錯誤消息。

Authentication failed because NTLM authentication has been disabled

在這種情況下,在事件查看器中,您可以找到如下事件:

ERROR_NTLM_BLOCKED
Error code: 1937 (0x791)
Authentication failed because NTLM authentication has been disabled.

如果您嘗試通過 RDP 從工作組中的計算機連接到運行 Windows 11 24H2 的域設備,您可能會收到以下錯誤:

An authentication error has occurred.
The function requested is not supported.
This could be due NTLM authentication being blocked on the remote computer.
This also be due to CredSSP encryption oracle remediation.

缺乏對 NTLMv1 協議的支持可能會導致僅支持這種過時身份驗證方法的設備出現連接問題。從 Synology NAS 和 TrueNAS 映射的網絡驅動器尤其會出現問題。為了繼續在 Windows 11 中使用此類設備,您需要將它們配置為至少使用 NTLMv2(可能需要固件更新)。

參見:在 Windows Server 2019 / 2016 / 2012 中啟用多個遠程桌面連接

審核 Windows 環境中的 NTLMv1 使用情況

增強的 NTLM 身份驗證事件審核現在也可用於 Windows 11 24H2 和 Windows Server 2025。使用 NTLM 身份驗證(v1 或 v2)時,Windows 會記錄相應的事件(事件查看器->應用程序和服務日誌->微軟->視窗->NTLM->操作)

此類事件的詳細信息將包含:

  • 計算機上的用戶和進程嘗試使用 NTLM 身份驗證。
  • 使用什麼版本的 NTLM
  • 請求 NTLM 身份驗證的遠程設備的名稱和/或 IP 地址。

在我的示例中,NTLM 身份驗證日誌包含有關使用當前允許的 NT LAN Manager 版本 2 的信息性消息,以及在嘗試使用過時的 NTLM1v1 版本時發出的警告。

默認情況下啟用 NTLM 使用事件收集。可以通過以下方式禁用此審核NTLM 增強日誌記錄GPO 編輯器中的選項(管理模板 -> 系統 -> NTLM)。

在 AD 域控制器上,此組策略選項是記錄增強型域範圍 NTLM 日誌

但是,NTLMv1 仍然可以用於 Windows 中某些舊加密算法中的身份驗證,例如:MS-CHAPv2在AD域中。 Microsoft 建議在設備上啟用 Credential Guard,以保護使用 NTLMv1 的舊協議。

微軟發布了一個路線圖為了在禁用 Credential Guard 的設備上禁用 NTLMv1,從 Windows 11 版本 24H2 和 Windows Server 2025 開始逐步推出審核和強制更改,以通過逐步淘汰舊協議來增強安全性。

根據這個路線圖:

  • NTLMv1 使用情況審核已啟用2025 年 8 月(事件 ID:4024
  • 這些更改將在 Windows Server 2025 中實施2025 年 11 月
  • 2026 年 10 月,Microsoft 將從審核模式切換到完全強制執行,設置默認值以阻止在未手動配置此設置的設備上默認使用 NTLMv1 派生憑據進行單點登錄。此更改將通過設置來實現阻止Ntlmv1SSO註冊表參數。 (HKLMSYSTEMcurrentcontrolsetcontrollsamsv1_0),其值將從0(審核模式)至1(執行)。

建議您在實施更改之前測試您的環境,以確保它在完全禁用 NTLM 的情況下正常工作。

Windows 11(版本 24H2+)和 Windows Server 2025 中的另一個變化與使用 NTLM 進行 SMB 身份驗證有關。現在,當訪問遠程計算機上的共享網絡文件夾和打印機時,可以在客戶端禁用 NTLM 身份驗證協議以進行傳出 SMB 連接。

完全禁用 SMB 客戶端的 NTLM:

Set-SMbClientConfiguration -BlockNTLM $true

或者,您可以禁用特定映射驅動器的 NTLM:

New-SmbMapping -RemotePath \srv1shared -BlockNTLM $true

或者

NET USE \srv1shared /BLOCKNTLM

這可以防止 SMB 客戶端在通過 SPNEGO 協商身份驗證協議後回退到 NTLM,而不是使用更安全的 Kerberos 協議(例如,在通過 IP 地址而不是 FQDN 映射共享驅動器時,或者在本地帳戶下連接時可能會發生這種情況)。

要僅允許對某些設備使用 NTLM 身份驗證,請將其地址添加到例外列表中。

Set-SmbClientConfiguration -BlockNTLMServerExceptionList "192.168.123.12,*.woshub.com"

可以通過組策略選項應用這些設置電腦配置->管理模板->網絡->蘭曼工作站

  • 塊 NTLM(LM、NTLM、NTLMv2)
  • 阻止 NTLM 服務器例外列表

引入了新的 GPO 選項,允許您限制訪問網絡文件夾時 NTLM 身份驗證嘗試失敗之間的時間間隔。這個參數被稱為啟用身份驗證速率限制器(計算機配置 -> 管理模板 -> 網絡 -> Lanman 服務器)。此選項通過在每次失敗的 NTLM 身份驗證嘗試之間引入默認的 2 秒 (2000 毫秒) 延遲,從而顯著減慢攻擊嘗試,從而保護 SMB 服務器免受對共享文件夾的暴力攻擊和字典攻擊