在比較大規模的網路應用或者對安全有一定要求的應用中,通常需要對系統的日誌進行記錄分類並審核,預設情況下,每個系統會在本地硬碟上記錄自己的日誌,這樣雖然也能有日誌記錄,但是有很多缺點:首先是管理不便,當伺服器數量比較多的時候,登陸每台伺服器去管理分析日誌會十分不便,其次是安全問題,一旦有入侵者登陸系統,他可以輕鬆的刪除所有日誌,系統安全分析人員不能得到任何入侵資訊。因此,在網路中安排一台專用的Log Service器來記錄系統日誌是一個比較理想的方案。
一、記錄UNIX類主機的log資訊
修改/etc/syslog.conf檔案:
我們舉例你只要記錄系統登入登出日誌到遠程Log Service器上,那麼只需要修改以下一行:
authpriv.* @192.168.10.100
這裡的192.168.10.100就是log伺服器的IP,“@”符號表示發送到遠程主機。
OK,重啟一下syslog服務:
Linux: /etc/init.d/syslogd restart
BSD: /etc/rc.d/syslogd restart
用logger測試一下是否配置成功:
logger –p authpriv.notice “Hello,this is a test”
到log伺服器上去看看,“Hello,this is a test”應該已經被記錄下了。最後在客戶機上登陸登出幾次,看看真實的authpriv資訊是否也被成功的記錄下。
二、Windows日誌的記錄
對於UNIX類主機之間記錄日誌,由於協議、軟體和日誌資訊格式等都大同小異,因此實現起來比較簡單,但是windows的系統日誌格式不同,日誌記錄軟體,方式等都不同。因此,我們需要第三方的軟體來將windows的日誌轉換成syslog類型的日誌後,轉寄給syslog伺服器。
介紹第三方軟體evtsys (全稱是evntlog to syslog)
檔案才幾十K大小,非常小巧,解壓後是兩個檔案evtsys.dll和evtsys.exe
把這兩個檔案拷貝到 c:/windows/system32目錄下。
開啟Windows命令提示字元(開始->運行 輸入CMD)
C:/>evtsys –i –h 192.168.10.100
-i 表示安裝成系統服務
-h 指定log伺服器的IP地址
如果要卸載evtsys,則:
net stop evtsys
evtsys -u
啟動該服務:
C:/>net start evtsys
開啟windows組策略編輯器 (開始->運行 輸入 gpedit.msc)
在windows設定-> 安全設定 -> 本地策略 ->稽核原則 中,開啟你需要記錄的windows日誌。evtsys會即時的判斷是否有新的windows日誌產生,然後把新產生的日誌轉換成syslogd可識別的格式,通過UDP 3072連接埠發送給syslogd伺服器。
OK,所有的配置windows端配置完成,現在配置一下syslogd的設定檔.
參數的配置和上面相同,
所不同的是evtsys是以daemon裝置的方式發送給 syslogd log資訊的。
因此,需要在/etc/syslog.conf中加入:
daemon.notice |/var/log/filter_log.sh
關於syslog 記錄裝置和記錄等級方面的知識可以參考syslog文檔。