所有發生過的事情都會儲存在Log紀錄內,但是Log的資訊過於繁雜且儲藏在檔案內,所以取出運用相當不方便。雖然有相關的解決方案可將系統所產生的Log資訊導向至資料庫進行管理,但還是需要相當多的人力才能從一堆繁雜的資訊中找出有用的資訊。對此,本文將利用sagan結合unifield2軟體,把偵測到的惡意行為資訊儲存至資料庫,並且以網頁的方式來輕鬆管理相關的資訊。
在開源碼社群中有一個主機型的入侵偵測軟體,名稱為sagan,是利用事先定義好的樣式(以規則形式來呈現)來即時比對主機上所產生的syslog紀錄,如果有發現符合規則所定義的樣式即觸發相關動作,例如記錄或寄出電子郵件通知管理者等等的動作,並將符合的相關資訊寫入到檔案內。
但是,寫入檔案在使用上畢竟較為不便,因此本文將sagan結合unifield2軟體,把sagan軟體所偵測到的惡意行為資訊儲存至資料庫(本文使用的資料庫為MySQL),並且透過Web介面(名稱為BASE)的管理程式更方便地來管理相關資訊。此次實作所需的軟體套件如表1所示。
表1 實作所需軟體套件
安裝sagan
圖1所示為系統實作的架構圖,作業流程如下所述。圖中的使用者存取系統主機時,主機上的rsyslog程式會以syslog的格式記錄相關事件,而sagan即解析所產生的系統記錄是否有符合其所設定的規則(Rule)樣式,如果符合,就表示其為惡意事件,即以一般的文字記錄在檔案內,或儲存成unified2的格式。
|
▲圖1 系統實作架構圖。 |
當存成unified2格式後,再由barnyard2程式讀取此unified2格式的檔案,並解析相關欄位資訊後儲存至資料庫內,最後再由管理者透過BASE的Web介面程式管理相關的資訊。
在了解相關流程後,開始安裝sagan(本文使用的版本為1.0.0RC3)。在安裝之前,必須先安裝好相關的程式庫,執行如下的指令(其中#為註解符號):
由於sagan僅支援liblognorm 1.0.0以上的版本,所以至官方網站下載liblognorm 1.0.0以上的版本。
在下載並解壓縮後,以如下的指令開始編譯及安裝:
在安裝好相關所需的程式庫後,接下來就開始安裝sagan,執行如下的指令:
sagan在官方網站上有放置相關的規則檔案(Rule),安裝成功之後可至官方網站下載規則樣式集。
解壓縮後,再將相關的檔案放置至規則目錄內即可,本文中該規則目錄的存放位置為「/usr/local/sagan/rules」。