第 13章 基本的防火牆設定

如同建築物中的防火牆試著要防止火勢蔓延,電腦的防火牆也要試著防止電腦受到電腦病毒的入侵以及阻止未經授權的使用者存取您的電腦。 防火牆介於您的電腦與網路之間,它決定網路上的遠端使用者可以存取您電腦中的那些服務。 一個妥善設定的防火牆可以大大地增加系統的安全性。 在此建議您為任何擁有網際網路連線的 Red Hat Linux 系統設定一個防火牆。

13.1. 安全等級設定工具

在 Red Hat Linux 安裝的 『防火牆設定』 畫面,您可以選擇一個高度、中度或無防火牆的安全性設定,以及允許特定的裝置、流入的服務以及連接埠等。

在安裝完成後,您可以使用 安全等級設定工具 來變更系統的安全等級。 假如您較喜歡使用一個精靈為主的應用程式,請參考 菴 13.2 節

如要啟動該應用程式,請選擇面板上的 『主選單按鈕』 => 『系統設定』 => 『安全等級』,或在 shell 提示符號下(如 XTerm 或 GNOME 終端機)輸入 redhat-config-securitylevel 指令。

圖形 13-1. 安全等級設定工具

從下拉式選單中選擇想要的安全等級。

高安全性

假如您選擇 『高安全性』,您的系統將不接受任何您沒有特定定義的連線(除了預設的設定外),預設設定下,只允許下列的連線:

  • DNS 回應

  • DHCP — 所以任何使用 DHCP 的網路介面仍可以正確地設定

假如您選擇 『高安全性』,您的防火牆將不允許下列的連線:

  • 主動模式的 FTP (大部分用戶端預設使用的被動模式 FTP 應該可以使用)

  • IRC DCC 檔案傳輸

  • RealAudio

  • 遠端的 X 視窗系統用戶端

假如您連線您的系統到網際網路,但不打算執行一個伺服器,這是一個最安全的選擇。 如果您需要額外的服務,您可以選擇 自訂 以允許特定服務通過防火牆。

注請注意
 

假如您選擇一個中度或高安全性的防火牆設定,您將無法使用網路認證方式 (NIS 與 LDAP)。

中安全性

如果您選擇 『中安全性』,您的防火牆將不允許遠端的機器存取您系統上的某些資源。 預設情況下,是不允許存取下列資源的:

  • 低於 1023 的連接埠號 — 大部分系統服務所使用的標準保留連接埠號,例如 FTPSSHtelnetHTTP 以及 NIS

  • NFS 伺服器連接埠 (2049) — NFS 會停止遠端伺服器與本機用戶端使用。

  • 本機的 X 視窗系統顯示給遠端的 X 用戶端。

  • X 字型伺服程式連接埠 (預設情況下,xfs 並不聽取網路上的訊息; 它在字型伺服程式中已被停用)。

如果您想要允許使用例如 RealAudio 的資源,而仍然要拒絕存取一般系統的服務,請選擇 『中安全性』。 並選取 『自訂』 來允許可通過防火牆的特定服務。

注請注意
 

假如您選擇一個中度或高安全性的防火牆設定,您將無法使用網路認證方式 (NIS 與 LDAP)。

無防火牆

無防火牆的設定提供了完全存取您的系統,而且不做任何的安全性檢驗。 安全性檢驗就是用來停止存取某些服務。 如果您的系統在一個信任的網路環境內(非網際網路),或打算往後再設定防火牆,您才應該選擇這個選項。

選取 『自訂』 來新增信任裝置或允許使用額外的服務。

信任裝置

選取任何的 『信任裝置』 將允許從該裝置存取系統的所有流量; 它將會排除防火牆的規則。 例如,如果您正在執行一個區域網路, 不過是經由一個 PPP 撥號連接至網際網路,您可以選取 eth0, 如此將會允許所有來自於區域網路的流量。 選取 eth0 當作信任裝置表示允許所有來自這個乙太網路的流量,而且將 ppp0 仍然放置在防火牆中。 如果您想限制某一介面的流量,請讓它保持沒有選取的狀態。

在此不建議您設定任何連線至公開網路(例如 網際網路)的裝置為一個 『信任裝置』。

允許進入

啟用這些選項將允許通過防火牆的特定服務。 請注意,在工作站的安裝中,大部分的這些服務都沒有安裝在系統上。

DHCP

如果您允許 DHCP 查詢與回應進入,您將允許了任何使用 DHCP 決定 IP 位址的網路介面。 DHCP 通常是啟用的,如果 DHCP 沒有啟用,您的電腦將不再取得一個 IP 位址。

SSH

Secure SHell (SSH) 是一套工具用來在遠端機器登入與執行指令。 如果您打算使用 SSH 工具通過防火牆來存取您的機器,請啟用這個選項。 為了要使用 SSH 工具遠端存取您的電腦,您將需要安裝 openssh-server 套件。

Telnet

>Telnet 是一種用來登入遠端電腦的通訊協定。 Telnet 的連線是未加密的,並且不提供對於網路竊聽的安全性保護。 在此並不建議允許 Telnet 存取的流入。 如果您真的要允許流入 Telnet 的存取,您將需要安裝 telnet-server 套件。

WWW (HTTP)

HTTP 通訊協定是由 Apache (以及其他的網頁伺服器)使用來伺服網頁。 如果您打算使您的網頁伺服器可公開存取,請啟用這個選項。 這個選項對於本機上瀏覽網頁或開發網頁並不需要。 如果您想要伺服網頁,您將需要安裝 httpd 套件。

啟用 WWW (HTTP) 不會開啟一個連接埠給 HTTPS。 要啟用 HTTPS,請在 『其他埠』 的欄位指定它。

Mail (SMTP)

如果您想允許流入的郵件傳送通過您的防火牆,使遠端的主機就可以直接連線至您的機器來傳送郵件,請啟用這個選項。 如果您是使用 POP3 或 IMAP 從您的 ISP 伺服器下載郵件或者是您使用一種工具,例如 fetchmail,您則不需要啟用這個選項。 請注意,一個錯誤設定的 SMTP 伺服器會允許遠端機器使用您的伺服器來傳送垃圾郵件。

FTP

FTP 通訊協定是用來在網路上的機器間傳輸檔案。 假如您打算讓您的 FTP 伺服器可公開存取,請啟用這個選項。 為了要使用這個選項,您必須安裝 vsftpd 套件。

點選 確定 來啟動防火牆,在點選 確定 後,所選取的選項會轉譯為 iptables 指令,並且寫入到 /etc/sysconfig/iptables 檔案中。 iptables 服務也同時啟動,使得防火牆在儲存選取之選項後立即啟動。

警告警告
 

假如您有設定一個防火牆,或在 /etc/sysconfig/iptables 檔案中有任何的防火牆規則,而您選取 『無防火牆』,然後點選 確定 以儲存變更,該檔案將會被刪除。

所選取的選項也會寫入到 /etc/sysconfig/redhat-config-securitylevel 檔案,使得下次啟動應用程式時可以回復設定。 請勿手動編輯這個檔案。

如要在開機時自動啟動 iptables 服務,請參考 菴 13.3 節 以取得詳細資訊。