一個主機型的 IDS 分析許多區域以找出系統資源誤用(網路中惡意或濫用的行為)或入侵(由外界進行入侵破壞)。主機型的 IDS 查閱許多種類型的紀錄檔案(核心、系統、伺服器、網路與防火牆等等),然後再與已知攻擊之共同情況的一個內部資料庫做比較。UNIX 與 Linux 的主機型 IDS 相當倚賴 syslog 工具以及它依據嚴重度(例如輕微的印表機訊息與重大的核心警告)分離紀錄事件的能力。您可以在 Red Hat Enterprise Linux 中找到 sysklogd 套件,安裝後即可使用 syslog 指令。這套件提供系統稽核與核心訊息偵錯。主機為基礎的 IDS 會過濾紀錄檔案(如某些網路與核心事件紀錄將會相當的繁複)、分析它們、以它自己的嚴重性等級重新標示異常的訊息,然後再將它們收集到它自己特定的紀錄檔案,以讓系統管理員進行分析。
主機型的 IDS 也可以檢驗重要檔案與執行檔的資料完整性,它將檢查重要檔案的資料庫(以及系統管理員所加入的任何檔案),並且以一個訊息檔案的摘要工具(如含有 128 位元演算法的 md5sum 或含有 160 位元演算法的 sha1sum)來建立一個校驗值(checksum)。然後主機型的 IDS 將會儲存這個校驗值到一個純文字檔案中,並且定期地與文字檔案的數值比較檔案的校驗值。假如任何的檔案校驗值不相符,IDS 將會以電子郵件或呼叫機警告系統管理員。這是由 Tripwire 所使用的程序,將在 第 9.2.1 節 中探討。
Tripwire 是 Linux 中最受歡迎主機為基礎的 IDS,Tripwire 的開發單位 - Tripwire, Inc. 為 Linux 的版本開放了軟體的原始碼,並依據 GNU GPL 條款的授權規定。 您可以從 http://www.tripwire.org/ 取得 Tripwire。
![]() | 請注意 |
|---|---|
Red Hat Enterprise Linux 並未收錄 Tripwire,而且也不支援 Tripwire 的使用。 我們將它收錄在這份文件中, 以方便對使用這個受歡迎應用程式有興趣的使用者參考用。 |
RPM Package Manager (RPM) 是另一個可以使用來當作一種主機為基礎之 IDS 的程式,RPM 含有 許多種選項可用來查詢套件以及它們的內容。 這些檢驗的選項對於懷疑重要系統檔案與執行檔 可能被修改的系統管理員來說是很有用的。
以下的清單詳列出許多可用來檢驗 Red Hat Enterprise Linux 系統上檔案完整性的 RPM 選項,請參考 Red Hat Enterprise Linux 系統管理手冊 以取得關於使用 RPM 的完整資訊。
![]() | 重要 | |
|---|---|---|
下列清單中的某些指令需要匯入 Red Hat GPG 公鑰到系統的 RPM 金鑰環,這個金鑰可用來檢驗安裝 在系統的套件是否含有一個 Red Hat 的套件簽章,這可以確保這些套件確實來自 Red Hat。 可以以 root 身份輸入下列指令來匯入金鑰(請以安裝在系統的 RPM 版本取代 <version>):
|
-V 選項會檢查 package_name 套件中的檔案。如果程式沒有出現任何訊息就結束執行,那表示自上次 RPM 資料庫更新後,沒有任何檔案被修改過。如果程式出現錯誤,像
S.5....T c /bin/ps |
那麼表示檔案已經被修改過。您必須評估看看,是否要保留這檔案(例如在 /etc/ 目錄中被修改過的設定檔)或刪除檔案、重新安裝套件。底下清單將為您詳細解說這八個字元所組成的字串(上面例子中的S.5....T),其中記述了一個失敗狀況。
. — 這個測試已經通過這個檢驗階段
? — 這個測試發現了一個檔案無法被讀取,很可能 是檔案權限設定的問題
S — 測試發現一個檔案比原本安裝在系統上的檔案 大小還要小或大
5 — 測試發現一個檔案的 md5 校驗值與原本安裝的 原始校驗值不相符
M — 測試偵測到一個檔案的權限設定或檔案類型錯誤
D — 測試發現一個裝置檔案的 major/minor 號碼不相符
L — 測試發現一個符號連結已經更改為另一個檔案路徑
U — 測試發現一個檔案的擁有者已經變更了
G — 測試發現一個檔案的群組擁有者已經變更了
T — 測試發現檔案的 mtime 檢驗錯誤
-Va 選項檢驗所有已安裝的套件,並且可以在它的 檢驗測試中找出任何的錯誤狀況(類似 -V 選項,不過它的輸出較完整, 因為它檢驗每一個已安裝的套件)。
-Vf 選項檢驗一個已安裝套件中的個別檔案,當您執行一個快速地檢驗 一個可疑的檔案時,這是很有用的。
-K 選項可用來檢驗一個 RPM 套件檔案的 md5 校驗值與 GPG 簽章。 這 對於檢查即將安裝的套件是否經由 Red Hat 或任何您匯入 GPG 公鑰到一個 GPG 金鑰環的組織所 簽章是很有用的。 尚未適當簽署的套件將會產生類似如下的錯誤訊息:
application-1.0.i386.rpm (SHA1) DSA sha1 md5 (GPG) NOT OK (MISSING KEYS: GPG#897da07a) |
當您安裝未經簽署的套件時,請特別小心,因為它們尚未經過 Red Hat, Inc. 的認證,而且可能 含有惡意的程式碼。
RPM 是一個功能強大的工具,您可以由許多種檢驗已安裝套件與 RPM 套件檔案的工具得知這個 事實。 強烈建議您在 Red Hat Enterprise Linux 安裝完後,備份 RPM 資料庫目錄(/var/lib/rpm/) 到僅能讀取的媒體上(如光碟片)。 如此的話您便可以以這個僅能讀取的資料庫來檢驗檔案與 套件,而不是依據系統上的資料庫,因為惡意的使用者也許已經毀損了資料庫,而扭曲了檢驗結果。
底下清單討論了其他常見的主機型入侵偵測系統。欲知更多安裝與設定上的資訊,請參閱這些工具的網站。
![]() | 請注意 |
|---|---|
這些應用程式並不收錄在 Red Hat Enterprise Linux 中,而且也不受支援。 我們將它收錄在這份文件中, 以方便對使用這個應用程式有興趣的使用者參考用。 |
SWATCH http://sourceforge.net/projects/swatch/ — Simple WATCHer (SWATCH) 使用由 syslog 產生的紀錄檔案,來警告系統管理員基於使用者設定檔案的異常狀況。SWATCH 是被設計來紀錄使用者意圖增加任何資訊到設定檔案中,然而它已經被廣泛採用為一個主機型的 IDS。
LIDS http://www.lids.org/ — The Linux Intrusion Detection System (LIDS) 是一個核心修補程式,也是一個管理工具,它可利用存取控制清單 (ACLs) 來控制檔案的修改,並且保護執行程序與檔案,即使是 root 使用者也不例外。