日志系統(tǒng) 使Linux管理更輕松
操作系統(tǒng)的日志主要具有審計與監(jiān)測的功能,通過對日志信息的分析,可以檢查錯誤發(fā)生的原因,監(jiān)測追蹤入侵者及受到攻擊時留下的痕跡,甚至還能實時的進行系統(tǒng)狀態(tài)的監(jiān)控。有效利用日志信息并對其進行分析與實時的監(jiān)控管理,對于系統(tǒng)的安全性具有極為重要的作用。
本文就是和大家探討如何利用linux日志系統(tǒng)來管理系統(tǒng)更輕松。對于日志信息的管理通常采用兩種方法,一種方法是不同服務器的日志信息都存放在各自系統(tǒng)內,系統(tǒng)管理員對各服務器進行分散管理。另一種方法則是使用日志主機系統(tǒng),這是一個從其他主機收集日志,并將它們存放在同一個地方的系統(tǒng),很容易使來自多個主機的日志條目關聯(lián)起來,對其進行統(tǒng)一管理、分析,甚至配合自動化工具進行實時的監(jiān)控,有效提高管理的效率。
第一種方法往往是大多數(shù)系統(tǒng)管理員的常用的方法,這種傳統(tǒng)的管理方法在服務器數(shù)量較少時還能勉強應付,但在處理多主機狀況時卻并非一種有效的方法。本文主要講述二種日志管理方法,探尋一種提高系統(tǒng)管理效率的途徑。
一、日志主機系統(tǒng)的部署
日志主機系統(tǒng)包括日志主機及各主機系統(tǒng)兩個部分,其中日志主機相當于服務器端,而各主機系統(tǒng)相當于客戶端,將日志信息實時的傳送到日志主機上來。
1. 日志主機的部署
日志主機采用一臺RHEL 5的服務器(假設其主機名為loghost),日志收集軟件采用Linux平臺上的Syslog,Syslog一般都隨Linux系統(tǒng)安裝時已經(jīng)安裝,對于我們部署整個系統(tǒng)提供了極大的便利性,因此在此不對其安裝步驟進行闡述,僅講述其配置方法。
Syslog既可作為客戶端,也可作為服務器端,并且支持遠程的日志收集。其配置文件為/etc/sysconfig/syslog,要配置其作為服務器端,需對此配置文件相應部分改為如下所示:
SYSLOGD_OPTIONS=“-r-m 0”
“-r”選項表示使syslog接收客戶端的遠程日志信息。
接下來重啟Syslog服務器端使配置生效:
#service syslogd restart
由于Syslog采用514端口監(jiān)聽來自各客戶端的日志信息,因此需要在日志主機的防火墻上開放514端口,以iptables為例,對特定網(wǎng)段開放514端口:
/sbin/iptables -A INPUT -i eth0 -p tcp -s 192.168.0.0/16 -dport 514 -syn -j ACCEPT
2.客戶端的部署
2.1 Linux平臺下客戶端的部署
在Linux平臺下依然選擇syslog作為客戶端進行部署,此時此配置文件為/etc/syslog.conf,其默認配置為(僅以/var/log/message日志為例):
*.info;mail.none;authpriv.none;cron.none /var/log/messages
/var/log/message即Sysolg存放系統(tǒng)日志的絕對路徑,將此值替換為日志主機名即可。例子如下:
*.info;mail.none;authpriv.none;cron.none @loghost
根據(jù)上述配置,當Syslog重啟使用配置生效后,客戶端服務器的日志信息將會實時的傳送到日志主機的/var/log/message文件里,對各服務器的日志信息進行統(tǒng)一的管理。
使用如下命令重啟Syslog服務使配置生效:
#service syslogd restart
依上述方法將其他系統(tǒng)日志信息(如/var/log/secure)導入到日志主機上。
筆者建議,采用添加配置而非修改的方法,同時在本地及日志主機上保存系統(tǒng)日志。
2.2 Windows平臺下客戶端的部署
在Windows平臺下采用軟件evtsys進行客戶端的部署,其下載鏈接為http://engineering.purdue.edu/ECN/Resources/Documents/UNIX/evtsys/evtsys_exe.zip 解開后得到兩個文件:evtsys.ext和evtsys.dll。
將這兩個文件放到C:\WINDOWS\system32目錄下,在命令行狀態(tài)下運行如下命令進行安裝: %systemroot%\system32\evtsys –i-h loghost
當安裝成功后,可查看服務列表看到相應的信息,如圖1所示。
卸載evtsys的命令為:
%systemroot%\system32\evtsys-u

圖1
更改日志主機名的命令為:
Net stop evtsys //停止 evtsys evtsys-u //卸載 evtsys evtsys-l-h newloghost //指定新的日志主機名 net start evtsys //啟動 evtsys
二、日志主機的自動日志分析與監(jiān)控
當整個系統(tǒng)部署好后,可以從日志主機里驗證各服務器是否將日志信息發(fā)送到了日志主機上。以/var/log/message為例,打開此文件,當看到具有不同主機名字的日志信息標志著日志主機已經(jīng)正常工作,節(jié)選部分日志如下:
Jan 9 08:39:38 dog crond(pam_unix)[4528]:ses-sion opened for user root by (uid=0) Jan 9 08:39:36 dog crond(pam_unix)[4528]:session closed for user root Jan 9 08:39:40 panda crond(pam_unix)[20296]:ses-sion opened for user root by(uid=0) Jan 9 08:39:40 panda crond(pam_unix)[20296]:ses-sion closed for user root Jan 9 08:39:53 app last message repeated 8 times Jan 9 08:40:11 apple net-snmp[657]:Connection from udp:92.168.1.11:4298 Jan 9 08:40:11apple net-snmp[657]:Received SNMP packet(s) from udp:159.226.2.144:42988 Jan 9 08:41:15orangesshd(pam_unix)[28389]:ses-sion opened for user tom by(uid=2011) Jan 9 08:41:28 orange sshd(pam_unix)[28389]:ses-sion opened for user tom by (uid=2011) Jan 9 08:41:28 orange 1月9 08:41:28 su` (pam_unix)[28425]:session opened for user root by tom (uid=2011)
對于如此龐大的日志信息,大部分并沒多大的用處,但在跟蹤某一具體問題或者安全漏洞時卻可能很有用。那么我們如何對其進行有效地分析與監(jiān)測,發(fā)揮其真正作用呢?在此推薦兩款比較常用的日志分析與監(jiān)控軟件,對這些日志信息進行自動地分析與監(jiān)控。
1. 利用Logwatch 進行日志監(jiān)控
在Linux系統(tǒng)中,已經(jīng)默認安裝了Logwatch,配合Sendmail的郵件發(fā)送功能,向系統(tǒng)管理員發(fā)送前一天的日志分析結果郵件。其配置文件為/etc/log.d/logwatch.conf,下面是省略注釋后的配置文件,一般只需將MailTo部分改為系統(tǒng)管理員郵箱地址即可,更多的配置細節(jié)可參考其官方http://www.logwatch.org
LogDir = /var/log MailTo = admin@local.com Print = No Range = yesterday Detail = High Service = All
2. 利用Swatch進行日志的實時監(jiān)控
Swatch 下載鏈接為http://sourceforge.net/projects/swatch/ 要安裝 Swatch,需要先安裝兩個perl模塊包:Date-Calc-5.4.tar.gz和TimeDate-1.16.tar.gz 接著安裝Swatch,安裝步驟如下:
#tar-zxvf swatch-3.2.1.tar.gz#cd swatch-3.2.1#perl Makefile.pl#make#make test#make install
配置Swatch使其作,需建立配置文件~/.swatchrc,按照其語法規(guī)則添加監(jiān)測的相關內容,可使用“man swatch”命令查看具體配置內容及含義。下面是一個簡單的范例,僅供參考:
Watch for = /Failed fuseraddllnvalid/i #采用正則表達式的形式指定監(jiān)測的內容#echo #使得匹配的行通過stdout顯示#mail address=admin\@local.com,subject=Monitor Result #向系統(tǒng)管理員發(fā)送監(jiān)測結果郵件,并設定相應的主題#
使用“swatch--help”查看Swatch運行時的具體選項。
下面是一個運行命令范例,僅供參考:
#swatch-config-file=~/.swatchrc-examine=/var/log/messages
當出現(xiàn)監(jiān)控到的信息時,Swatch即會實時地發(fā)送郵件給系統(tǒng)管理員,及時杜絕入侵者的各種入侵嘗試,保護系統(tǒng)的安全。
三、總結
日志主機系統(tǒng)的建立,不但能夠有效提高日志管理、分析及監(jiān)測的效率,同時它也對于日志信息的安全保護起到了極為重要的作用,它將各服務器的日志信息在日志主機上進行備份,同時也能夠有效防止入侵痕跡,為系統(tǒng)管理工作提供了極大的便利性,是有效保障系統(tǒng)安全的重要途徑之一。
原文鏈接:http://chenguang.blog.51cto.com/350944/479670
【編輯推薦】