Windows 11將默認要求SMB簽名,并計劃逐步推廣到其他Windows版本
微軟宣布,為了提高Windows的安全性,此后在Windows 11 Insider Preview Build 25381企業版中,默認所有連接都需要SMB簽名。并且預計在接下來的幾個月里,Pro、Education和其他Windows版本以及Windows Server都會對簽名進行此默認更改。
SMB簽名可以確保每條消息都包含使用會話密鑰和密碼套件生成的簽名。如果有人在傳輸過程中更改了消息本身,則整個消息的哈希值將不匹配,從而可得知有人篡改了數據。它還會確認發送方和接收方是否是本人,以此防范中繼攻擊。
微軟官網上說,所有版本的Windows和Windows Server都支持SMB簽名,但第三方可能會對它禁用或不支持。如果用戶嘗試連接到不允許SMB簽名的第三方SMB服務器上的遠程共享,用戶應該會收到以下錯誤消息之一:0xc000a000、-1073700864、STATUS_INVALID_SIGNATURE、The cryptographic signature is invalid.

若要解決此問題,可以將第三方SMB服務器配置為支持SMB簽名。微軟不建議在Windows中禁用SMB簽名或使用SMB1來解決此問題(SMB1支持簽名但不強制執行)。不支持簽名的SMB設備允許惡意方進行攔截和中繼攻擊。同時,SMB簽名不可避免會略微降低SMB復制操作的性能,用戶需要謹慎對自身實際情況進行評估,以判斷極高性能和延遲要求是否優先于未簽名流量帶來的安全性缺失。
若要查看當前SMB簽名設置,請運行以下PowerShell命令::
Get-SmbServerConfiguration | FL requiresecuritysignature
Get-SmbClientConfiguration | FL requiresecuritysignature
若要禁用客戶端連接中的SMB簽名要求,請以管理員身份運行以下PowerShell命令:
Set-SmbClientConfiguration -RequireSecuritySignature $false
若要禁用服務器中的SMB簽名要求,請以管理員身份運行以下PowerShell命令:
Set-SmbServerConfiguration -RequireSecuritySignature $false
微軟表示,在未來幾年,他們將繼續推出更安全的SMB默認設置和許多新的SMB安全選項;微軟知道這些變化會影響應用程序兼容性,并且Windows也有確保易用性的傳統,但安全性不能聽天由命。