勒索病毒想必大家都已经非常了解了,这几年让国内外很多企业深受其害,甚至包括台积电这类高科技公司。国内的学校、石油公司也曾是严重受害者。勒索病毒能在企业内部大规模传播,主要的载体就是SMBv1协议。而企业内网保留未关闭的SMBv1仍然是高危漏洞之一,今天我将总结如何关闭SMBv1协议。
首先企业内关闭SMBv1协议,要有一个前提条件,即所有的业务都可以不依赖于SMBv1。而关闭SMBv1只是降低传播,而并不是杜绝勒索病毒。仍然要通过补丁更新、防毒、防火墙、网络协议等立体防范。
当我们域内客户端都升级为win10及以上版本时,除DC保守保留SMBv1外,其他服务器基本上都满足关闭SMBv1协议。接下来时具体的方法:
Windows 10、Windows 8.1、Windows Server 2019、Windows Server 2016 和 Windows 2012 R2 关闭SMBv1的方法:
powershell可以查看是否有开启SMBv1
**Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol**
确认可以关闭,可以用powershell关闭:
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
不过需要特别注意,这个方法关闭需要重启Server。慎用。
如果想要关闭,但是又不重启Server,可以用如下powershell指令:
**Set-SmbServerConfiguration -EnableSMB1Protocol $false**
关闭SMBv1后,你可能因为仍然有必要的业务没有替代解决办法,需要重启启用。启用方法:
**Set-SmbServerConfiguration -EnableSMB1Protocol $true**
最优组合:
Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol #查询
Set-SmbServerConfiguration -EnableSMB1Protocol $false #禁用
Set-SmbServerConfiguration -EnableSMB1Protocol $true #启用
除用powershell关闭外,还以通过服务器管理工具卸载smb 1.0的方法:
如果你的机器是Windows 7,Windows Server 2008 R2、Windows Vista 和 Windows Server 2008,关闭SMBv1的方法:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 -Force
同样,修改注册表值的方式关闭,也需要重启服务器。
查看是否开启SMBv1的方法:
Get-Item HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}
以上就是针对SMB Server端关闭SMBv1的方法。
接下我们将介绍关闭SMB Client端SMBv1的方法,即禁止client用SMBv1去连接任意SMB服务器。
CMD查询指令:
sc.exe qc lanmanworkstation
sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi
sc.exe config mrxsmb10 start= disabled
当你关闭后,可能有未知的影响,需要再次启用时:
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb20 start= auto
以上无论是关闭,还是重启,都需要重新启动Client。
以上就是分享的方法总结了。
关闭SMBv1仅仅只是降低传播影响,更多的方式还有禁止或者减少移动存储的使用。不论是防火墙、防毒系统,都要及时更新特侦库,并启用安全防护功能。关键网络节点部署IPS防护。用户侧也要有完整且正确的密码策略。对于大型域环境企业,还要保护好域控制器,避免被攻击者控制后,采用组策略的方式来部署勒索病毒。