一個主機為基礎的 IDS 分析許多區域以找出系統資源誤用(網路中 惡意或濫用的行為)或入侵(由外界進行入侵破壞)。 主機為基礎的 IDS 查閱許多種類型的 紀錄檔案(核心、系統、伺服器、網路與防火牆等等),然後再與已知攻擊之共同情況的一個 內部資料庫做比較。 UNIX 與 Linux 主機為基礎的 IDS 相當倚賴 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://www.stanford.edu/~atkins/swatch/ — Simple WATCHer (SWATCH) 使用由 syslog 產生的紀錄檔案來警告系統管理員基於使用者設定檔案的異常 狀況。 SWATCH 是被設計來紀錄使用者意圖增加任何資訊到設定檔案中,然而它已經被廣泛採用 為一個主機為基礎的 IDS。
LIDS http://www.lids.org/ — Linux Intrusion Detection System (LIDS) 是一個核心修補程式,也是一個管理工具, 它可利用存取控制清單 (ACLs) 來控制檔案的修改,並且保護執行程序與檔案,甚至對 root 使用者。