|
|
查看端口是否開放,可以使用命令 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策略上右鍵-分配。
|
|