為了快速找出系統紀錄內的重要資訊,本文將透過Syslog方式把Windows系統上的事件紀錄統一儲存到遠端的rsyslog伺服器,並藉由rsyslog伺服器將相關資訊儲存至MySQL資料庫,以達成中央控管紀錄的目標。
最後,設定rsyslog的組態檔,檔名為rsyslog.conf,如圖6示。
|
▲圖6 設定rsyslog的組態檔。 |
有關於rsyslog.conf的相關設定,分別說明如下:
(1) 為設定要載入的模組,其中包括imuxsock(設定
資料來源為本機的Log資訊)、imklog(設定資料來源為本機的核心資訊)以及ommysql(支援MySQL資料庫存取功能)。
(2) 設定rsyslog伺服器的功能,包括:
(3) 設定rsyslog伺服器輸出Syslog到MySQL資料庫的
相關資訊,其格式為:
在圖6中的設定,即表示將所有產生的Syslog資料儲存到所指定的MySQL資料庫內。
完成設定後,即可利用「rsyslogd –f rsyslog.conf」指令來啟動rsyslog伺服器。
完成rsyslog伺服器端的設定後,接下來設定Windows系統的Syslog功能,將所產生的事件紀錄透過Syslog傳遞至遠端的rsyslog,再由rsyslog儲存到MySQL資料庫內,以達到集中式保存Log紀錄的目的。
安裝EventLog to Syslog
利用EventLog to Syslog免費軟體,即可將Windows系統的事件紀錄輸出到遠端的rsyslog伺服器上。先連結至「https://code.google.com/p/eventlog-to-syslog/」,然後依據作業系統的需求(32位元或64位元)取得相關的程式,這裡取得的版本為Evtsys_4.5.1_64-Bit(64位元版)。
EventLog to Syslog的安裝方式非常簡單,解壓縮後會產生一個「evtsys.exe」檔案,接著以「系統管理者的身分」開啟命令列介面,並執行如圖7所示的指令進行安裝即可,其中-h需指定遠方的rsyslog伺服器主機IP位址,-p 514則是指定以通訊埠514來傳遞。
|
▲圖7 安裝EventLog to Syslog。 |
執行指令成功完成安裝作業後,就會如圖8所示在Windows系統上新增一個「Eventlog to Syslog」服務(Service),請將此服務加以啟動。啟動服務後,就會將系統內的所有事件(Event)輸出到所設定的rsyslog伺服器,再由rsyslog伺服器將相關的資料儲存至MySQL資料庫。
|
▲圖8 新增「Eventlog to Syslog」服務。 |
如果一切正常,就可以查閱資料庫內是否有相關的資訊,如圖9所示。
|
▲圖9 在資料庫內查閱是否有相關資訊。 |
或者,可以查詢rsyslog伺服器下的「/var/log/messages」檔案是否有接收到來自其他主機的Syslog資訊,如圖10所示。
|
▲圖10 查看「/var/log/messages」檔案以確認是否有接收到來自其他主機的Syslog資訊。 |
如果設定正常,應該就能查詢到從Windows系統傳來的事件紀錄。就本次測試的結果,在rsyslog伺服器內所接收的Syslog資訊,對於中文資訊並不會有影響,可正常地顯示事件紀錄內的中文資訊。
但是,如果經由rsyslog儲存到MySQL資料庫,中文字就會呈現亂碼,這在解析事件上或許會造成一些困擾。幸好,微軟針對每個事件均會定義一個事件代號(Event ID)來表示,即使無法取得完整的中文說明,使用者還是可以從事件代號判別事件的種類。
到目前為止,已經成功地將Windows系統上所有的事件,輸出到rsyslog伺服器上,但美中不足的是,這種方式並無法利用過濾的方式來取得所需的資料,例如可能只要監控「登入」的事件,並不想理會其他的事件。
因此,接下來介紹一套微軟提供的免費紀錄解析軟體Log Parser,讓管理者能夠方便地以資料庫解析(使用SQL語法)擷取所需的資料,並且以輸出Syslog的方式將資料輸出至rsyslog伺服器。
什麼是Log Parser
Log Parser是一套微軟公司所提供解析多種紀錄(基本上Windows系統上的紀錄都可解析)的免費命令列工具程式,由於一般的系統紀錄大多儲存在文字檔案中,在解析相關資訊會有一定的難度,因此Log Parser提供使用者能以資料庫解析的方式(利用SQL指令)從文字型態的檔案中解析出所需的資訊。
Log Parser的安裝很簡單,到微軟官方網站直接下載(本文採用的版本為2.2),解壓縮後,直接安裝即可。在安裝完成後,Log Parser提供一個主要執行檔以供使用者使用,其檔案名稱為「LogParser」。
另外,Log Parser也貼心提供了許多有用的查詢SQL範例供使用者參考,例如找尋曾登入到系統的使用者名稱等等。而SQL範例放置於Log Parser安裝目錄下的「Samples」目錄內。
簡單介紹Log Parser後,接著說明Log Parser整體架構,相關架構如圖11所示。
|
▲圖11 Log Parse架構示意圖。 |