windows server eventlog syslog mysql 伺服器 log 日誌

微軟系統日誌集中控管 自建資料庫式Log伺服器

2016-02-23
為了快速找出系統紀錄內的重要資訊,本文將透過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資料庫,達成以中央控管紀錄的目的。

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


追蹤我們Featrue us

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

我知道了!