防火牆有助於過濾出入端口和阻止使用暴力法的登錄嘗試。我傾向於使用CSF(Config Server Firewall)這個強力防火牆。它使用了iptables,易於管理,而且對於不擅於輸入命令的用戶提供了web界面。
要安裝CSF,先登錄到服務器,切換到這個目錄下:
代碼如下:
cd /usr/local/src/
然後以root權限執行下面命令:
代碼如下:
wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh
只需等待安裝程序完成,然後編輯CSF的配置文件:
代碼如下:
/etc/csf/csf.conf
默認情況下CSF是以測試模式運行。通過將“TESTING”的值設置成0,切換到product模式。
代碼如下:
TESTING = "0"
下面要設置的就是服務器上允許通過的端口。在csf.conf中定位到下面的部分,根據需要修改端口:
代碼如下:
# 允許入站的 TCP 端口
TCP_IN = "20,21,25,53,80,110,143,443,465,587,993,995,16543"
# 允許出站的 TCP 端口
TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995,16543"
# 允許入站的 UDP 端口
UDP_IN = "20,21,53"
# 允許出站的 UDP 端口
# 要允許發出 traceroute 請求,請加 33434:33523 端口范圍到該列表
UDP_OUT = "20,21,53,113,123"
請根據需要逐一設置,推薦只使用那些需要的端口,避免設置對端口進行大范圍設置。此外,也要避免使用不安全服務的不安全端口。比如只允許端口465和587來發送電子郵件,取代默認的SMTP端口25。(LCTT 譯注:前提是你的郵件服務器支持 SMTPS)
重要:千萬不要忘記允許自定義的 ssh 端口。
允許你的IP地址通過防火牆,而絕不被屏蔽,這一點很重要。IP地址定義在下面的文件中:
代碼如下:
/etc/csf/csf.ignore
被屏蔽了的IP地址會出現在這個文件中:
代碼如下:
/etc/csf/csf.deny
一旦完成更改,使用這個命令重啟csf:
代碼如下:
sudo /etc/init.d/csf restart
下面是在某台服務器上的csf.deny文件的部分內容,來說明CSF是很有用的:
代碼如下:
211.216.48.205 # lfd: (sshd) Failed SSH login from 211.216.48.205 (KR/Korea, Republic of/-): 5 in the last 3600 secs - Fri Mar 6 00:30:35 2015
103.41.124.53 # lfd: (sshd) Failed SSH login from 103.41.124.53 (HK/Hong Kong/-): 5 in the last 3600 secs - Fri Mar 6 01:06:46 2015
103.41.124.42 # lfd: (sshd) Failed SSH login from 103.41.124.42 (HK/Hong Kong/-): 5 in the last 3600 secs - Fri Mar 6 01:59:04 2015
103.41.124.26 # lfd: (sshd) Failed SSH login from 103.41.124.26 (HK/Hong Kong/-): 5 in the last 3600 secs - Fri Mar 6 02:48:26 2015
109.169.74.58 # lfd: (sshd) Failed SSH login from 109.169.74.58 (GB/United Kingdom/mail2.algeos.com): 5 in the last 3600 secs - Fri Mar 6 03:49:03 2015
可以看到,嘗試通過暴力法登錄的IP地址都被屏蔽了,真是眼不見心不煩啊!