禁用SMBv1是Windows文件服务器安全加固的刚性要求,必须通过组策略同时启用Lanman工作站和服务器下的“禁止使用SMB1协议”,验证EnableSMB1Protocol为False、注册表值为0,并配套卸载功能组件。
禁用 smbv1 是 windows 文件服务器安全加固的刚性要求。它不是可选项,而是必须项——这个协议自 2014 年被微软正式弃用,2017 年“永恒之蓝”漏洞(ms17-010)证明其存在远程代码执行风险,且至今无根本修复。只要它在系统中处于启用或可加载状态,攻击面就真实存在。
优先使用组策略统一禁用
域环境必须走组策略路径,这是最可控、可审计、可回滚的方式:
- 打开组策略管理控制台(GPMC),编辑目标 OU 的策略,定位到:
计算机配置 → 管理模板 → 网络 → Lanman 工作站,启用“禁止使用 SMB1 协议”
计算机配置 → 管理模板 → 网络 → Lanman 服务器,同样启用该策略 - 两项必须同时启用,缺一不可:只关客户端,本机仍可被其他设备用 SMBv1 连接;只关服务端,本机仍可能向外发起不安全连接
- 策略发布后运行 gpupdate /force,重启计算机或等待默认 90 分钟刷新周期
验证是否真正生效
不能只看策略设置界面,要查运行时状态:
- PowerShell 中执行:
Get-SmbServerConfiguration | Select-Object EnableSMB1Protocol —— 返回值必须为 False - 检查注册表:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters 下的 EnableSMB1 值应为 0(DWORD)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters 下同名键也应为 0 - 用仅支持 SMBv1 的旧设备(如部分老 NAS 或嵌入式终端)尝试访问共享,连接应直接失败并提示“不支持的协议”或“错误 58”
配套卸载功能组件更彻底
组策略只是阻止加载,未移除二进制文件。对确认无兼容依赖的服务器,建议追加卸载:
- 管理员权限运行 PowerShell:
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Client -NoRestart
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Server -NoRestart - 执行后重启系统,再运行 Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol,状态应为 Disabled
- 注意:Windows Server 2016 及更新版本、Windows 10 1809+、Windows 11 默认不安装 SMBv1,但升级或手动启用过的需主动清理
同步关闭关联高危服务与端口
SMBv1 不是孤立存在的,它常与多个老旧服务联动暴露风险:
- 禁用 TCP/IP NetBIOS Helper 服务:自动关闭 UDP 137/138、TCP 139 端口,消除 NetBIOS 名称解析攻击面
- 停止并设为手动启动 Computer Browser 和 SSDP Discovery:这两项在现代网络中已无实际用途,却是扫描器常用入口
- 若服务器不提供文件共享,直接禁用 Server 和 Workstation 服务;若仅作客户端访问他人共享,则禁用 Server 服务即可


















