SIEM WAF 伺服器 防火牆 Log 日誌 資安 安全

自建網頁式Log管理系統 web主機事件一覽無遺

2014-03-27
之前的文章曾介紹過mod_security模組,這是一套開源碼社群中頗負盛名的WAF軟體,其主要功能在於阻擋如SQL injection、X.S.S等惡意行為的網頁攻擊行為。其實mod_security模組除了在防禦惡意網頁攻擊行為具有優異的表現外,在網站Log紀錄的處理方面也具有相當強大的功能,不但可依設定分門別類處理不同種類的網站Log紀錄,甚至還能提供儲存至遠端資料庫的功能。
最後,將waf-fle檔案放至網站根目錄之後,利用瀏覽器瀏覽即可。waf-fle提供一組預設的帳號及密碼(admin/admin),登入後重新設定密碼就大功告成了。

系統實作

接下來,本次的實作將分成三個階段來進行。

第一階段,先建立本地端的稽核系統(當有稽核事件發生時,即將相關稽核資訊儲存在本地端的檔案內),實際操作如下所述。

在httpd.conf檔案之中設定相關稽核紀錄選項,來啟動mod_security的Log紀錄功能,如下圖所示為主要記錄HTTP錯誤代碼為404事件(即找不到網頁,亦即網站伺服器上沒有這個檔案),並且將相關的事件儲存在「/tmp/audit.log」檔案內。


重啟網站伺服器之後,可故意瀏覽一個不存在的網頁(產生404事件),如果一切正常,在「/tmp/audit.log」檔案內容中應該就可以看到類似如下圖所示的相關稽核紀錄。


在第二階段,將利用mlogc將mod_security模組所在主機(在此稱為Sensor主機)的相關網站Log資訊回傳至遠方的網站Log伺服器(在此稱為Console主機),相關架構圖如下所示。


由於mlogc是使用PUT的方式將檔案傳遞至Console主機,所以該網站Console主機必須支援PUT的方法(Method)。

以Apache 2.2.22為例,在編譯時就將webdav編譯進去,由於waf-fle也需要mod_rewrite模組,因此採用原始碼編譯的方式來編譯Apache(其中#為註解):


在安裝成功之後,可以利用「httpd -l」指令來檢查是否出現如下的字樣,以便確認相關模組已經編譯進去:

mod_rewrite.c
mod_dav.c
mod_dav_fs.c

接下來,設定httpd.conf中的webdav相關組態,相關設定如下:


再來就是設定httpd-dav.conf檔案,內容如下圖所示。


以上設定「/usr/local/apache2/davtmp」為可支援PUT method的目錄。在此特別提醒讀者,PUT METHOD是個相當危險的http method,在本文中為了測試方便,所以未加任何限制,但在實務上一定要針對此目錄加上限制,不然任何人都可以用PUT的方式將惡意檔案上傳至你的網站伺服器上。

在設定webdav後,即繼續設定mod_security相關組態,內容如下圖所示。



追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!