Google提供的服務很多,透過即時監控系統記錄的方式,就能夠利用命令列型式的行事曆管理程式,將相關的系統事件記錄至Google行事曆內,輕鬆打造出全自動系統日誌。
檔案名稱部分為設定所要監控的檔案名稱,例如設定「/var/log/secure」就表示logfmon將即時監控「/var/log/secure」,而tag即是設定tag名稱。
後續的設定即會以此tag名稱來表示該被監控的檔案,如下例:
設定欲監控的檔案名稱為「/var/log/secure」,並設定tag名稱為「secure」。
·logregexp:對於資料進行初步的過濾,此功能主要用來過濾掉不符合,如果未設定此選項,logfmon只會過濾的格式為syslog的來源,這表示被監控檔案符合syslog格式的資料時,才可進入使用者自定義的樣式規則,再進行細部的過濾。如下例則表示所有的字串均符合初步過濾的規則,亦即不侷限過濾格式為syslog:
·match:設定自定義的規則樣式,一旦符合所定義的樣式就執行自定義的動作,語法如下:
條件式:為所定義的正規表示法。
執行事件:可分為下列幾個事件,如ignore(若符合所設定的條件式則不理會,亦即不做任何動作)、exec(若符合所設定的條件式,則執行自行定義的指令或程式)、write(若符合條件式,就將該符合的字串寫入檔案中)、write-append(若是符合條件式,便將該符合的字串新增至檔案中)。
舉例來說,「match in secure "正規化表示的樣式規則" exec“自行定義的指令”」就是表示一旦「/var/log/secure」(以secure表示)變動的內容符合所設定的樣式規則,就能夠執行「自行定義的指令」。
在了解logfmon的設定後,接下來要做的是找出所要監控的樣式,在此以成功登入的記錄為例,以筆者所使用的CentOS系統為例,會把成功登入的資訊記錄在「/var/log/secure」檔案內。其他的Linux系統可能會略有不同,請自行確認。登入記錄格式,則如圖8所示。
|
▲圖8 顯示登入記錄格式。 |
因此,針對此登入格式可定義如下的的正規表示法樣式,一旦記錄中有符合下列樣式的記錄,就表示已發生登入事件,所以可得到系統登入成功的記錄,將會符合下列的正規表示法的樣式:
如果再細分,則以$3表示登入的帳號名稱,$5表示登入的來源IP資訊,$7代表登入的來源埠資訊。
然後設定logfmon.conf,設定如果有發現登入記錄的資訊,就執行所撰寫的setcal.pl,將該事件記錄到行事曆中,logfmon.conf設定內容如下:
最後,執行「logfmon -f logfmon.conf」啟動logfmon。此時,使用者可利用SSH登入到該系統上進行操作,如果一切正常,就能夠在Google行事曆中看到有關成功登入的記錄了。
<本文作者:吳惠麟,多年資安經驗,喜好利用開源碼建構相關解決方案,著有「資訊安全原理與實驗」等書。>