叢集手冊/序曲
序曲是一個基於感測器的監控系統,由於它的管理器模組,它是監控叢集的完美選擇。本指南解釋了序曲是什麼以及如何在虛擬 Ubuntu 系統中安裝它。
序曲是一個所謂的“入侵檢測系統”(IDS)。入侵檢測系統分為“主機”和“網路”兩種。HIDS 直接在作業系統上保護和控制活動,它負責日誌和核心檔案以及登錄檔。另一方面,NIDS 負責網路監控系統。序曲結合了這兩種方法,因此屬於“混合入侵檢測系統”的類別。

序曲管理器是軟體的核心,所有感測器的訊息都彙集到一起,然後寫入資料庫。感測器可以觀察不同的位置,例如各種日誌或核心本身。這樣,為每個相關的介面設定一個感測器,然後連線到管理器。管理器收集、排序和規範化傳入資料,並以 **IDMEF** 格式儲存在建立的資料庫中。
除了序曲自帶的感測器外,還可以將第三方感測器註冊到管理器。

為了使序曲順利執行,有必要在系統上安裝一些軟體包。
- prelude-manager: 序曲管理器正如前面所述,是軟體的核心。所有來自感測器的訊息都匯聚在這裡。
- prelude-lml: 序曲日誌監控助手讀取各種日誌檔案,並將它們提供給管理器作為輸入。在本例中,我們稍後將從 auth.log 檔案中讀取,這將向我們提供有關係統中登入嘗試的資訊。
- prewikka: Prewikka 以圖形方式準備管理器寫入資料庫的資料,以便我們也可以從瀏覽器中檢索它。
- apache2: 我們需要一個 Apache Web 伺服器來開啟 Prewikka 提供的網站。
- postgresql-9.1: 我們總共需要兩個資料庫,在這種情況下,建議使用 PostgreSQl 而不是 mySQL,稍後會詳細說明。管理器和 Prewikka 各自需要一個數據庫。
Shell 命令可以透過以下方案識別
# nano /etc/hosts
此安裝已在一個包含一個主節點和多個工作節點的虛擬系統上測試。所有機器上都使用 Ubuntu Server 的 64 位版本。為了方便安裝,建議使用命令
# sudo su
一次性授予適當的“root”許可權。
- 步驟 1
-
安裝所有軟體包:(所有軟體包僅安裝在主節點上)
# apt-get install prelude-lml prelude-manager prelude-correlator prelude-notify apache2 postgresql-9.1 prewikka
最終會詢問使用者是否要使用嚮導設定資料庫,這裡建議沒有經驗的使用者使用嚮導。 - 步驟 2
-
現在必須設定各種配置檔案。我們從序曲配置開始。
# nano /etc/prelude/default/global.conf

圖 10.3:重要提示,[節點地址] 必須被註釋掉。 在這裡,必須輸入“節點名稱”和正確的地址。在虛擬機器上,對於本地環境,請使用以下地址“127.0.0.1”。重要的是,[節點地址] 也必須在這裡被註釋掉!
- 步驟 3
-
啟動序曲管理器:
# /etc/init.d/prelude-manager start
在這裡,我們將被告知序曲管理器尚未啟用。錯誤訊息中給出了相應的匹配檔案。
序曲管理器已停用,請根據您的需要調整配置 * 然後在 /etc/default/prelude-manager 中將 RUN 設定為“yes”以啟用它。
在以下檔案中啟用序曲管理器後,我們使用上面的命令再次啟動它。
# nano /etc/default/prelude-manager
- 步驟 4
-
必須在管理器中註冊序曲感測器,以便它們可以相互通訊。為此,我們在這一步中將序曲 - LML 感測器註冊到管理器。在管理器上,我們執行以下命令來註冊 prelude-lml 感測器。
# prelude-admin register prelude-lml ’idmef:w admin:r’ 127.0.0.1 –uid 0 –gid 0

圖 10.4:管理器現在正在等待密碼 現在它正在等待伺服器生成的密碼的輸入。由於我們的 Prelude-lml 工具執行在與管理器相同的伺服器上,因此應使用第二個終端視窗。
# prelude-admin registration-server prelude-manager

圖 10.5:現在必須在管理器中輸入感測器生成的密碼 此命令為我們的感測器生成一個密碼,該密碼是註冊時所需的。在管理器中成功輸入密碼後,必須再次確認註冊。現在管理器和感測器(Prelude-lml)相互連線。

圖 10.6:註冊成功!
- 步驟 5
-
我們已經在步驟 2 中配置了管理器,現在必須設定感測器(Prelude-lml)。為此,我們編輯以下檔案
# nano /etc/prelude-lml/prelude-lml.conf
這裡需要註釋掉兩行程式碼,以便感測器設定正確的伺服器地址。
[prelude]
server-addr = 127.0.0.1 - 步驟 6
-
序曲現在已經完全可以使用了,但我們仍然缺乏結果的圖形表示,我們可以透過在瀏覽器中顯示 Prewikka 來獲得。因此,再次建議檢查資料庫。
# nano /etc/prewikka/prewikka.conf- 清單 10.1 資料庫名稱和使用者(示例)
type: pgsql
host: localhost
user: prelude
pass: prelude
name: prelude
[database]
type: pgsql
host: localhost
user: prewikka
pass: prewikka
name: prewikka
最後,可以配置 Apache 伺服器,以便它也從 Prewikka 獲取必要的檔案。
# nano /etc/apache2/apache2.conf在該檔案的末尾,必須新增以下程式碼
- 清單 10.2 Apache 的 Prewikka 配置
{{TT block Alias /prewikka/prewikka/ /usr/share/prewikka/htdocs/ScriptAlias /prewikka/ /usr/share/prewikka/cgi-bin/prewikka.cgi<Directory /usr/share/prewikka/htdocs/> Options None AllowOverride None Order allow,deny Allow from all </Directory> <Directory /usr/share/prewikka/cgi-bin/> AllowOverride None Options ExecCGI <IfModule mod_mime.c> AddHandler cgi-script .cgi </IfModule> Order allow,deny Allow from all </Directory> }} 重新配置後,必須重新啟動 Apache。
# /etc/init.d/apache2 restart
必須使用以下守護程序啟動 Prewikka(在每次重啟後)
# /usr/bin/prewikka-httpd現在可以在瀏覽器中訪問 Prewikka。(當然,請用您的 eth0 inet 地址替換 IP 地址)
192.168.178.56/prewikka/
名稱:admin
密碼:admin
在安裝過程中,可能會出現一些問題,以下是我想簡要討論的一些問題。
在第 8 步啟動 Prewikka 時,最終會出現一個錯誤,報告 prewikka.conf 檔案許可權不足。如果出現此錯誤,則必須使用以下命令再次調整該檔案的許可權。
# chmod 755 /etc/prewikka/prewikka.conf
我們使用 PreSQL 而不是 mySQL 的原因是 Prelude 使用過時的資料庫設定。它使用過時的命令“TYPE = InnoDB”,但是 mySQL 5.0+ 只接受命令“ENGINE = InnoDB”。這確實可以在以下檔案中進行修正
# nano /usr/share/libpreludedb/classic/mysql.sql
它也接受了這個檔案,但隨後由於 libpreludedb 中的錯誤,無法從 prelude-manager 啟動。
因此,建議為 Prelude 使用 PreSQL 資料庫。
我們使用 Prewikka,以便我們從所有感測器收集的資料,Prelude Manager 都能以圖形化的 Web 介面清晰地顯示出來。在這裡,我們獲得了所有必要的資訊,這些資訊也可以在 Prelude Manager 資料庫中找到。在本例中,我們只註冊了 Prelude Manager 和 Prelude-LML 感測器,它當前讀取系統的 auth.log 檔案。


- Prelude 網站: https://www.prelude-ids.org/
- Prelude Manager 指南: https://www.prelude-ids.org/wiki/1/PreludeManager
- Prewikka 指南: http://security.ncsa.illinois.edu/research/mithril/PrewikkaInstall.html
- PostgreSQL 指南: https://help.ubuntu.com/community/PostgreSQL
- 影片安裝教程: http://www.youtube.com/watch?v=oV4JCqi0FJw



