1. 程式人生 > >快速關閉非業務端口

快速關閉非業務端口

關閉端口 查詢端口

服務器開放的端口,對於攻擊者來說,其實就是一個入口點,一旦入口點存在安全風險,那麽攻擊者就會集中精力對該端口進行攻擊,但是某些管理員在部署相關業務的時候,並沒有對服務器開放的端口進行檢查,導致開放了很多非業務端口,一旦開放的端口被攻擊者利用(如windows的445端口),那麽即使你業務(端口)安全防護措施做得多好也是無濟於事的!因此我們在服務器上面部署業務後,一定需要及時關閉那些非業務端口,那麽我們怎麽知道我們開放了哪些端口?我們應該怎麽關閉這些端口呢?

  • 查看開放的端口

查看開放的端口我們可以使用netstat命令來進行查看,該命令windows和linux都是支持的,對於windows,我們可以使用

netstat -ano

來快速查看開放的端口以及對應的PID號,如下圖:

技術分享


對於linux系統,我們可以使用

netstat -anp

來快速查看我們開放的端口、PID以及對應的程序名稱(服務),如下圖:

技術分享

通過使用以上的方法,我們可以查看我們開放了什麽端口,然後判斷出什麽端口是我們需要的,什麽端口是我們不需要的,對於不需要的,我們應該及時關閉!

  • 關閉非業務端口

    當我們找出了哪些端口是我們不需要的,我們應該把這些端口直接關閉,以防被攻擊者利用!

對於linux系統來說,我們可以使用命令

kill PID

PID是上面查出來的具體PID,這樣就可以關閉不需要的端口了。另外我們可以使用命令

sudo netstat -anp | grep port

或者

lsof -i:port

port是具體的端口號,這樣可以查看單獨端口對應的PID,查看PID即可關閉非業務端口了!

對於windows系統來說,在我們知道那些端口是不需要的時候,我們可以使用快捷鍵【Ctrl+shift+Esc】打開任務管理器,選擇【服務】項,查找PID對應的服務(描述即為服務名稱),可以通過鼠標右鍵進行停止,也可以打開服務,查找對應的服務,然後進行禁止相關服務,也可使用命令 net stop 服務名稱 進行禁止!另外我們可以使用

netstat -ano | findstr "端口"

來單獨查看某一端口的PID號。

如果這種方法不行,建議使用防火墻策略進行端口限制!

  • 驗證端口關閉是否成功

在我們使用了上述方法後,我們還需要驗證端口是否關閉成功,如果是直接關閉的,那我們可以使用查詢開放的端口來進行驗證,如果我們是使用防火墻做的策略,那麽我們可以讓一個互通的主機使用命令

telnet ip 端口

來進行查看端口是否封堵成功,端口是具體端口號,如果顯示以下信息表示成功封堵!

正在連接xx.xx.xx.xx...無法打開到主機的連接。 在端口 xx: 連接失敗

反之封堵未成功!

本文出自 “eth10” 博客,請務必保留此出處http://eth10.blog.51cto.com/13143704/1954172

快速關閉非業務端口