利用日志使管理Linux更輕松
原創(chuàng)【51CTO原創(chuàng)】操作系統(tǒng)的日志主要具有審計(jì)與監(jiān)測(cè)的功能,通過(guò)對(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)于客戶(hù)端,將日志信息實(shí)時(shí)的傳送到日志主機(jī)上來(lái)。
1. 日志主機(jī)的部署
日志主機(jī)采用一臺(tái)RHEL 5.4系統(tǒng)的服務(wù)器(假設(shè)其主機(jī)名為loghost),日志收集軟件采用Linux平臺(tái)上的Sysiog,Sysiog一般都隨Linux系統(tǒng)安裝時(shí)已經(jīng)安裝,對(duì)于我們部署整個(gè)系統(tǒng)提供了極大的便利性,因此在此不對(duì)其安裝步驟進(jìn)行闡述,僅講述其配置方法。
Sysiog既可作為客戶(hù)端,也可作為服務(wù)器端,并且支持遠(yuǎn)程的日志收集。其配置文件為/etc/sysconfig/sysiog,要配置其作為服務(wù)器端,需對(duì)此配置文件相應(yīng)部分改為如下所示:
SYSLOGD_OPTIONS=“-r-m 0”
“-r”選項(xiàng)使syslog接收客戶(hù)端的遠(yuǎn)程日志信息。
重啟Syslog服務(wù)器端使配置生效:
#service syslogd restart
Syslog采用514端口監(jiān)聽(tīng)來(lái)自各客戶(hù)端的日志信息,因此需要在日志主機(jī)的防火墻上開(kāi)放514端口,以iptables為例,對(duì)特定網(wǎng)段開(kāi)放514端口: /sbin/iptables_A INPUT _ietho_p tcp_s 192.168.0.0/16_dport 514_syn_j ACCEPT
2.客戶(hù)端的部署
◆ Linux平臺(tái)下客戶(hù)端的部署
在Linux平臺(tái)下依然選擇Sysiog作為客戶(hù)端進(jìn)行部署,此時(shí)此配置文件為/etc/sysiog.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
依上述配置,當(dāng)Syslog重啟使用配置生效后,客戶(hù)端服務(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)日志。
◆Windows平臺(tái)下客戶(hù)端的部署
在Windows平臺(tái)下采用軟件evtsys進(jìn)行客戶(hù)端的部署,其下載鏈接為http://engineering.purdue.edu/ECN/Resources/Documents/UNIX/evtsys/evtsys_exe.zip.解開(kāi)后得到兩個(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\evtsysu
更改日志主機(jī)名的命令為:
Net stop evtsys //停止 evtsys
evtsysu //卸載 evtsys
evtsyslh 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為例,打開(kāi)此文件,當(dāng)看到具有不同主機(jī)名字的日志信息標(biāo)志著日志主機(jī)已經(jīng)正常工作,節(jié)選部分日志如下:
Sep 19 08:39:38 dog crond(pam_unix)[4528]:session opened for user root by (uid=o)
Sep 19 08:39:36 dog crond(pam_unix)[4528]:session closed for user root
Sep 19 08:39:40 panda crond(pam_unix)[20296]:session opened for user root by(uid=0)
Sep 19 08:39:40 panda crond(pam_unix)[20296]:session closed for user root
Sep 19 08:39:53 app last message repeated 8 times
Sep 19 08:40:11 apple netsnmp[657]:Connection from udp:192.168.1.11:4298
Sep 19 08:40:11apple netsnmp[657]:Received SNMP packet(s) from udp:159.226.2.144:42988
Sep 19 08:41:15orangesshd(pam_unix)[28389]:session opened for user tom by(uid=2009)
Sep 19 08:41:28 orange sshd(pam_unix)[28389]:session opened for user tom by (uid=2009)
Sep 19 08:41:28 orange 9月19 08:41:28 su` (pam_unix)[28425]:session opened for user root by tom (uid=2009)
對(duì)于如此龐大的日志信息,大部分并沒(méi)多大的用處,但在跟蹤某一具體問(wèn)題或者安全漏洞時(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
MallTo= admin@local.com
Pnnt=No
Range=yesterday
Detail=High
Service=All
2. 利用Swatch進(jìn)行日志的實(shí)時(shí)監(jiān)控
Swatch 下載鏈接為http://sourceforge.net/projects/swatch/。要安裝 Swatch,需要先安裝兩個(gè)perl模塊包:DateCalc5.4.tar.gz和TimeDate1.16.tar.gz 接著安裝Swatch,安裝步驟如下:
#tarzxvf swatch3.2.1.tar.gz
#cd swatch-3.2.1
#perl Makefile.PL
#make
#make test
#make install
#make realclean
配置Swatch使其作,需建立配置文件~/.swatchrc,按照其語(yǔ)法規(guī)則添加監(jiān)測(cè)的相關(guān)內(nèi)容,可使用“man swatch”命令查看具體配置內(nèi)容及含義。下面是一個(gè)簡(jiǎn)單的范例,僅供參考:
W a t c h f o r = /Failedfuseraddllnvalid/i #采用正則表達(dá)式的形式指定監(jiān)測(cè)的內(nèi)容#
echo #使得匹配的行通過(guò)stdout顯示#
mail address=admin\@local.com,subject=Monitor Result #向系統(tǒng)管理員發(fā)送監(jiān)測(cè)結(jié)果郵件,并設(shè)定相應(yīng)的主題#
mall addresses=admin\@local.com,subject=Monitor Result,when=25:817 # 向系統(tǒng)管理員發(fā)送監(jiān)測(cè)結(jié)果郵件,并設(shè)定相應(yīng)的主題及監(jiān)控的時(shí)間#
使用“swatchhelp”查看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)的安全。
日志主機(jī)系統(tǒng)的建立,不但能夠有效提高日志管理、分析及監(jiān)測(cè)的效率,同時(shí)它也對(duì)于日志信息的安全保護(hù)起到了極為重要的作用,一方面它將各服務(wù)器的日志信息在日志主機(jī)上進(jìn)行備份,同時(shí)也能夠有效防止入侵痕跡,為系統(tǒng)管理工作提供了極大的便利性,是有效保障系統(tǒng)安全的重要途徑之一。
【相關(guān)文章】























