背景
近两年来,勒索病毒不断肆虐全球网络,通过漏洞发起的攻击占攻击总数的87.7%,135137138139445端口给我们带来便利的同时,同样也给了黑客可乘之机,关闭这些危险端口意味着黑客想攻破你的电脑,难度高了很多。
端口简介135端口作用就是进行远程,可以在被远程的电脑中写入恶意代码,危险极大。
137端口是在局域网中提供计算机的名字或IP地址查询服务,使用者只需要向局域网或互联网上的某台计算机的137端口发送一个请求,就可以获取该计算机的名称、注册用户名,以及是否安装主域控制器、IIS是否正在运行等信息。
138端口的主要作用就是提供NetBIOS环境下的计算机名浏览功能。
主要用于Windows"文件和打印机共享"和SAMBA。
关闭危险端口后对电脑有什么影响?
关闭135137138139445端口及对应服务后,依赖这些端口和服务的应用或服务都会受到影响,引起的故障现象多种多样,这里不做描述,主要说明以下2种:
关闭后你的电脑将无法创建SMB文件共享,也无法访问其他电脑使用SMB协议共享的文件;
建议改用更为安全的ftp共享作为文件共享的代替方案。
如果是局域网内其他电脑通过打印机的ip连接成功后,再将打印机分享给你的电脑,那关闭端口后你的电脑将无法连接其他电脑共享出来的打印机;
如果你的电脑是通过老式的COM、现在流行的USB数据线直接连接到打印机,或者是通过打印机的ip直接连接,那你的电脑将不会受到影响,打印机服务依然可以正常使用。
关闭方法
- 方式:windows批处理脚本
- 运行环境:win7系统、win10系统
- 步骤演示(以win7系统为例,演示图片请放大查看!)
在电脑桌面状态按组合键winr,输入cmd,回车
在命令行窗口输入netstat–an并回车,即可看到所有开启的端口及对应的协议、外部地址和状态。
右键点击桌面空白处,点击“新建文档”
复制下面的代码粘贴到记事本中,点击“文件”>>点击“另存为”
@echooffcolor0Aecho.echo》》获取管理员权限...%1mshtavbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c%~s0::","","runas",1)(window.close)&&exit@echooffcolor0Atitle一键屏蔽危险端口和服务echo.echo》》开启Windows防火墙服务echo.netstartMpsSvcecho》》设置Windows防火墙为自启动echo.scconfigMpsSvcstart=autoecho.echo》》启用防火墙echo.netshadvfirewallsetallprofilesstateonecho------------------echo-------------------------------------------------echo.echo》》正在屏蔽135端口请稍候…netshadvfirewallfirewalldeleterulename="Disableport135-TCP"netshadvfirewallfirewalladdrulename="Disableport135-TCP"dir=inaction=blockprotocol=TCPlocalport=135netshadvfirewallfirewalldeleterulename="Disableport135-UDP"netshadvfirewallfirewalladdrulename="Disableport135-UDP"dir=inaction=blockprotocol=UDPlocalport=135:修改注册表regadd"hklm\SOFTWARE\Microsoft\Ole"/v"EnableDCOM"/treg_sz/d"N"/fregadd"hklm\SOFTWARE\Microsoft\Rpc"/v"DCOMProtocols"/treg_multi_sz/d""/fregadd"hklm\SOFTWARE\Microsoft\Rpc\internet"/treg_sz/fecho.echo------------------echo-------------------------------------------------echo.echo》》正在屏蔽137端口请稍候…echo.netshadvfirewallfirewalldeleterulename="Disableport137-TCP"netshadvfirewallfirewalladdrulename="Disableport137-TCP"dir=inaction=blockprotocol=TCPlocalport=137netshadvfirewallfirewalldeleterulename="Disableport137-UDP"netshadvfirewallfirewalladdrulename="Disableport137-UDP"dir=inaction=blockprotocol=UDPlocalport=137echo------------------echo-------------------------------------------------echo.echo》》正在屏蔽138端口请稍候…netshadvfirewallfirewalldeleterulename="Disableport138-TCP"netshadvfirewallfirewalladdrulename="Disableport138-TCP"dir=inaction=blockprotocol=TCPlocalport=138netshadvfirewallfirewalldeleterulename="Disableport138-UDP"netshadvfirewallfirewalladdrulename="Disableport138-UDP"dir=inaction=blockprotocol=UDPlocalport=138echo------------------echo-------------------------------------------------echo.echo》》正在屏蔽139端口请稍候…netshadvfirewallfirewalldeleterulename="Disableport139-TCP"netshadvfirewallfirewalladdrulename="Disableport139-TCP"dir=inaction=blockprotocol=TCPlocalport=139netshadvfirewallfirewalldeleterulename="Disableport139-UDP"netshadvfirewallfirewalladdrulename="Disableport139-UDP"dir=inaction=blockprotocol=UDPlocalport=139echo.echo》》关闭TCP/IPNetBIOSHelper(lmhosts)共享服务echo.scstoplmhostsscconfiglmhostsstart=disabledecho.echo------------------echo-------------------------------------------------echo.echo》》正在关闭445端口请稍候…netshadvfirewallfirewalldeleterulename="Disableport445-TCP"netshadvfirewallfirewalladdrulename="Disableport445-TCP"dir=inaction=blockprotocol=TCPlocalport=445netshadvfirewallfirewalldeleterulename="Disableport445-UDP"netshadvfirewallfirewalladdrulename="Disableport445-UDP"dir=inaction=blockprotocol=UDPlocalport=445echo.echo》》关闭Server(LanmanServer)服务echo.scstopLanmanServerscconfigLanmanServerstart=disabledecho.echo》》关闭NetBT服务echo.scstopNetBTscconfigNetBTstart=disabled:修改注册表regadd"hklm\System\CurrentControlSet\Services\NetBT\Parameters"/v"SMBDeviceEnabled"/treg_dword/d"0"/fecho.echo------------------echo-------------------------------------------------echo.echo》》关闭Workstation(LanmanWorkstation)服务echo.scstopLanmanWorkstationscconfigLanmanWorkstationstart=disabledecho.echo------------------echo-------------------------------------------------echo.echo》》关闭DistributedTransactionCoordinator(MSDTC)共享服务echo.scstopMSDTCscconfigMSDTCstart=disabledecho.echo------------------echo-------------------------------------------------echo.echo》》危险端口已经关闭,请重新启动电脑后用netstat-an命令查看本地端口echo.echo》》请按任意键退出!echo.pause>nul
输入文件名“关闭135_137_138_139_445危险端口.bat”>>保存类型选择“所有文件”>>编码选择“ANSI”>>点击“保存”
双击运行刚刚另存为的bat文件
运行完成后的状态如下图所示
批处理所做的一部分改动需要重启电脑才会生效。重启之前请先确认保存正在编辑的文档或网页表单。
重启完成后,在电脑桌面状态按组合键winr,输入cmd,回车;
在命令行窗口输入netstat–an,回车。
可以看到135137138139445端口已经关闭。
写在最后
经实践,该批处理程序在win7、win10系统的管理员用户下运行正常、有效。