之前的文章曾介紹過mod_security模組,這是一套開源碼社群中頗負盛名的WAF軟體,其主要功能在於阻擋如SQL injection、X.S.S等惡意行為的網頁攻擊行為。其實mod_security模組除了在防禦惡意網頁攻擊行為具有優異的表現外,在網站Log紀錄的處理方面也具有相當強大的功能,不但可依設定分門別類處理不同種類的網站Log紀錄,甚至還能提供儲存至遠端資料庫的功能。
Remote Logging(遠端記錄功能)
mod_security模組提供遠端儲存網站Log的功能,可利用mlogc(ModSecurity Log Collector)程式將mod_security模組所產生的網站Log資訊回傳至遠方的Log主機中,在Remote Logging記錄機制中定義了以下兩個名詞:
- Sensor:即mod_security模組所在的主機,負責將所產生的網站Log資訊,利用mlogc程式回傳至遠方的網站Log伺服器。
- console:負責接收及顯示Sensor所回傳的網站Log資訊。
在本文即是利用waf-fle當成console程式來接收sensor所回傳的網站Log資訊及顯示相關的資訊
Guardian Log(防禦Log機制)
mod_security模組允許將Log傳遞至外部程式進行處理,這樣子的做法,好處在於可擴充mod_security模組相關的功能。
例如「SecGuardianLog |/bin/httpd-guardian」,即是將所產生的網站Log資訊傳送至httpd-guardian進行處理(這是一種防止網站被拒絕服務攻擊的程式)。
在談論完mod_security模組的網站Log分類後,由於要實現遠端網站Log儲存的功能,需藉由mlogc程式,接下來就繼續說明mlogc程式。
mlogc是Mod_Security所提供的網站Log資訊收集程式,可利用此程式來收集mod_Security所產生的網站Log資訊,並將相關的網站Log資訊回傳至中央網站Log伺服器,以達到異地儲存及中央控管的目的。
在編譯Mod_Security模組的過程中,已將mlogc程式編譯進去,可從Mod_Security原始碼目錄中的「mlogc」目錄取得相關的執行檔,檔案名稱為「mlogc」。
mlogc僅使用單一的組態檔(檔案名稱為mlogc.conf),常用的組態如表4所示。
在mlogc接收到相關的網站Log資訊後,即會將相關的資訊,傳遞至遠端的console程式,在本文中即為waf-fle。
表4 mlogc常用組態