萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> 為Linux系統的服務器設置防火牆的方法

為Linux系統的服務器設置防火牆的方法

   防火牆有助於過濾出入端口和阻止使用暴力法的登錄嘗試。我傾向於使用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地址都被屏蔽了,真是眼不見心不煩啊!

copyright © 萬盛學電腦網 all rights reserved