Windows系统中SMB签名可强制启用:客户端执行Set-SmbClientConfiguration -RequireSecuritySignature $true,服务器端执行Set-SmbServerConfiguration -RequireSecuritySignature $true,或通过组策略统一配置“网络客户端/服务器:对通信进行数字签名(始终)”,启用后拒绝未签名连接,但会带来10%–15%性能开销且不提供加密功能。
windows 系统默认对 smb 连接启用签名要求,但具体是否“强制”取决于版本和策略配置。若你希望明确启用并确保客户端或服务器端必须使用 smb 签名(即拒绝未签名的连接),需分别配置客户端与服务器端策略。
启用 SMB 客户端强制签名
这会让本机作为 SMB 客户端时,只连接支持签名的服务器,拒绝不签名的设备(如老旧 NAS、Win7 主机)。
- 以管理员身份运行 PowerShell,执行:
Set-SmbClientConfiguration -RequireSecuritySignature $true -Force - 该设置立即生效,无需重启
- 验证是否启用:运行 Get-SmbClientConfiguration | Select-Object RequireSecuritySignature,返回 True 即表示已强制
启用 SMB 服务器端强制签名
这会让本机作为共享提供方(例如开启文件共享的 Win11 电脑),只接受带有效签名的入站连接。
- 管理员 PowerShell 中执行:
Set-SmbServerConfiguration -RequireSecuritySignature $true -Force - 同样立即生效
- 注意:此设置会影响所有连接到你的共享的设备;若对方不支持 SMB 签名(如部分电视、老路由器挂载的 USB 存储),将直接连接失败
通过组策略统一管控(专业版/企业版)
适用于需要集中管理多台设备的场景:
- 打开 gpedit.msc → 计算机配置 > Windows 设置 > 安全设置 > 本地策略 > 安全选项
- 启用以下两项:
• Microsoft 网络客户端:对通信进行数字签名(始终)(控制出站)
• Microsoft 网络服务器:对通信进行数字签名(始终)(控制入站) - 修改后建议运行 gpupdate /force 并重启,确保策略完整加载
注意事项
SMB 签名会带来约 10%–15% 的性能开销,尤其在大量小文件传输时更明显。它不能替代加密——签名只防篡改,不防窃听;如需防监听,应额外启用 SMB 加密(Set-SmbServerConfiguration -EncryptData $true)。


















