為了快速找出系統紀錄內的重要資訊,本文將透過Syslog方式把Windows系統上的事件紀錄統一儲存到遠端的rsyslog伺服器,並藉由rsyslog伺服器將相關資訊儲存至MySQL資料庫,以達成中央控管紀錄的目標。
圖11中的輸入源指的是欲被解析的紀錄來源,例如IIS Log、系統事件(Event Log)等等。輸出方面,除了可輸出至檔案(Text file)外,還能夠輸出到資料庫或Syslog伺服器上,本文將使用輸出到Syslog的功能。
Log Parser的使用並不難,主要是指定欲解析的輸入源,例如系統事件,而後利用SQL查詢指令(SELECT)來解析紀錄輸入源,最後將執行結果的資訊輸出到其他地方,例如檔案或資料庫。
在本文中,將利用Log Parser把所解析的系統事件傳遞到遠方的Syslog伺服器,再由該Syslog伺服器將相關資料儲存到MySQL資料庫,以達到中央控管的功能。表6簡單說明了所提供的輸入源格式。
表6 輸入源格式說明
本文將只探討記錄輸入源為EVT(Windows事件)的分析運用。其他的類型請自行研究。而Log Parser在解析完相關的紀錄後,也提供了多種類型的輸出格式,相關的輸出格式如表7所述。
緊接著,說明如何利用Log Parser來取得Windows系統上的紀錄。
表7 相關輸出格式說明
系統事件(System)
系統事件(System)的相關指令,如圖12所示。其中較為重要的欄位說明,可參考表8。
|
▲圖12 系統事件相關指令。 |
表8 系統事件(System)重要欄位說明
安全事件(Security)
有關於安全事件(Security),其使用的指令如圖13所示。
|
▲圖13 安全事件(Security)相關指令。 |
Application應用程式事件
Application應用程式事件的相關指令,則如圖14所示。
|
▲圖14 Application應用程式事件相關指令。 |
在了解相關事件的欄位之後,就可以資料庫的方式取得所需的資料,並且輸出至Syslog伺服器。在此以取得Windows系統中登入成功的資訊為例,使用如圖15所示的指令輸出至Syslog資料庫,然後找出所有曾經登入的相關資訊,其中事件編號(eventid)4624為表示登入事件,並輸出到遠端的Syslog伺服器。
|
▲ 圖15 輸出至Syslog資料庫,然後找出所有曾經登入的相關資訊。 |
指令執行成功以後,就會將SQL指令執行的結果傳入到遠端的rsyslog伺服器。至此,已經利用Log Parser程式搭配輸出Syslog的方式,將有意義的資訊儲存到遠端的rsyslog伺服器上,並且透過rsyslog伺服器將資料儲存至MySQL資料庫,達成以中央控管紀錄的目的。
<本文作者:吳惠麟,多年資安經驗,喜好利用開源碼建構相關解決方案,著有「資訊安全原理與實驗」等書。>