設定 Windows 的 SMB 驗證速率限制器
SMB 驗證速率限制器是適用於 Windows Server 和 Windows 用戶端的 SMB 伺服器功能,其設計目的是要解決暴力破解驗證攻擊。 暴力破解驗證攻擊會在一秒內多次猜測使用者名稱和密碼來轟炸 SMB 伺服器。 從 Windows Server 2025 和 Windows 11 版本 24H2 開始,預設會啟用 SMB 驗證速率限制器。 每個失敗的 NTLM 或 PKU2U 型驗證嘗試之間的預設延遲為 2 秒,此秒數可以自行設定。 在本文中。 了解 SMB 驗證速率限制器的運作方式,以及如何進行設定。
如果管理員允許透過 Windows 防火牆存取 SMB 伺服器服務以開啟或複製遠端檔案,則不良行為者可以使用 SMB 存取來嘗試進行驗證。 知道使用者名稱後,攻擊者可以使用多種方法向電腦傳送本機或 Active Directory 型 NTLM 登入資訊。 猜測密碼以嘗試登入的頻率可以從每秒數十次到數千次。 若要深入了解 NTLM,請參閱 NTLM 概觀:
如果您的組織沒有入侵偵測軟體或沒有設定密碼鎖定原則,則攻擊者就能猜測使用者的密碼。 儘管 SMB 伺服器預設在所有版本的 Windows 上執行,但預設為無法存取,除非防火牆規則允許。 關閉防火牆並將裝置加入不安全網路的終端使用者也會面臨類似的問題。
SMB 驗證速率限制器的運作方式
SMB 伺服器服務使用驗證速率限制器在每次失敗的 NTLM 或 PKU2U 型驗證嘗試之間實行 2 秒的延遲。 這代表如果攻擊者之前從用戶端每秒傳送 300 次暴力破解嘗試並持續 5 分鐘 (即 90,000 組密碼),那麼現在要嘗試相同次數將需要花費 50 小時或更長時間。 SMB 驗證速率限制器與深度防禦技術類似,其目的是透過增加攻擊成本來降低 Windows 電腦成為目標的誘因。
必要條件
在設定 SMB 驗證速率限制器之前,您需要:
- 在下列其中一個作業系統上執行的 SMB 伺服器。
- Windows Server 2025:
- Windows 11 版本 24H2 或更新版本。
- 電腦的系統管理權限。
- 如果您在網域上使用群組原則,則需要具有建立或編輯群組原則物件 (GPO) 並將其連結到適當的組織單位 (OU) 的權限。
設定 SMB 驗證速率限制器
使用 SMB 驗證速率限制器,您可以設定失敗驗證嘗試之間的延遲時間。 您也可以在 PowerShell 中或使用群組原則手動啟用或停用 SMB 速率限制器。 若要啟用 SMB 驗證速率限制器,請依照以下步驟操作。
以下介紹如何使用 PowerShell 中的 SmbServerConfiguration Cmdlet 來設定 SMB 驗證速率限制器。
以管理員身分開啟 PowerShell 視窗。
決定每次失敗的 NTLM 或 PKU2U 型驗證嘗試之間要延遲的毫秒數。 預設值為 2000 毫秒 (2 秒)。 您的值必須是 100 的倍數,允許範圍為 0-10000。
執行以下命令來啟用 SMB 驗證速率限制器。
Set-SmbServerConfiguration -InvalidAuthenticationDelayTimeInMs <Milliseconds>
注意
將該變數設為 0 將停用 SMB 驗證速率限制器。
若要查看目前值,請執行以下命令:
Get-SmbServerConfiguration | Format-List -Property InvalidAuthenticationDelayTimeInMs
SMB 驗證速率限制器不會影響 Kerberos; Kerberos 會在 SMB 連線等應用程式協定之前進行驗證。 SMB 驗證速率限制器的設計目的是成為另一層深度防禦,特別是對於未加入網域的裝置。