叢集手冊/OSSEC
保證計算機叢集的安全是一個至關重要的議題。這樣的叢集通常存在容易被利用的漏洞,從而使其關鍵部分受到損害。因此,需要一個監督軟體來監控系統內部和網路中的活動。此外,它應該提醒系統管理員,更重要的是,它應該阻止攻擊以保護系統。
OSSEC 就是這樣一款軟體。它是一個基於主機的入侵檢測系統 (HIDS),可以監控計算機系統的所有內部和網路活動。這包括監控關鍵系統檔案(檔案完整性檢查,第 7.1 節)和分析提供有關係統活動資訊的日誌檔案(日誌監控,第 7.3 節)。日誌檔案包括每個程式、服務和系統本身的協議,因此可以跟蹤正在發生的事情。這有助於發現系統上執行的非法操作的影響。此外,OSSEC 可以檢測秘密安裝在系統上的軟體以獲取有關係統和使用者資料的的資訊(Rootkit 檢測,第 7.2 節)。OSSEC 的另一個功能是主動響應實用程式(第 7.3 節)。每當 OSSEC 識別出攻擊時,它會嘗試阻止攻擊(例如,透過阻止 IP 地址)並向系統管理員傳送警報。
為了分析系統中發生的事件,OSSEC 需要一箇中央管理器。這通常是計算機叢集的主節點,所有程式和服務都安裝在那裡。被監控的系統是代理,通常是計算機叢集的工人。它們即時收集資訊並將其轉發給管理器進行分析和關聯。
在本章中,將解釋 OSSEC 的功能——檔案完整性檢查、Rootkit 檢測、日誌分析和主動響應。此入侵檢測系統的安裝(第 7.6 節)包括兩個部分。首先,配置 OSSEC 伺服器——即計算系統的主節點——其次是配置代理。可以根據需要安裝 Web 使用者介面 (WUI)(第 7.7 節);它幫助使用者檢視 OSSEC 伺服器在整個系統執行期間收集的所有統計資訊。解釋了 WUI 的安裝(第 7.7.1 節)和功能(第 7.7.2 節)。最後,總結完成本章。
檔案具有完整性,表示沒有對檔案進行過修改、新增或刪除的非法更改。檢查檔案完整性可以維護檔案的一致性、對其進行保護以及保護與它們相關的資料。檢查通常透過比較修改後的檔案的校驗和與已知檔案的校驗和來執行。OSSEC 使用兩種演算法執行完整性檢查:MD5 和 SHA1。這是兩種廣泛使用的雜湊函式,它們可以為任意資料塊生成雜湊值。
OSSEC 伺服器儲存在系統執行期間計算的所有校驗和值。為了檢查檔案完整性,OSSEC 每隔幾個小時掃描一次系統,並計算每個伺服器和代理上的檔案的校驗和。然後,透過將新計算的校驗和與儲存在伺服器上的校驗和進行比較來檢查修改情況。如果存在重大更改,則會發送警報。
可以指定將要檢查的檔案。預設情況下檢查的檔案位於/etc、/usr/bin、/usr/sbin、/bin、/sbin。這些目錄很重要,因為它們包含對系統至關重要的檔案。如果系統受到攻擊,這些目錄中的檔案很可能會首先被更改。
我們使用所有這些系統呼叫,因為一些核心級 Rootkit 會將檔案隱藏在某些系統呼叫中。嘗試的系統呼叫越多,檢測效果就越好。
Rootkit 是一組惡意軟體,稱為惡意軟體,試圖在系統上安裝程式以秘密監控其活動和使用者的活動。Rootkit 隱藏了這種外來軟體及其程序的存在,以獲取對系統的特權訪問許可權,尤其是 root 訪問許可權。這種入侵很難發現,因為惡意軟體可以破壞檢測軟體。
為了檢測 Rootkit,OSSEC 使用一個檔案,該檔案包含一個 Rootkit 資料庫和它們使用的檔案。它搜尋這些檔案並嘗試對它們執行系統操作(例如,fopen),以便找到核心級的 Rootkit。
很多 Rootkit 使用/dev 目錄隱藏它們的檔案。通常,它只包含系統所有裝置的裝置檔案。因此,OSSEC 搜尋此目錄中的奇怪檔案。Rootkit 攻擊的另一個跡象是擁有 root 訪問許可權和對其他檔案(不屬於 root)的寫入許可權的檔案。OSSEC 的 Rootkit 檢測會掃描整個檔案系統以查詢這些檔案。
在這些檢測方法中,Rootkit 檢測執行了許多其他檢查。[1]
OSSEC 的日誌分析使用日誌檔案作為主要資訊來源。它檢測針對網路和/或系統應用程式的攻擊。這種分析是即時進行的,因此每當發生事件時,OSSEC 都會對其進行分析。通常,OSSEC 會監控指定日誌檔案——這些日誌檔案通常使用 syslog 作為標準協議——並提取日誌欄位中的重要資訊,例如使用者名稱、源 IP 地址和已呼叫的程式名稱。第 7.5 節將更詳細地介紹日誌檔案的分析過程。
在分析日誌檔案後,OSSEC 可以使用提取的資訊作為觸發器來啟動主動響應。這些觸發器可以是攻擊、策略違反或未經授權的訪問。OSSEC 然後可以阻止特定主機和/或服務以停止違規。例如,當未經授權的使用者嘗試透過 ssh 獲取訪問許可權時,OSSEC 會確定使用者的 IP 地址並將其列入黑名單以將其阻止。確定使用者 IP 地址是 OSSEC HIDS 分析過程的任務(參見第 7.5 節)。
圖 7.1 描繪了 OSSEC 的重要目錄和相應的檔案。這些目錄包含二進位制檔案、配置檔案、用於解碼事件的解碼器(參見第 7.5 節)以及日誌檔案。它們都位於/var/ossec 或安裝期間指定的目錄中。
此圖中列出了部分基本可執行檔案。例如,ossec_control 用於在伺服器或代理上啟動 OSSEC 系統。syscheckd 是用於執行檔案完整性檢查(第 7.1 節)的程式。要為代理生成和匯入金鑰(參見第 7.6 節),請使用manage_agents。
OSSEC 的所有主要配置,例如設定電子郵件通知,都在ossec.conf 中完成。OSSEC 的元資訊(在安裝期間指定,參見第 7.6 節)儲存在ossec-init.conf 和internal_options.conf 中。
ossec.log 檔案儲存 OSSEC 內部發生的所有事件。例如,如果 OSSEC 服務啟動或被取消,這將列在ossec.log 檔案中。alert.log 記錄所有關鍵事件。

當系統內部發生更改時,需要對這種更改事件的型別進行分類。圖 7.2 顯示了這種事件的分析過程。它分兩個主要步驟執行,稱為預解碼和解碼。這些步驟從事件中提取相關資訊並評估其嚴重程度。透過找到與事件匹配的預定義規則來進行此評估。規則在不同的級別(0 到 15)儲存事件的嚴重程度。如果事件被歸類為對系統的攻擊,則會向管理員傳送警報,並且 OSSEC 會嘗試阻止攻擊(主動響應)。在接下來的部分中,將更詳細地解釋預解碼和解碼步驟。

預解碼步驟僅提取靜態資訊,例如時間、日期、主機名、程式名稱和日誌訊息。這些是幾個常用協議中眾所周知的欄位。有許多用於計算機資料記錄的標準,例如Apple System Log (ASL)和syslog,它們使用不同的格式來處理和儲存日誌訊息。但是,OSSEC能夠區分這些型別的協議。例如,以下日誌訊息顯示了一個使用ssh命令(syslog標準)的未知使用者登入失敗。
Feb 27 13:11:18 master sshd[13030]: Invalid user evil from 136.172.13.56
OSSEC現在提取這些資訊並對該訊息的欄位進行分類。表 7.1 顯示了預解碼過程中選取的欄位及其描述。

如前所述,有幾種協議以不同的方式儲存日誌訊息。日誌訊息必須被規範化,以便相同的規則可以應用於不同格式的日誌檔案。這是下一節將要描述的解碼階段的任務。
解碼和規則匹配
[edit | edit source]在預解碼階段之後,解碼步驟提取事件的非靜態資訊,例如 IP 地址、使用者名稱和類似資料,這些資料可能會隨著事件而改變。為了獲取這些資料,使用一個特殊的 XML 檔案作為預定義和使用者定義解碼器的集合。它們使用正則表示式與當前事件匹配。解碼器由幾個選項指定。這些選項定義在哪些條件下執行解碼器。首先,解碼器由一個<decoder></decoder>標籤分隔,其中指定了解碼器的名稱。在這個標籤中,所有可能的選項都可以應用於完全細化解碼器的特性。當使用 syslog 時,必須設定程式名稱,以便僅當程式名稱出現在日誌訊息中時才呼叫解碼器。另一個重要的選項是<prematch></prematch>標籤。它可以選擇與程式名稱一起用作附加條件,或作為非 syslog 訊息的單一條件。要提取非靜態資訊,解碼器需要一個<regex></regex>標籤。該標籤描述一個正則表示式,它定義了一個匹配日誌訊息中包含的資訊的模式。由於訊息中有幾個欄位,因此必須指定欄位的順序,以便 OSSEC 知道如何解析訊息的欄位。這是透過<order></order>標籤完成的。
清單 7.1 給出了一個用於 ssh 事件的解碼器示例。它提取了一個使用者的名字和源 IP 地址,該使用者試圖透過 ssh 無權訪問,這與給出的示例相對應。
- 清單 7.1 ssh 解碼器示例。
<decoder name="ssh-invalid-user">
<program_name>sshd</program_name>
<prematch>^Invalid user</prematch>
<regex>(\S+) from (\S+)$</regex>
<order>user,srcip</order>
</decoder>
只有當在預解碼階段提取了程式名稱sshd時,才會呼叫此解碼器。此外,必須滿足 prematch 標籤。在此示例中,prematch 選項在日誌訊息中搜索表示式Invalid user。當此模式匹配日誌中的內容時,將呼叫正則表示式以提取使用者和源 IP 地址。因此,只有與查詢與無效 ssh 成功關聯的規則相關的解碼器才會被執行。
還有許多其他選項可以指定解碼器。在這裡,解釋了最重要的幾個。有關解碼器選項的更多說明,請參閱 OSSEC 的主頁[2]。
現在,OSSEC 擁有了找到與事件匹配的規則所需的所有資訊。規則通常以 XML 檔案的形式儲存在/var/ossec/rules中。規則由一個唯一的數字和一個嚴重程度級別標識。根據此級別,OSSEC 決定是否應該將此事件升級為警報。
存在兩種型別的規則:原子和複合。原子規則基於單個事件,而複合規則與多個事件相關。例如,ssh 事件可以在單個 ssh 身份驗證失敗後被升級為警報(原子),或者可以被暫停,直到三個身份驗證失敗(複合)。
設定和配置
[edit | edit source]在開始在系統上設定 OSSEC 之前,系統上應該可以使用 C 編譯器和 makefile 工具,因為 OSSEC 是用 C 編寫的,並且為了編譯原始碼,使用了 Makefile。OSSEC 的原始碼可在 OSSEC 的主頁上獲得,並且可以透過 wget 命令簡單下載(清單 7.2)。
- 清單 7.2 獲取 OSSEC 原始碼。
wget http://www.ossec.net/files/ossec-hids-2.6.tar.gz 解壓縮歸檔檔案後,並切換到解壓縮的目錄,透過執行安裝指令碼install.sh(清單 7.3)開始設定。隨後,使用者將被引導完成設定過程。
- 清單 7.3 解壓縮歸檔檔案並開始安裝。
tar -xvf ossec-hids-2.6.tar.gz cd ossec-hids-2.6 ./install.sh OSSEC 是一個基於主機的入侵檢測系統,這意味著如果幾個計算機是叢集的一部分,並且所有計算機都必須被監控,那麼 OSSEC 必須安裝在所有計算機上。此外,必須宣告管理其他計算機所有資料的伺服器,即代理。根據計算機的預期使用型別(伺服器或代理),OSSEC 將以不同的方式安裝和配置。下面將分別介紹伺服器和代理的設定。所有安裝都在 Ubuntu Server 12.04 上執行。
伺服器設定
[edit | edit source]伺服器的設定很簡單。只需要按照安裝指令碼的說明進行操作,其中包括
- 設定語言(預設語言為英語)
- 選擇Server作為安裝型別
- 選擇 OSSEC 將安裝到的目錄(預設目錄為/var/ossec)
- 配置電子郵件通知(預設情況下沒有電子郵件通知,有關如何設定電子郵件通知,請參見第 7.6.1 節)
- 啟用/停用完整性檢查、rootkit 檢測引擎、主動響應和防火牆丟棄響應(預設情況下已啟用)
- 將 IP 地址新增到白名單(預設情況下,白名單中只有本地主機 IP 地址)
- 啟用/停用遠端 syslog(允許將 syslog 訊息從一個主機重定向到另一個主機)
當設定成功時,安裝指令碼將提供一些最終資訊。如果設定不成功,指令碼將在編譯輸出的末尾顯示“Building error. Unable to finish the installation”。可能是缺少先決條件;OSSEC 主頁可能會有幫助。
OSSEC 將使用位於 OSSEC 二進位制檔案目錄的 ossec-control 命令啟動(清單 7.4)。此命令將啟動在設定中指定的 सभी सेवाएँ,例如 rootkit 檢測和完整性檢查。
- 清單 7.4 啟動 OSSEC。
/var/ossec/bin/ossec-control start 每當啟動伺服器時,OSSEC 將自動啟動。OSSEC 處於活動狀態,直到使用者使用 ossec_control stop 命令停止它。
建議不要與 OSSEC 並行執行任何其他入侵檢測系統。它們可能相互影響。例如,OSSEC 可能會將其他入侵檢測及其操作識別為對系統的“攻擊”,因為它修改了 OSSEC 監控的檔案。
電子郵件通知
一些 SMTP 伺服器允許從執行 OSSEC HIDS 的主機中繼電子郵件。因此,最好安裝一個本地郵件伺服器。為此,所有設定都在 OSSEC 伺服器上完成。首先需要一個郵件伺服器,例如postfix。[3] 為了處理電子郵件,必須安裝一個電子郵件程式。bsd-mailx 是一個基於命令列的電子郵件程式,它是一個可行的選擇(清單 7.5)。
- 清單 7.5 安裝郵件伺服器和電子郵件程式。
sudo apt-get install postfix sudo apt-get install bsd-mailx 最後,OSSEC 需要知道將電子郵件傳送到哪裡。在主配置檔案ossec.conf中,必須新增以下條目
- 清單 7.6 在 OSSEC 中配置電子郵件通知。
<global>
<email_notification>yes</email_notification>
<email_to>root@master</email_to>
<smtp_server>localhost</smtp_server>
<email_from>ossec-notification</email_from>
</global>
這將啟用電子郵件通知。所有電子郵件都將傳送到使用者root,該使用者在 localhost(此示例中的 OSSEC 伺服器master)上擁有一個帳戶,郵件伺服器已安裝在該帳戶上。<email_from></email_from> 標籤指定電子郵件通知的傳送者。
在基本配置之後,可以個性化電子郵件通知。預設情況下,OSSEC 將為每個警報傳送一封電子郵件。這可以透過設定電子郵件警報級別來自定義。事件的嚴重程度等級從 0 到 15 不等。清單 7.7 顯示瞭如何設定電子郵件警報級別,這意味著事件必須具有的最低級別,以便傳送電子郵件。在上面的示例(清單 7.6)中,只有當事件的嚴重程度級別大於 7 時,才會傳送電子郵件。相同的選項可以指定用於寫入日誌檔案。在下面的示例(清單 7.7)中,每個事件都將被記錄並儲存在日誌檔案中,因為日誌警報級別被設定為可能的最小嚴重程度級別 0。這兩個選項都位於主配置檔案ossec.conf中的<alert></alert>標籤中。
- 清單 7.7 設定電子郵件警報級別。
<alerts>
<log_alert_level>0</log_alert_level>
<email_alert_level>7</email_alert_level>
</alerts>
代理設定
[edit | edit source]在安裝代理之前,伺服器需要知道它要從哪些代理收集資料。代理必須能夠向伺服器標識自己,並且伺服器必須能夠驗證代理的身份。
伺服器和代理之間的通訊由金鑰管理處理。金鑰在伺服器上生成,然後匯入到每個代理上。OSSEC 提供了一個工具來執行金鑰管理:manage_agents(清單 7.8)。首先,必須在伺服器上執行此工具以新增代理。
- 清單 7.8 啟動金鑰管理。
/var/ossec/bin/manage_agents 啟動該工具後,有五個選項可供選擇
- (A)
- 用於新增代理
- (E)
- 用於提取代理的金鑰
- (L)
- 用於列出已新增的代理
- (R)
- 用於刪除代理,以及
- (Q)
- 退出服務
新增代理(選項 (A))時,系統會提示使用者輸入代理的主機詳細資訊和識別符號。這包括代理的名稱、IP 地址和一個三位數的唯一識別符號(清單 7.9)。
- 清單 7.9 新增代理。
- Adding a new agent (use '\q' to return to the main menu).
Please provide the following:
* A name for the new agent: worker1
* The IP address of the new agent: 10.0.0.1
* An ID for the new agent[001]: 001
Agent information:
ID: 001
Name: worker1
IP Address: 10.0.0.1
Confirm adding it? (y/n): y
Agent added.然後,需要使用安裝指令碼分別在每個代理上安裝 OSSEC。設定過程與伺服器的設定非常相似(參見第 7.6.1 節),唯一的區別是代理需要知道伺服器的 IP 地址(清單 7.10)。這裡需要的是伺服器在子網中的 IP 地址(提示:ifconfig eth1)。
- 清單 7.10 在代理端設定 OSSEC。唯一的區別是設定伺服器的 IP 地址。
3 - Configuring the OSSEC HIDS.
3.1 - What's the IP Address of the OSSEC HIDS server?: 10.0.0.250
- Adding Server IP 10.0.0.250安裝完成後,需要為每個代理生成一個金鑰。這可以透過在伺服器端再次啟動 manage_agents 工具,然後選擇選項 (E) 提取代理金鑰來完成。選擇一個代理的三位數字識別符號,就會生成一個金鑰(清單 7.11)。該金鑰可以複製到剪貼簿。
- 清單 7.11 為代理(worker1)生成金鑰。
Available agents:
ID: 001, Name: worker1, IP: 10.0.0.1
Provide the ID of the agent to extract the key: 001
Agent key information for '001' is:
MDAxIG1hcnMgMTkyLjE2OC42NS40MCBmY2UzMjM4OT
c1ODgzYTU4ZWM3YTRkYWJiZTJmMjQ2Y2ViODhmMzlm
YjE3MmI4OGUzMTE0MDczMzVhYjk2OTRh
** Press ENTER to return to the main menu.要匯入金鑰,需要在相應的代理上執行 manage_agents 工具。只有兩個選項可以選擇:(I) 從伺服器匯入金鑰,以及 (Q) 退出服務。選擇選項 (I) 後,將金鑰值從剪貼簿貼上到提示符 Paste it here 後的終端中。該工具會提供一些關於代理的資訊,用於驗證代理。
- 清單 7.12 匯入在伺服器上生成的代理(worker1)的金鑰。
Paste it here:
MDAxIG1hcnMgMTkyLjE2OC42NS40MCBmY2UzMjM4OT
c1ODgzYTU4ZWM3YTRkYWJiZTJmMjQ2Y2ViODhmMzlm
YjE3MmI4OGUzMTE0MDczMzVhYjk2OTRh
Agent information:
ID:001
Name:worker1
IP Address:10.0.0.1
Confirm adding it?(y/n): y
Added.然後退出服務,並使用 ossec_control restart 重啟 OSSEC。當重啟成功並連線到伺服器後,您可以在代理的日誌檔案 ossec.log 中找到類似清單 7.13 中的條目。
- 清單 7.13 代理設定成功。
2007/10/10 23:25:48 ossec-agentd: Connecting to server (<IP-address-server>:1514). 2007/10/10 23:25:48 ossec-agentd(4102): Connected to the server.
OSSEC Web 使用者介面
[edit | edit source]Web 使用者介面 (WUI) 視覺化所有在 OSSEC 執行期間收集的統計資訊。這包括事件、警報、有關防火牆丟棄和日誌檔案條目的統計資訊,以表格形式顯示。OSSEC 的基於 Web 的介面使訪問統計資訊更加方便。
以下部分介紹瞭如何在 OSSEC HIDS 伺服器上設定 WUI 以及 WUI 的主要功能。
設定
[edit | edit source]WUI 執行在固定的 OSSEC HIDS 伺服器上,該伺服器收集和管理代理的資料。WUI 不能安裝在代理上,因為所有收集到的警報都會發送回 OSSEC HIDS 伺服器以進行進一步處理。在安裝 WUI 之前,需要滿足一些基本先決條件。OSSEC HIDS 伺服器需要設定為 HTTP Web 伺服器 - 這裡選擇 apache2 - 並且需要安裝一個包含伺服器端指令碼語言 PHP 直譯器的軟體包(清單 7.14)。這樣,包含包含 PHP 程式碼的網頁的程式碼就可以由 Web 伺服器解釋。
- 清單 7.14 安裝 apache 伺服器和 php5。
sudo apt-get install apache2 php5 下載並解壓縮包含原始碼的壓縮包後(清單 7.15),將解壓縮後的目錄移動到 /var/www,以便 Web 伺服器可以訪問這些檔案。
- 清單 7.15 獲取 WUI 原始碼。
wget http://www.ossec.net/files/ossec-wui-0.3.tar.gz tar -xvf http://www.ossec.net/files/ossec-wui-0.3.tar.gz 該目錄包含一個安裝指令碼,引導使用者完成設定(清單 7.16)。
- 清單 7.16 解壓縮 wui 檔案,將其移動到 /var/www 並啟動設定。
mv ossec-wui-0.3 /var/www cd /var/www/ossec-wui-0.3 ./setup.sh 安裝程式會提示輸入使用者名稱和密碼(清單 7.17)。之後,安裝程式會啟動,安裝程式會報告設定是否成功。
- 清單 7.17 安裝 WUI。
Setting up ossec ui... Username: schroeder New password: Re-type new password: Adding password for user schroeder ...#Setup output Setup completed successfully. 要完成設定,需要將 Web 伺服器使用者新增到 ossec 組(清單 7.18)。該使用者通常是 Apache、www 或 www-data。
- 清單 7.18 將使用者 www-data 新增到 ossec 組。
adduser www-data ossec 重啟整個系統後,WUI 將在 http://<ip-address-of-webserver>/ossec-wui-0.3/ 上可用。
功能
[edit | edit source]WUI 提供強大的功能,幫助使用者檢視系統中發生的事件。圖 [fig:overview] 顯示主視窗。它概述了可用的伺服器和代理、最新修改的檔案以及最新事件。可用的代理由其名稱和關聯的 IP 地址描述。單擊相應的代理會顯示此資訊。如果代理處於非活動狀態或無法連線到伺服器,則代理名稱旁邊會顯示 Inactive。在圖中,名為 worker1 的代理目前處於非活動狀態。只有 OSSEC 伺服器可用。

此外,主視窗還包含四個選項卡,每個選項卡都提供特定的功能。它們分別是:
- Main,顯示主視窗
- Search,允許搜尋收集到的警報
- Integrity Checking,允許搜尋收集到的 syscheck 警報
- Stats,顯示關於收集到的警報的彙總統計資訊。
第五個選項卡 About 不提供特殊服務,只是顯示有關 WUI 版本及其貢獻者的資訊。
搜尋視窗(圖 7.4)提供了一個查詢介面,具有許多可能的選項來指定使用者要搜尋的警報型別。感興趣的選項可能是警報的最低嚴重程度級別、類別(例如身份驗證控制)和日誌格式(例如 sshd)。可以設定特定的搜尋時間段。或者,透過選擇即時監控,WUI 會顯示所有即將發生的事件。
還有更多選項可以減少搜尋結果。可以指定規則 ID,以便只顯示分配給該規則編號的警報和事件。Pattern 欄位搜尋事件中透過正則表示式描述的模式。要只顯示來自特定代理(例如 worker1)或來自使用者帳戶(例如 root)的事件,可以使用 Location 和 User 欄位。當搜尋結果太多時,可以使用 Max Alerts 欄位限制要顯示的警報的最大數量。
當找到結果時,WUI 會將警報型別分為三類:
- 嚴重程度細分
- 警報按其嚴重程度級別排序
- 規則細分
- 通知有關警報的相應規則 ID
- 源 IP 細分
- 通知有關警報的相應源 ID,即觸發該警報的使用者。

WUI 還顯示了在伺服器和所有代理上修改過的檔案。單擊特定檔案,例如圖 7.5 中的 /etc/resolv.conf,會提供有關檔案位置的更多資訊 - 由伺服器或代理的名稱和目錄路徑指定 - 以及它何時被修改。

圖 7.6 顯示了特定代理修改過的檔案的詳細檢視。可以透過選擇下拉選單中的一個代理來選擇此檢視,下拉選單提供了構成 OSSEC 系統的所有代理。單擊 Dump database 會概述該代理已更改的所有檔案。

圖 7.7 顯示了選定日期的統計資訊。它顯示了所有代理的彙總值,按事件的嚴重程度級別和規則(由其規則 ID 描述)分別排序。此外,它還計算了事件的總數和平均數量,以及有多少事件被歸類為警報。

事件的表示方式如圖 7.8 所示。這種表示方式在主視窗和顯示搜尋結果時使用。它包含以下資訊:顯示 OSSEC 代理識別事件的日期和時間。日期和時間戳顯示在每個事件的開頭。與事件關聯的規則 ID(*Rule Id*)連結到有關規則的資訊。點選它將重定向使用者到包含規則特定資訊的網頁。事件的嚴重程度級別也顯示在此表示中(*level*)。*Location* 欄位提供有關報告事件的代理以及與事件關聯的檔案的資訊。*Description* 以簡短的描述總結事件。

本章介紹了 OSSEC。OSSEC 旨在成為監控計算機叢集的強大工具。它包括檔案完整性檢查、日誌監控、主動阻止攻擊和 rootkit 檢測等功能。OSSEC 使用特殊分析來檢查日誌檔案。日誌訊息分兩步處理。首先介紹了預解碼(第 7.5.1 節),然後解釋瞭解碼步驟(第 7.5.2 節)。在解碼步驟中,使用 XML 檔案從事件中提取特定資訊。
OSSEC 的設定分為兩部分解釋:伺服器安裝(第 7.6.1 節)和代理安裝(第 7.6.2 節)。對於代理安裝,生成金鑰以使伺服器和代理之間能夠通訊非常重要。伺服器安裝包括配置本地電子郵件通知(第 7.6.1 節)。這是必要的,因為許多 SMTP 伺服器不接受從 OSSEC 伺服器傳送的訊息。
OSSEC 提供一個可選功能:Web 使用者介面。第 [sec:wui] 節解釋了它的安裝(包括將 OSSEC 伺服器配置為 Apache Web 伺服器)和功能。
OSSEC 的基本配置及其所有規則和解碼器實際上提供了對系統中可能發生的已知事件的有用檢測。但是,可以使用自定義規則來改進 OSSEC 的功能。由於這超出了本報告的範圍,因此此處沒有描述。對於進一步的研究,透過定義自己的規則,調整 OSSEC 的功能以適應當前計算機叢集的特性會很有趣。為此,必須分析在實際計算機叢集中通常發生的事件。主要目標是建立有用且合適的解碼器和規則。