Windows Server 2008/2012关闭SMBv1的方法

2017-08-03 15:42:20来源:威易网作者:

在刚刚结束的DEFCON安全大会上,有安全研究人员披露了一个与Windows SMB协议相关的0 Day漏洞。该漏洞可被利用进行远程DOS攻击,造成Windows系统内存耗尽崩溃。

在刚刚结束的DEFCON安全大会上,有安全研究人员披露了一个与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_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
当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 或注册表编辑器

更多系统的详细配置方法,请参考微软官网指导
https://support.microsoft.com/zh-cn/help/2696547/how-to-enable-and-disable-smbv1-smbv2-and-smbv3-in-windows-and-windows

2. 在系统防火墙或者安全组对445、139端口进行限制。

关键词:病毒安全