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

圖1
更改日志主機(jī)名的命令為:
Net stop evtsys //停止 evtsys evtsys-u //卸載 evtsys evtsys-l-h newloghost //指定新的日志主機(jī)名 net start evtsys //啟動(dòng) evtsys
二、日志主機(jī)的自動(dòng)日志分析與監(jiān)控
當(dāng)整個(gè)系統(tǒng)部署好后,可以從日志主機(jī)里驗(yàn)證各服務(wù)器是否將日志信息發(fā)送到了日志主機(jī)上。以/var/log/message為例,打開此文件,當(dāng)看到具有不同主機(jī)名字的日志信息標(biāo)志著日志主機(jī)已經(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)
對(duì)于如此龐大的日志信息,大部分并沒多大的用處,但在跟蹤某一具體問題或者安全漏洞時(shí)卻可能很有用。那么我們?nèi)绾螌?duì)其進(jìn)行有效地分析與監(jiān)測(cè),發(fā)揮其真正作用呢?在此推薦兩款比較常用的日志分析與監(jiān)控軟件,對(duì)這些日志信息進(jìn)行自動(dòng)地分析與監(jiān)控。
1. 利用Logwatch 進(jìn)行日志監(jiān)控
在Linux系統(tǒng)中,已經(jīng)默認(rèn)安裝了Logwatch,配合Sendmail的郵件發(fā)送功能,向系統(tǒng)管理員發(fā)送前一天的日志分析結(jié)果郵件。其配置文件為/etc/log.d/logwatch.conf,下面是省略注釋后的配置文件,一般只需將MailTo部分改為系統(tǒng)管理員郵箱地址即可,更多的配置細(xì)節(jié)可參考其官方http://www.logwatch.org
LogDir = /var/log MailTo = admin@local.com Print = No Range = yesterday Detail = High Service = All
2. 利用Swatch進(jìn)行日志的實(shí)時(shí)監(jiān)控
Swatch 下載鏈接為http://sourceforge.net/projects/swatch/ 要安裝 Swatch,需要先安裝兩個(gè)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,按照其語(yǔ)法規(guī)則添加監(jiān)測(cè)的相關(guān)內(nèi)容,可使用“man swatch”命令查看具體配置內(nèi)容及含義。下面是一個(gè)簡(jiǎn)單的范例,僅供參考:
Watch for = /Failed fuseraddllnvalid/i #采用正則表達(dá)式的形式指定監(jiān)測(cè)的內(nèi)容#echo #使得匹配的行通過stdout顯示#mail address=admin\@local.com,subject=Monitor Result #向系統(tǒng)管理員發(fā)送監(jiān)測(cè)結(jié)果郵件,并設(shè)定相應(yīng)的主題#
使用“swatch--help”查看Swatch運(yùn)行時(shí)的具體選項(xiàng)。
下面是一個(gè)運(yùn)行命令范例,僅供參考:
#swatch-config-file=~/.swatchrc-examine=/var/log/messages
當(dāng)出現(xiàn)監(jiān)控到的信息時(shí),Swatch即會(huì)實(shí)時(shí)地發(fā)送郵件給系統(tǒng)管理員,及時(shí)杜絕入侵者的各種入侵嘗試,保護(hù)系統(tǒng)的安全。
三、總結(jié)
日志主機(jī)系統(tǒng)的建立,不但能夠有效提高日志管理、分析及監(jiān)測(cè)的效率,同時(shí)它也對(duì)于日志信息的安全保護(hù)起到了極為重要的作用,它將各服務(wù)器的日志信息在日志主機(jī)上進(jìn)行備份,同時(shí)也能夠有效防止入侵痕跡,為系統(tǒng)管理工作提供了極大的便利性,是有效保障系統(tǒng)安全的重要途徑之一。
原文鏈接:http://chenguang.blog.51cto.com/350944/479670
【編輯推薦】















 
 
 




 
 
 
 