|
查看端口是否开放,可以使用命令 netstat -an 如果查询特定端口可以 netstat -an | findstr 端口号
端口关闭后,也可以用这个命令确认一下。
1、关闭137、138、139端口的方法
在网络适配器-网卡属性-tcp/ipv4-高级-wins- 禁用tcp/ip上的NetBIOS(S) 立即生效
2、关闭445端口的两种方法:
1)修改注册表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters位置,在右侧新建一个dword值,如果你的系统是32位的,就建32位的dword,如果是系统是64位的,就新建64位的dword,名称设置为SMBDeviceEnabled,值设置为0。
2)在计算机服务中,关闭服务 server 需要重启后生效
以上两种方法都有效,但为了保险起见,建议都设置一下。
3、关闭5335端口
打开服务,关闭dns client服务。
如果系统需要使用dns client,无法关闭此服务,还可以如下操作:
打开“运行”,输入gpedit.msc打开“本地组策略编辑器”,依次选择“计算机配置”-“管理模板”-“网络”-“DNS客户端”,在右侧双击“关闭多播名称解析”项,然后设置为“已禁用”。
4、关闭135端口
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole\EnableDCOM的值改为“N”
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\DCOM Protocols 中删除“ncacn_ip_tcp”
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc 右键点击Rpc,新建-项-输入 Internet,
然后重启之后, 135端口就没有了,可以用netstat -an | findstr 135 来确认。
如果上述方法还无效,可停用“Distributed Transaction Coordinator”服务再试试。
Windows 2000系统
前面的步骤和在XP下相同,只是需要多停用一个服务,“Task Scheduler”
Windows 2003
以 上方法在2003下无效,目前我只找到一个折中的方法。默认情况下,135端口是在所有地址上监听的,如果只在本机回环地址上监听,也不失为一种解决办 法。要想改变135监听的地址,需要Windows Server 2003 Resource Kit tools中的rpccfg.exe。
首先看一下网卡上都有哪些网段:rpccfg -l,一般情况下输出如下:
1 127.0.0.0 1 MS TCP Loopback interface
2 192.168.0.0 1 Realtek RTL8139/810x Family Fast Ethernet NIC
然后输入;rpccfg -a 1。这样只有本机回环地址才开放135端口
上面的方法是关闭端口的方法,为了解决这种安全隐患,我们可以用上面的方法直接关闭端口。不过直接关闭服务或者端口的话,那么服务器将无法正常对外提供相关服务,比如数据库查询服务、远程登录服务等,所以如果还需要对外对特定的ip提供服务,还可以通过以下的方式创建ip安全策略,来阻止外部ip访问本机的特定端口,还只让特定ip来访问本机的特定端口,下面举例说明ip安全策略的设置方法:
gpedit.msc
计算机配置-windows设置-安全设置-IP安全策略-右键创建IP安全策略
下一步-设置名称:阻止135、139、445端口-下一步(确认激活默认响应规则未被选中)-下一步-完成
在新建的ip安全策略上右键-属性-将右下角的使用添加向导对勾去掉-添加-添加 IP 筛选器列表-添加-下一步-下一步-源地址:任何ip地址-下一步-目标地址:任何ip地址-选择协议类型:tcp-下一步-到此端口:135-完成,在ip筛选器列表中继续添加要阻止的其他端口。完成后,在属性窗口选中新ip筛选器列表-筛选器操作标签中,选中阻止ip访问-确定,在新建的IP策略上右键-分配。
|
|