基于服務(wù)器安全性維護(hù)的目的,查看所有時尚的端口是通常采取的第一步,從中檢查出可疑或者不必要的端口并將其關(guān)掉。關(guān)于查看時尚的端口,方法不止一種,比如lsof 命令,還可以使用 ss 命令。
查看時尚的端口
今天我們就介紹一下如何使用 ss 命令來查看 linux 系統(tǒng)中時尚的端口。獲取所有正在監(jiān)聽的接口,可以使用 -l 選項,不過我們可以再額外增加使用另外一個選項 t 來監(jiān)聽所有 TCP 端口,如下:
ss -tl
如果希望同時監(jiān)聽 TCP 和 UDP 端口,可以使用如下選項組合命令:
ss -tul
要獲取每個服務(wù)監(jiān)聽的端口,可以使用 -n 選項,然后結(jié)合grep 命令來過濾結(jié)果,如下所示:
ss -tuln | grep LISTEN
找到時尚的端口后,就可以選擇性地關(guān)閉它們。
關(guān)閉端口
要關(guān)閉端口,首先你需要找到位于該端口的服務(wù)名稱并停掉該服務(wù),可以使用 ss 命令的 -p 選項,如下所示:
sudo ss -tulnp | grep LISTEN
上圖所示的例子中,端口號 80 被 Nginx 服務(wù)所占據(jù),如果我們想要關(guān)閉該端口,可以使用如下命令停止 nginx 服務(wù):
sudo systemctl stop nginx
如果 nginx 服務(wù)被設(shè)置了自啟動(即每次服務(wù)器重啟時,nginx 都會自動啟動),那么我們可以使用如下命令來禁用該服務(wù):
sudo systemctl disable nginx
不過最好還是更改防火墻規(guī)則,比如在 Ubuntu 中,可以阻止 UFW 中的端口號 80(即 nginx 所使用的端口)。
首先,檢查 UFW 的狀態(tài):
sudo ufw status
如果其狀態(tài)為 inactive,可以使用如下命令啟用:
sudo ufw enable
然后使用 deny 選項 來阻止某個端口號:
sudo ufw deny 80
這里由于我們的服務(wù)器是云服務(wù)器,所以基本上防火墻都放在了云防火墻的配置中,這里就不演示了。