維護您 Red Hat Linux 系統的安全性是相當重要的,一種用來管理系統安全性的方式是小心的管理系統服務的存取。 您的系統也許需要提供一種特定服務的存取(舉例來說,如果您執行一個網頁伺服器,便需要提供 httpd 服務)。 然而,假如您並不需要提供該項服務,您應該將它關閉,以降低可能遭受入侵的機會。
有許多種不同的方法用來管理系統服務的存取,基於所要提供的服務、您系統的組態設定以及您對 Linux 的熟悉程度,您必須決定您想要使用何種方法。
拒絕服務存取的最簡單方法是將它關閉。 由 xinetd(稍候將會介紹)所管理的服務以及 /etc/rc.d 架構下的服務都可使用三種不同的應用程式來設定使其啟動或關閉:
系統服務設定工具 — 它是一個圖形化的應用程式,它會顯示每一個服務的描述,並顯示每一個服務是否在開機時啟動(在執行等級 3、4 與 5),以及用來啟動、停止或重新啟動各項服務。
ntsysv — 一個文字介面的應用程式,可使用它來設定每一個執行等級在開機時要啟動的服務。 對非 xinetd 服務所做的變更無法立即生效,況且不能使用這個程式來啟動、停止或重新啟動非 xinetd 的服務。
chkconfig — 一個命令列的工具程式,可使用它來啟動或停止不同執行等級中所執行的服務。 對非 xinetd 服務所做的變更無法立即生效,況且不能使用這個程式來啟動、停止或重新啟動非 xinetd 的服務。
您將會發現以上這些工具程式會比以下這種方法好用多了 — 手動編輯位於 /etc/rc.d 目錄下的許多符號連結,或者是編輯位於 /etc/xinetd.d 目錄下的 xinetd 設定檔案。
另一個管理系統服務存取的方法是使用 iptables 來設定一個 IP 的防火牆,如果您是使用 Linux 的新手,iptables 也許並不適用於您。 設定好 iptables 可以是一件很複雜的事,通常是由較有經驗的 Linux 系統管理員來做。
不過就另一方面來說,使用 iptables 的好處是它很有彈性。 舉例來說,假如您需要一個能夠提供某些主機來存取某些服務的自訂解決方案,iptables 能夠幫您做到。 如需關於 iptables 的更多資訊,請參考 Red Hat Linux 參考手冊 與 Red Hat Linux 安全性設定手冊。
或者是,假如您需要一個工具來為您的個人桌上電腦設定一般的存取法則,或者您是 Linux 的新手,您可以試試 安全等級設定工具 (redhat-config-securitylevel),來為您的系統選擇適當的安全等級,它很類似在 Red Hat Linux 安裝程式中的 『防火牆設定』 畫面。 您也可以使用 GNOME Lokkit,它是一種 GUI 的應用程式,它會問您一些關於您要如何使用您機器的問題,依據您的答案,它將會為您設定一個簡單的防火牆。 請參考 第13章 以取得關於這些工具的更多資訊。 假如您需要更多特定的防火牆規則,請參考 Red Hat Linux 參考手冊 中的 iptables 一章。
在您設定服務的存取控制前,您必須了解 Linux 的執行等級。 一個執行等級是一種狀態或 模式,它是由 /etc/rc.d/rc<x>.d 目錄中列出的服務所定義(<x> 就是執行等級的號碼)。
Red Hat Linux 使用下列的執行等級:
0 — 系統關機
1 — 單一使用者模式
2 — 尚未使用(可由使用者定義)
3 — 多使用者模式
4 — 尚未使用(可由使用者定義)
5 — 多使用者模式(含有一個 X 介面的登入畫面)
6 — 重新開機
假如您是使用文字介面的登入畫面,表示您是在執行等級 3 中操作; 假如您是使用一個圖形的登入畫面,您是在執行等級 5 中操作。
可以藉由修改 /etc/inittab 檔案來變更預設的執行等級,只需修改如下所示這一行:
id:5:initdefault: |
將這一行中號碼改為您想要的執行等級,在您重新開機後,您所做的變更才會生效。
如要立即變更執行等級,請使用 telinit 指令後面加上執行等級編號。 您必須是 root 才能使用這個指令。