关闭与开启危险端口
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
修改注册表关闭445端口:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters
新建DWORD值:SMBDeviceEnabled
设为0
关闭自己的139端口,ipc和RPC漏洞存在于此。
关闭139端口的方法是在“网络和拨号连接”中“本地连接”中选取“Internet协议(TCP/IP)”属性,进入“高级TCP/IP设置”“WinS设置”里面有一项“禁用TCP/IP的NETBIOS”,打勾就关闭了139端口。
同时也关闭了UDP137、138端口。
关闭Windows默认端口139、445等 —closeport.bat的使用说明
自从Windows2000以来,Windows系统增强了网络服务功能,这同时也降低了安全性,各种蠕虫病毒一波波的肆虐,Windows的网络安全为人们所诟病。
网络本来是一个欢乐缤纷的五彩乐园,但是安全问题使美好的网络蒙上了阴影,使人们小心翼翼如履薄冰,难以在网络上自由顺畅的呼吸,网络成为许多用户心中难舍的痛难解的结。
造成这种结果的主要原因是是windows系统默认开启了一些网络功能开启一些端口,从而置广大用户于危地。
这些功能用户一般用不到,反而成为了重要的安全隐患,给了蠕虫和骇客们可乘之机,成为他们大显身手的乐土。
人们不得求助于防火墙、助手和补丁等等莫名其妙乌七八糟的东西,把一切搞得越来越复杂,因为它们往往给你带来更多的烦恼。
其实,把Windows的一些默认端口关掉,就可以解决绝大部分的问题。
这两天,研究了一下端口的问题。写了一个脚本用来关掉这些默认端口,后面有解释,我的理解不一定正确,其中或有不当之处,欢迎各位批评指正。
这个脚本我在Windows 2003 Server上测试通过,在WinXP和Win2000上面应该也能适用。
[使用说明]
将以下代码复制下来,存为closeport.bat(注意,每个命令应该在一行中)。
运行closeport,重启计算机即可。cmd下运行netstat -an,你会发现相应的端口都已经停止了。
如果希望打开所有端口,运行closeport -o,重启计算机即可。
你可以自己将脚本中你不希望的功能命令去掉,然后再运行它。
[注意事项]
1.运行本程序前,最好手工停用DCOM。
方法如下,利用Windows NT/2000/XP标准集成的“dcomcnfg.exe”工具。从命令行执行,打开分布式COM属性窗口,取消“在这台计算机上启用分布式COM”选项即可。(Window 2000\XP\2003 的配置对话框有所不同)。
虽然,这个脚本可以停用DCOM,但是它是通过修改注册表的键值。我不知道效果是否与之相同。
2.重启计算机后,出现过TCP/IP Driver不能启动。因此无法上网的情况。
如果遇到这种情况。请在“设备管理器”中,选择显示隐藏的设备,按连接查看设备,找到TCP/IP protocol driver,在
驱动程序页面设置为自动。重启计算机即可。
3.本脚本完全没有任何担保,请慎重使用。最好阅读后面的解释。你可以更好的了解和定制使用它。
================================
@ echo off
rem
rem closeport.bat version 0.2
rem by Spirituel@SMTH
rem
rem This file close the default ports of Windows.
rem Why and how to use it, please conduct to the README.txt.
rem I tested it on Windows 2003 Server. And it should work on WindowsXP and windows2000 as well.
rem If you understand it and find some error, you can describe it clearly and contact with me.
rem Corrections are welcome.
rem NOTICE: NO WARRANTY totally. Please use it carefully.
echo Close the default ports of Windows system.
echo [usage] Use the parameter -o to open the ports again.
echo You can change the file to customize them for yourself.
if "%1"=="-o" goto :open
@ rem -----------------------------------------------
@ rem disable some services, you can add "rem" on the command if you do not want it effects
echo on
@ rem disable the NetBT(NetBios over tcp/ip) device driver, close port TCP139/UDP137/UDP138/TCP445
reg add "HKLM\SYSTEM\CurrentControlSet\Services\NetBT" /v Start /t REG_DWORD /d 0x4 /f
@ rem disable the LmHosts(TCP/IP NetBIOS Helper) device driver, it depends on NetBT
reg add "HKLM\SYSTEM\CurrentControlSet\Services\LmHosts" /v Start /t REG_DWORD /d 0x4 /f
@ rem disable the lanmanserver(server) service, stop IPC$ net share
reg add "HKLM\SYSTEM\CurrentControlSet\Services\lanmanserver" /v Start /t REG_DWORD /d 0x4 /f
@ rem disable the dfs(Distribute File System) service, it depends on server
reg add "HKLM\SYSTEM\CurrentControlSet\Services\Dfs" /v Start /t REG_DWORD /d 0x4 /f
@ rem disable the Browser(Computer Browser) service, it depends on server
reg add "HKLM\SYSTEM\CurrentControlSet\Services\Browser" /v Start /t REG_DWORD /d 0x4 /f
@ rem disable the W32Time(Windows Timer) service, close port UDP123
reg add "HKLM\SYSTEM\CurrentControlSet\Services\W32Time" /v Start /t REG_DWORD /d 0x4 /f
@ rem disable the TermService(Terminal Services) service, its default port is TCP3389
reg add "HKLM\SYSTEM\CurrentControlSet\Services\TermService" /v Start /t REG_DWORD /d 0x4 /f
@ rem disable DCOM
reg add "HKLM\SOFTWARE\Microsoft\Ole" /v EnableDCOM /t REG_SZ /d N /f
goto :end
:open
@ rem -----------------------------------------------
@ rem enable some services, you can add "rem" on the command if you do not want it effects
echo on
@ rem enable the NetBT(NetBios over tcp/ip) device driver, port TCP139/UDP137/UDP138/TCP445
reg add "HKLM\SYSTEM\CurrentControlSet\Services\NetBT" /v Start /t REG_DWORD /d 0x1 /f
@ rem enable the LmHosts(TCP/IP NetBIOS Helper) device driver, it depends on NetBT
reg add "HKLM\SYSTEM\CurrentControlSet\Services\LmHosts" /v Start /t REG_DWORD /d 0x2 /f
@ rem enable the lan
manserver(server) service, stop IPC$ net share
reg add "HKLM\SYSTEM\CurrentControlSet\Services\lanmanserver" /v Start /t REG_DWORD /d 0x2 /f
@ rem enable the dfs(Distribute File System) service, it depends on server
reg add "HKLM\SYSTEM\CurrentControlSet\Services\Dfs" /v Start /t REG_DWORD /d 0x2 /f
@ rem enable the Browser(Computer Browser) service, it depends on server
reg add "HKLM\SYSTEM\CurrentControlSet\Services\Browser" /v Start /t REG_DWORD /d 0x2 /f
@ rem enable the W32Time(Windows Timer) service, port UDP123
reg add "HKLM\SYSTEM\CurrentControlSet\Services\W32Time" /v Start /t REG_DWORD /d 0x2 /f
@ rem enable the TermService(Terminal Services) service, its default port is TCP3389
reg add "HKLM\SYSTEM\CurrentControlSet\Services\TermService" /v Start /t REG_DWORD /d 0x2 /f
@ rem enable DCOM
reg add "HKLM\SOFTWARE\Microsoft\Ole" /v EnableDCOM /t REG_SZ /d Y /f
:end
@ rem enable tcpip device driver
reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip" /v Start /t REG_DWORD /d 0x2 /f
@echo off
pause
================================
[解释说明]
Windows问题主要来自TCP135、TCP139、TCP445等默认端口、提供的IPC$默认共享,以及没有默认开启但非常危险的终端服务(Terminial Services)。这个脚本可以把它们关掉。下面是脚本中命令的解释。
1. NetBios和IPC$的问题。
reg add "HKLM\SYSTEM\CurrentControlSet\Services\NetBT" /v Start /t REG_DWORD /d 0x4 /f
禁用NetBT的驱动程序。这可以关闭TCP139/UDP137/UDP138/TCP445。
由于IPC$是利用了这些端口,因此应该已经不能使用了,这会使你的网络打印机和网络文件共享无效。
reg add "HKLM\SYSTEM\CurrentControlSet\Services\LmHosts" /v Start /t REG_DWORD /d 0x4 /f
禁用LmHosts服务,它依赖于NetBT,如果不禁用它,启动的时候会出现服务错误。
reg add "HKLM\SYSTEM\CurrentControlSet\Services\lanmanserver" /v Start /t REG_DWORD /d 0x4 /f
禁用server服务。
如果不禁用,由于NetBT已经禁用,IPC$、C$等等应该也已经不能连接了。如果该服务启动,你仍然可以在共享文件夹中看到它们。
reg add "HKLM\SYSTEM\CurrentControlSet\Services\Dfs" /v Start /t REG_DWORD /d 0x4 /f
dfs服务依赖于server服务,禁用之。
reg add "HKLM\SYSTEM\CurrentControlSet\Services\Browser" /v Start /t REG_DWORD /d 0x4 /f
Browser服务依赖于server服务,禁用之。
2.135和DCOM的问题。
由于135端口运行的是RpcSs服务,如果禁用,计算机不能正常使用。但是可以把DCOM停用。
reg add "HKLM\SOFTWARE\Microsoft\Ole" /v EnableDCOM /t REG_SZ /d N /f
停用DCOM,建议手工停用。方法见注意事项。
3.其他
reg add "HKLM\SYSTEM\CurrentControlSet\Services\W32Time" /v Start /t REG_DWORD /d 0x4 /f
停用W32Time服务,关闭UDP123。这是一个网络时钟同步的服务。
reg add "HKLM\SYSTEM\Curre
ntControlSet\Services\TermService" /v Start /t REG_DWORD /d 0x4 /f
禁用远程终端服务。默认没有开启,默认端口3389,但比较危险,除非你自己要使用它。
reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip" /v Start /t REG_DWORD /d 0x2 /f
启用Tcpip(Tcp/IP protocol Driver)驱动程序。如果它不启用,你就无法上网了。
[关于端口的说明]
我觉得关闭这些端口应该可以比较安全的上网了,不知是否正确,那位给予指正。
这些功能对于绝大多数用户是用不到的,如果你需要某些功能可以打开它。
那么,那些端口是需要开放的呢。
TCP135由于RpcSs服务是要打开的。
UDP500\UDP4500是lass.exe打开的。
1025以后的几个端口是程序自由分配的,通常是正常的,你可以检查一下。
其他端口应该都是可以关闭的,如果有可疑端口,你要仔细检查一下。
可以结合使用netstat -ano和tasklist /SVC结合使用,查看那个端口运行的是什么服务,属于哪个进程。
[小结]
本脚本主要停用DCOM,禁用了NetBT,关闭了$IPC,禁用了时钟服务和远程终端服务,连那个讨厌的信使服务应该也顺带不起作用了(因为它使用UDP138)。
怎么样,现在在使用netstat -an察看端口,世界清静了吧。以上的方法是比较方便直接的治本的方法。
当然升级windows的更新也是一个解决漏洞治本之法,不过我觉得不如直接关掉没用的端口来的简单、干净、彻底。
关闭不用的端口
默认情况下Windows有很多端口是开放的,在你上网的时候,网络病毒和黑客可以通过这些端口连上你的电脑,为了让你的系统铜墙铁壁,应该封闭这些端口,主要有:TCP 139、445、593、1025 端口和 UDP123、137、138、445、1900 端口,一些流行病毒的后门端口(如 TCP 2513、2745、3127、6129 端口),以及远程服务访问端口3389。
137、138、139、445端口都是为共享而开的,是NetBios协议的应用,你应该禁止别人共享你的机器,所以要把这些端口全部关闭,方法是:单击“开始”/控制面板/系统/硬件/设备管理器,单击“查看”菜单下的“显示隐藏的设备”,单击“非即插即用驱动程序”,找到Netbios over Tcpip禁用该设备,重新启动后即可。
关闭UDP123端口:单击“开始”/设置/控制面板,双击“管理工具”/服务,停止windows time服务即可,关闭UDP 123端口,可以防范某些蠕虫病毒。
关闭UDP1900端口:在控制面板中双击“管理工具”/服务,停止SSDP Discovery Service 服务即可。关闭这个端口,可以防范DDoS攻击。
其他端口你可以用网络防火墙关闭之,或者在控制面板中,双击“管理工具”/本地安全策略,选中“IP 安全策略,在本地计算机”,创建 IP 安全策略来关
闭这些端口。