Windows Server 2008/2012如何禁用SMBv1服务,因为最近有人爆出Windows SMB协议相关的0 Day漏洞。该漏洞可被利用进行远程DOS攻击,造成Windows系统内存耗尽崩溃。据研究人员称,该漏洞是分析“永恒之蓝”漏洞衍生出的新漏洞,目前微软官方认为该漏洞属于中等问题,不会修复此漏洞,并建议用户通过禁用SMBv1协议进行规避。
[CVE-ID]:无
[漏洞类型]:远程拒绝服务漏洞
[危害等级]:高危
[影响版本]:Windows 2000及以上版本运行SMBv1协议的系统
与利用常见的botnet方式发起的DDoS攻击不同,攻击者通过单台机器就可以利用该漏洞导致目标Windows系统崩溃。根据安全狗初步分析,Windows内核的非分页池(non-paged pool)上处理内存分配的方式存在问题,可能导致内存池耗尽。远程攻击者可以通过向开放了139或445端口的目标Windows系统发送特制SMB报文导致分配所有可用内存,操作系统在耗尽所有内存后会僵死,但不会记录下日志或使系统蓝屏,因此远程攻击者可以利用该漏洞实施DoS攻击。
1、Windows Server 2012检查SMBv1状态的方法:
打开“开始菜单”中的 “Windows PowerShell”程序,在命令行输入并执行以下指令:
Get-SmbServerConfiguration | Select EnableSMB1Protocol
如果打印“Ture”,则说明SMBv1为开启状态。
2、Windows Server 2008检查SMBv1状态的方法:
打开“开始”菜单中的“运行”程序,执行“regedit”命令打开注册表,以下注册表子项中添加SMB1,类型为REG_DWORD,将值设置为0:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters
当SMB1值为0时,SMBv1状态为已禁用
当SMB1值为1时,SMBv1状态为已启用
注意:修复漏洞前请将资料备份,并进行充分测试。
1. 关闭SMBv1
a)Windows Server 2012关闭SMBv1的方法
在power shell中运行命令:
Set-SmbServerConfiguration -EnableSMB1Protocol $false
b)Windows Server 2008禁用SMBv1的方法
请使用 Windows PowerShell 或注册表编辑器