Suricata 入侵偵測系統 MySQL 惡意攻擊 Log

改良自建開源入侵偵測 借力資料庫提高效能

2018-03-14
前期內容透過檢視文字檔案內所記錄的偵測資訊來找出惡意攻擊,本期實作將進一步打造具有資料庫功能的網路型入侵偵測系統,並透過網頁管理程式,以管理網頁的方式來檢視偵測紀錄。
前期文章已經簡介過網路型入侵偵測系統(Suricata),在成功部署後,如果偵測到惡意的攻擊行為,就會將該相關偵測資訊記錄到文字檔案上,即可利用檢閱該檔案來取得相關資訊。

但是,如此的做法在偵測資訊的管理上並不方便,因此本文將結合MySQL資料庫,實作具有資料庫功能的網路型入侵偵測系統,並提供一個網頁管理程式,讓使用者能很方便地利用網頁管理的方式來管理相關的偵測紀錄,表1所示為本文將使用到的主要套件。

表1 實作所需軟體清單

什麼是Barnyard2

眾所皆知,網路型入侵偵測系統主要的功能在於監控網段中來往的封包,並根據所設定的規則來偵測是否有惡意的攻擊行為並加以記錄或阻擋,因此對一個繁忙的網路而言,此類工作的負擔是相當沈重的。

所以,在這種情況下若希望網路型入侵偵測系統能夠專注在偵測封包的主要工作上,而不必要再分心去處理紀錄資訊等瑣事,就可以採用Barnyard2輔助程式。

Barnyard2可以用來讀取網路型入侵偵測系統所輸出的Unified格式紀錄(基本上各種入侵偵測系統應該都會支援此種格式的輸出),並在取得輸出報表的內容後,即時地解析輸出報表的資訊,並且轉存到資料庫(這裡將使用MySQL資料庫),其架構圖如圖1所示。


▲圖1 實作架構圖。

接著,簡述Barnyard2的工作原理。首先,Suricata須先設定輸出Unfield2格式的紀錄(以下稱為共通輸出報表)並指定儲存輸出共通輸出報表檔案的目錄。

而後再啟動Barnyard2程式,Barnyard2就會即時地監控共通輸出報表的目錄,一旦發現該目錄內有新增的資料,就會即時地解析內容,並將相關資訊儲存至資料庫內,因而達到將資料儲存至資料庫的目的。

安裝Barnyard2

說明過Barnyard2的工作原理之後,接下來安裝Barnyard2。由於Barnyard2需要相依其他的套件,所以必須先安裝Barnyard2軟體所需要的套件,請依照如下的指令進行安裝:


在安裝所需要的套件後,即可使用git來取得最新版本的Barnyard2原始碼進行編譯,執行如下指令:


取得原始碼後,依如下的指令進行編譯(其中#為註解符號):


成功安裝Barnyard2後,接著必須先建立儲存資料的資料庫表格資訊(Table Schema)。相關的資訊儲存在Barnyard2原始碼目錄內的「/schemas/create_mysql」檔案中,請依照此檔案的內容做修改,來建立相關的資料庫表格(建立在名稱為「suricata」的資料庫內)。


追蹤我們Featrue us

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

我知道了!