如何彻底关闭 Windows SMBv1 协议防止永恒之蓝漏洞?
核心结论:禁用 SMBv1 协议可阻断永恒之蓝 (MS17-010) 攻击路径,该漏洞通过 445 端口利用 SMBv1 协议实现远程代码执行,2017 年 WannaCry 勒索病毒借此感染全球超过 20 万台计算机。
原因分析
SMB(Server Message Block) 协议是 Windows 系统文件共享的核心协议,其中 SMBv1 版本存在严重安全缺陷。永恒之蓝漏洞 (MS17-010) 的技术原理是攻击者向 445 端口发送恶意数据包,触发系统内核缓冲区溢出,直接获取最高权限。该攻击无需用户交互,联网即可自动在内网扩散。受影响的系统包括 Windows XP、Windows 7、Windows Server 2008 等老旧版本,而 Windows 10 家庭版和专业版默认仍可能安装 SMBv1,Windows 11 和 Windows Server 2019 及更高版本默认不安装 SMBv1。
检测 SMBv1 状态
在执行关闭操作前,需确认当前系统是否启用了 SMBv1。以管理员身份运行 PowerShell,输入命令:Get-SmbServerConfiguration | Select EnableSMB1Protocol。输出为 True 表示启用,False 表示禁用。此检测方法适用于 Windows Server 2012、Windows Server 2016、Windows Server 2019、Windows Server 2022、Windows Server 2025、Windows 10、Windows 11 等系统。
解决方案:三种禁用方法
方法一:PowerShell 命令禁用(推荐)
以管理员身份运行 PowerShell,执行命令:Set-SmbServerConfiguration -EnableSMB1Protocol $false。执行完成后重启系统使配置生效。对于 Windows 11 系统,还需执行:Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Client和Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Server。验证结果使用命令:Get-SmbServerConfiguration | Select-Object EnableSMB1Protocol,输出值应为 False。
方法二:Windows 功能管理器禁用
打开控制面板 → 程序 → 启用或关闭 Windows 功能,取消勾选「SMB 1.0/CIFS 文件共享支持」,点击确定保存更改并重启系统。此方法适用于 Windows 7、Windows 8、Windows 10、Windows 11 等桌面系统。注意 Windows 10 家庭版和专业版默认可能仍安装 SMBv1,需手动关闭。
方法三:注册表编辑器禁用(适用于 Windows Server 2008)
打开注册表编辑器 (regedit),导航至路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters。新建 DWORD(32 位) 值,命名为「SMB1」,将值设置为 0(0 表示禁用,1 表示启用)。对于 Windows 7 系统,还需在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\mrxsmb10下新建「Start」值,数值数据修改为 4。
防火墙端口管控
除禁用 SMBv1 协议外,还需在防火墙层面阻止 139 和 445 端口的入站连接。通过 Windows 防火墙高级设置,创建入站规则:规则类型选择「端口」,指定端口输入「139,445」(英文逗号分隔),协议选择 TCP,操作选择「阻止连接」,配置文件勾选「域」「专用」「公用」所有选项。命名规则如「阻止 TCP139,445 端口」。注意关闭 139、445 端口会影响局域网文件/打印机共享,若需共享文件,建议升级 SMB 协议至 v3 及以上版本并启用加密。
安装安全补丁
通过 Windows Update 自动更新,或手动下载 MS17-010 对应补丁。根据系统版本选择补丁编号:KB4012212(适用于 Windows 7 SP1)、KB4012215(适用于 Windows Server 2008 R2 SP1)等。及时升级系统或通过官网发布的漏洞补丁进行修复是防御永恒之蓝的根本措施。
注意事项
1. 微软官方明确建议不要禁用 SMBv2 或 SMBv3,禁用 SMBv2/SMBv3 只能作为临时故障排除措施,长期禁用会导致以下功能失效:请求复合、大型读写、文件夹和文件属性缓存、持久句柄、改进的消息签名(HMAC SHA-256 代替 MD5)、透明故障转移、多通道聚合网络带宽、端到端加密等。
2. 禁用 SMBv1 并不等于关闭整个 SMB 服务,SMBv2/v3 仍可支持现代局域网文件共享。若完全关闭 SMB 服务(包括 v2/v3),将导致无法访问局域网共享文件夹、打印机共享功能失效、部分远程管理工具无法使用。
3. Windows 10 家庭版和专业版默认可能仍安装 SMBv1,需手动检查并关闭;Windows 11 和 Windows Server 2019 及更高版本默认不安装 SMBv1。
4. 若系统更新后端口重新开启,需结合禁用相关服务(如「Server」和「Workstation」服务)或修改注册表实现持久化关闭。
5. 在内部网络中,完全禁用文件共享可能不现实,目标是在保障必要业务功能的前提下最大限度地压缩攻击面。
参考来源
来源:Microsoft Learn - 在 Windows 中检测、启用和禁用 SMBv1、SMBv2 和 SMBv3(2025 年 8 月 16 日)
来源:CSDN 博客 - 针对 MS17-010(永恒之蓝) 漏洞的防御策略(2026 年 2 月 5 日)
来源:安全狗 - 关闭 smb 协议服务器,Windows Server 2008/2012 关闭 SMBv1 的方法(2021 年 8 月 5 日)
来源:Windows SMBv1 协议漏洞 (MS17-010) 安全分析与防御实验(2026 年 3 月 2 日)