必须同时启用客户端“microsoft网络客户端:对通信进行数字签名(始终)”和服务器端“microsoft网络服务器:对通信进行数字签名(始终)”两项策略,二者缺一不可,否则会导致smb连接失败;策略需统一部署于域gpo并链接至相关ou,且须验证实际连接中signing字段为true。
在域环境中,smb签名不是“开了就安全”,而是必须客户端与服务器双向强制、策略统一、验证闭环才能真正生效。只配一边会导致共享访问中断,配错顺序或忽略兼容性则可能引发大面积连接失败。
必须同时启用的两个核心策略
域环境下SMB签名防护依赖一对强制策略,缺一不可:
- 客户端侧:计算机配置 → 管理模板 → 网络 → Lanman 工作站 → “Microsoft 网络客户端:对通信进行数字签名(始终)” → 启用
- 服务器侧:计算机配置 → 管理模板 → 网络 → Lanman 服务器 → “Microsoft 网络服务器:对通信进行数字签名(始终)” → 启用
这两项策略需部署在同一GPO中,并链接到包含域控制器、成员服务器及工作站的OU。默认仅域控制器启用服务器端签名,普通成员机默认关闭,必须手动覆盖。
域策略部署的关键实操要点
批量生效不能靠逐台设置,需结合域控集中管理:
- 新建GPO(如命名为“SMB-Signing-Enforce”),编辑后启用上述两项策略
- 将GPO链接至“Domain Controllers”、“Servers”、“Workstations”等对应OU,避免误配到含旧设备的OU
- 对关键OU执行gpupdate /force,或等待默认刷新周期(通常90分钟)
- 策略生效后,旧版Windows Server 2012 R2以下、或未升级固件的NAS/打印机可能断连,需提前清单排查
验证是否真实生效的方法
不能只看策略是否“已启用”,要确认实际连接行为:
- 在任意客户端运行:Get-SmbConnection | Where-Object {$_.Signing -eq $true} | ft ServerName,ShareName,Signing
- 在文件服务器上运行:Get-SmbServerConfiguration | Select EnableSMB1Protocol,RequireSecuritySignature(RequireSecuritySignature应为True)
- 用Wireshark抓包,过滤smb2,检查SMB2 Header中是否存在“Signature”字段且值非全零
若出现“Access Denied”或“Network Path Not Found”,大概率是客户端或服务器某一方未应用策略,或存在组策略继承冲突。
与SMB加密的协同关系
Windows Server 2022 / Windows 11 24H2起,SMB加密(SMB Encryption)可替代签名提供更强保护,但二者逻辑不同:
- SMB签名防篡改、防中继,不加密内容;SMB加密则端到端加密数据,天然包含完整性校验
- 若已全局启用SMB加密(通过GPO配置“Microsoft网络客户端:要求加密”),则签名自动降级为可选,无需再强求签名
- 建议高敏感环境(如财务、法务共享)同时启用加密+签名;一般办公网优先启用签名,兼顾兼容性与防护效果
不复杂但容易忽略:签名和加密不是叠加增强,而是路径选择——加密开启后,签名协商会被跳过。











