在Linux系統(tǒng)中安裝系統(tǒng)日志服務(wù)器
對(duì)管理員來(lái)說,日志非常有用,但大量的日志又很麻煩。當(dāng)一些事件運(yùn)行錯(cuò)誤時(shí),日志可以對(duì)故障排除起到至關(guān)重要的作用,特別是在安全性相關(guān)問題上。但是如果攻擊者危害到你的主機(jī),日志將會(huì)告訴你,對(duì)于主機(jī)來(lái)說這很有用;你需要給數(shù)據(jù)中心發(fā)信息。保護(hù)日志非常重要,一個(gè)中央日志服務(wù)器會(huì)更容易管理、分析和查找它們。針對(duì)這一點(diǎn),我將向你展示如何把多個(gè)主機(jī)的系統(tǒng)日志集中收集到一個(gè)主機(jī)上來(lái)管理,即Linux上的中央系統(tǒng)日志服務(wù)器。
首先,所有集中的系統(tǒng)日志服務(wù)器都應(yīng)該建成一個(gè)安全和硬化的主機(jī)。在主機(jī)上沒有一點(diǎn)關(guān)于保護(hù)和集中化你們?nèi)罩痉矫?。其次,你怎樣能從你的主機(jī)上獲得日志呢?
讓我們開始安裝中央系統(tǒng)日志服務(wù)器。我將舉例說明如果使用rSyslog,實(shí)際的標(biāo)準(zhǔn)Linux系統(tǒng)日志。Ubuntu和紅帽常使用它,并且通過文件/etc/rsyslog.conf進(jìn)行管理。文件中包含許多指定的特殊系統(tǒng)日志:有的是控制臺(tái)方面的,有的是文件方面或其它主機(jī)的。
首先,我們需要載入合適的TCP和UDP插件以支持接收系統(tǒng)日志。把下面的代碼添加到rsyslog.conf的頭部:
$modload imtcp $modload imudp $InputTCPServerRun 10514 $UDPServerRun 514
載入的這兩個(gè)模塊能支持監(jiān)聽TCP和UDP的端口,并且指定哪個(gè)端口來(lái)接受事件,在這種情況下,使用TCP的10514端口和UDP的514端口。你需要確認(rèn)一下本地防火墻(在你的主機(jī)和中央系統(tǒng)日志服務(wù)器之間的防火墻)
下面我們需要指定一些規(guī)則來(lái)告訴rSyslog在哪放輸入事件。如果你不添加任何規(guī)則,輸入事件將按照本地的規(guī)則進(jìn)行處理,并且與本地主機(jī)的事件交織在一起。我們需要在上面添加節(jié)之后和本地處理系統(tǒng)日志之前來(lái)正確的指定這個(gè)規(guī)則,例如:
if $fromhost-ip isequal '192.168.0.2' then /var/log/192.168.0.2.log & ~
這里我們說的每一個(gè)來(lái)自于192.168.0.2的系統(tǒng)日志都應(yīng)該保存在/var/log/192.168.0.2.log文件中。&~這個(gè)符號(hào)是非常重要的,因?yàn)樗嬖VrSyslog將停止處理消息。如果你把它忘寫了,消息將越過下一個(gè)規(guī)則,并且繼續(xù)處理。在這一規(guī)則中還有其他的變量。例如:
if $fromhost-ip startswith '192.168.' then /var/log/192.168.log & ~
這里我們用192.168.*替代了以這個(gè)為開始的所有IP地址,寫入到/var/log/192.168.log文件中。你還可以看到一些其它的過濾。
你將需要重啟這個(gè)rsyslog服務(wù)來(lái)激活我們所做的新的配置:
$ sudo service rsyslog restart
現(xiàn)在,對(duì)于發(fā)送方的主機(jī),我們還需要對(duì)文件rsyslog.conf進(jìn)行一些更改,在文件的頭部,添加下面這行:
*.* @@192.168.0.1:10514
這是發(fā)送的所有事件,來(lái)自于所有源代碼和所有重要級(jí)別(用*.*),通過TCP協(xié)議傳給IP地址為192.168.0.1的10514端口。你可是用你所在環(huán)境的地址來(lái)替換這個(gè)IP地址。要啟用此配置,你將需要重啟主機(jī)上的rSyslog。
你可以通過SSL/TLS更進(jìn)一步地發(fā)送你的系統(tǒng)日志。如果你在互聯(lián)網(wǎng)上或其它網(wǎng)絡(luò)間傳輸系統(tǒng)日志,這也沒什么壞處,你可能會(huì)發(fā)現(xiàn)這個(gè)的簡(jiǎn)單說明。
現(xiàn)在,如果給你的配置管理系統(tǒng)(如果不使用這個(gè),你可以試一試Puppet或Cfengine工具)添加這個(gè)配置,然后,您可以用適當(dāng)?shù)南到y(tǒng)日志來(lái)有效地配置每臺(tái)主機(jī),以確保你的日志將被發(fā)送到中央系統(tǒng)日志服務(wù)器。
【編輯推薦】