利用日志使管理Linux更輕松
原創(chuàng)【51CTO原創(chuàng)】操作系統(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.4系統(tǒng)的服務器(假設其主機名為loghost),日志收集軟件采用Linux平臺上的Sysiog,Sysiog一般都隨Linux系統(tǒng)安裝時已經(jīng)安裝,對于我們部署整個系統(tǒng)提供了極大的便利性,因此在此不對其安裝步驟進行闡述,僅講述其配置方法。
Sysiog既可作為客戶端,也可作為服務器端,并且支持遠程的日志收集。其配置文件為/etc/sysconfig/sysiog,要配置其作為服務器端,需對此配置文件相應部分改為如下所示:
SYSLOGD_OPTIONS=“-r-m 0”
“-r”選項使syslog接收客戶端的遠程日志信息。
重啟Syslog服務器端使配置生效:
#service syslogd restart
Syslog采用514端口監(jiān)聽來自各客戶端的日志信息,因此需要在日志主機的防火墻上開放514端口,以iptables為例,對特定網(wǎng)段開放514端口: /sbin/iptables_A INPUT _ietho_p tcp_s 192.168.0.0/16_dport 514_syn_j ACCEPT
2.客戶端的部署
◆ Linux平臺下客戶端的部署
在Linux平臺下依然選擇Sysiog作為客戶端進行部署,此時此配置文件為/etc/sysiog.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
依上述配置,當Syslog重啟使用配置生效后,客戶端服務器的日志信息將會實時的傳送到日志主機的/var/log/message文件里,對各服務器的日志信息進行統(tǒng)一的管理。
使用如下命令重啟Syslog服務使配置生效:
#service syslogd restart
依上述方法將其他系統(tǒng)日志信息(如/var/log/secure)導入到日志主機上。
筆者建議,采用添加配置而非修改的方法,同時在本地及日志主機上保存系統(tǒng)日志。
◆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\evtsysu
更改日志主機名的命令為:
Net stop evtsys //停止 evtsys
evtsysu //卸載 evtsys
evtsyslh newloghost //指定新的日志主機名
net start evtsys //啟動 evtsys
二、日志主機的自動日志分析與監(jiān)控
當整個系統(tǒng)部署好后,可以從日志主機里驗證各服務器是否將日志信息發(fā)送到了日志主機上。以/var/log/message為例,打開此文件,當看到具有不同主機名字的日志信息標志著日志主機已經(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)
對于如此龐大的日志信息,大部分并沒多大的用處,但在跟蹤某一具體問題或者安全漏洞時卻可能很有用。那么我們如何對其進行有效地分析與監(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
MallTo= admin@local.com
Pnnt=No
Range=yesterday
Detail=High
Service=All
2. 利用Swatch進行日志的實時監(jiān)控
Swatch 下載鏈接為http://sourceforge.net/projects/swatch/。要安裝 Swatch,需要先安裝兩個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,按照其語法規(guī)則添加監(jiān)測的相關內容,可使用“man swatch”命令查看具體配置內容及含義。下面是一個簡單的范例,僅供參考:
W a t c h f o r = /Failedfuseraddllnvalid/i #采用正則表達式的形式指定監(jiān)測的內容#
echo #使得匹配的行通過stdout顯示#
mail address=admin\@local.com,subject=Monitor Result #向系統(tǒng)管理員發(fā)送監(jiān)測結果郵件,并設定相應的主題#
mall addresses=admin\@local.com,subject=Monitor Result,when=25:817 # 向系統(tǒng)管理員發(fā)送監(jiān)測結果郵件,并設定相應的主題及監(jiān)控的時間#
使用“swatchhelp”查看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)安全的重要途徑之一。
【相關文章】