rsyslog syslog MySQL 日誌管理 Log 日誌

自建登入事件回報系統 即時監看Log免寫程式碼

2015-01-20
這裡將把Log資料儲存至遠端資料庫上並利用MySQL中Trigger的機制,在無須撰寫任何程式碼的前提下,完成一項可直接從資料庫層面自動回報Log紀錄中異常情況的功能。
登入後,以「mysql -u root -p[資料庫密碼]」登入,然後使用下列指令新建函數(mysql>為提示字元):


相關的函數說明如下,這裡僅說明有用到的函數:

·PREG_RLIKE:以正規表示法來表示符合的紀錄,語法如下:


·pattern:為正規表示法
·subject:為要驗證的欄位

執行範例如如圖7所示,該例為查詢Message欄位是否有Accepted password的樣式,亦即登入的資訊。


▲圖7 查詢Message欄位是否內含Accepted password的樣式。

·preg_capture:取得樣式中的字串,語法如下:


·pattern:為正規表示法
·subject:為要驗證的欄位
·capture:取得符合樣式的字串

執行範例如圖8所示(在登入事件的記錄中,取得登入使用的來源IP)。


▲圖8 在登入事件的記錄中取得登入使用的來源IP。

最後,使用以下的Trigger(觸發)直接從資料庫收到登入事件,即可呼叫外部程式(名稱為email)發出電子郵件通知管理者:


至此,即可在不撰寫任何程式的情況下完成登入事件自動回報的系統。

<本文作者:吳惠麟,多年資安經驗,喜好利用開源碼建構相關解決方案,著有「資訊安全原理與實驗」等書。>


追蹤我們Featrue us

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

我知道了!