windows 11专业版/企业版用户需通过本地组策略启用“对所有网络驱动器连接进行数字签名”,勾选“已启用”并选择“如果服务器支持则要求签名”,以强制出站smb连接使用数字签名防中间人攻击。

组策略中开启网络驱动器连接数字签名
Windows 11企业版或专业版用户需通过本地组策略强制启用SMB签名,防止中间人篡改网络驱动器通信数据,否则挂载的\servershare可能被劫持或伪造响应。
该设置仅影响出站SMB连接(即本机访问其他设备的共享),不控制入站请求;若目标服务器未启用SMB签名,本机将拒绝连接并弹出“无法访问”错误。
第一步:按 Win + R 打开运行框,输入 gpedit.msc 并回车,启动本地组策略编辑器。
第二步:在左侧导航栏中,依次展开:计算机配置 → 管理模板 → 网络 → Lanman 工作站。
第三步:在右侧窗格中,双击打开策略项:“对所有网络驱动器连接进行数字签名”。
第四步:勾选【已启用】,下方两个选项保持默认——“如果服务器支持,则要求使用数字签名” 是推荐强度,既兼容老设备又保障主流通信安全;不要选“始终要求”,否则会断开所有不支持SMB签名的NAS、旧版Windows Server或Samba服务。
第五步:点击【确定】保存,策略立即写入注册表,但需重启资源管理器或注销当前用户才能生效。可按 Ctrl+Shift+Esc 打开任务管理器 → 找到“Windows 资源管理器” → 右键选择“重新启动”快速刷新。
验证签名是否实际启用
方法一:命令行快速检测
以管理员身份运行 PowerShell,执行:Get-SmbClientConfiguration | Select-Object RequireSecuritySignature, EnableSecuritySignature。
若返回值中 RequireSecuritySignature 为 True,说明组策略已生效;若为 False,说明策略未加载或被更高优先级GPO覆盖。
方法二:挂载时抓包确认
在启用策略后,用 net use Z: \192.168.1.100share /user:admin pass123 挂载任意SMB共享,同时用 Wireshark 过滤 smb2 && smb2.cmd == 1(Session Setup Request),查看 TCP 流中 SMB2 Negotiate Protocol Response 的 SecurityMode 字段——若第0位(Signing Required)为1,则签名强制已触发。
绕过失败连接的临时处理
当目标服务器不支持SMB签名导致映射失败时,可临时禁用本机签名要求,但【仅限测试环境,切勿在域内生产网络使用】。
回到组策略编辑器,打开同一策略项,改为【已禁用】→【确定】→ 重启资源管理器。
或者直接在管理员PowerShell中执行:Set-SmbClientConfiguration -RequireSecuritySignature $false -Confirm:$false,该命令即时生效且优先级高于组策略,但重启后会被组策略覆盖。











