歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> 關於Unix

記錄UNIX類主機的log信息


首先需要對Freebsd的syslog進行配置,使它允許接收來自其他服務器的log信息。
syslogd_flags="-4 -a 0/0:*"
默認的參數-s表示打開UDP端口監聽,但是只監聽本機的UDP端口,拒絕接收來自其他主機的log信息。如果是兩個ss,即-ss,表示不打開任何UDP端口,只在本機用/dev/log設備來記錄log.
修改後的參數說明:
-4 只監聽IPv4端口,如果你的網絡是IPv6協議,可以換成-6
-a 0/0:* 接受來自所有網段所有端口發送過來的log信息。
如果只希望syslogd接收來自某特定網段的log信息可以這樣寫:-a 192.168.1.0/24:*
-a 192.168.1.0/24:514或者-a 192.168.1.0/24表示僅接收來自該網段514端口的log信息,這也是freebsd的syslogd進程默認設置,也就是說freebsd 在接收來自其他主機的log信息的時候會判斷對方發送信息的端口,如果對方不是用514端口發送的信息,那麼freebsd的syslogd會拒絕接收信息。即,在默認情況下必須:遠程IP的514端口 發送到本地IP的514,
在參數中加入*,表示允許接收來自任何端口的log信息。這點,在記錄UNIX類主機信息的時候感覺不到加不加有什麼區別,因為UNIX類主機都是用 514端口發送和接收syslog信息的。但是在接收windows信息的時候就非常重要了。因為windows的syslog軟件不用514端口發送信息,這會讓默認配置的syslogd拒絕接收信息。筆者同樣在linux系統下用linux的syslogd來配置log服務器,發現linux下的 syslogd就沒有那麼多限制,只要給syslogd加上-r參數,就可以接收來自任何主機任何端口的syslog信息,在這方面來說freebsd的默認配置安全性要比linux稍微高一點。
比如你要記錄其他系統的遠程登陸登出信息並指定日志存放路徑,則需要修改以下行:
authpriv.* /var/log/testlog
這表示把系統的登入登出日志(包括本機系統登陸登出日志)存放到/var/log/testlog文件中。
當然,這是最簡陋的做法,因為這樣會把所有服務器的登陸登出信息存放在一個文件中,察看的時候很不方便,通常的做法是用一個腳本,對接收到的信息進行簡單的分揀,再發送到不同的文件。
如下設置:
authpriv.* |/var/log/filter_log.sh
在記錄目標前面加上“|”表示把接收到的信息交給後面的程序處理,這個程序可以是一個專門的日志處理軟件,也可以是一個自己編寫的小的腳本,舉例:
#!/bin/sh
read stuff
SERVER=`echo $stuff |awk ‘{print $4}’`
echo $stuff >> /var/log/login_log/$SERVER.log
這個簡單的腳本以IP作為分類依據,先用read讀取log信息,用awk取出第四字段(即IP地址或者主機名所在的字段),以該字段為文件名存放該主機的日志。
這樣一來,來自192.168.1.1的log會記錄到192.168.1.1.log文件中,來自192.168.1.2的log會被記錄在 192.168.1.2.log文件中,分析和歸類就比較方便了。當然這是一個最簡單的例子,讀者可以根據自己的需求寫出更好的腳本,甚至把log信息分類後插入數據庫中,這樣日志的管理和分析就更方便了。
最後重啟一下syslogd服務,讓配置生效:
/etc/rc.d/syslogd restart
OK,服務端的配置完成。現在配置一下客戶端:
這裡所說的客戶端,就是發送自己的日志到遠程日志服務器上的主機。
我們舉例你只要記錄系統登入登出日志到遠程日志服務器上,那麼只需要修改以下一行:
authpriv.* @192.168.10.100
這裡的192.168.10.100就是log服務器的IP,“@”符號表示發送到遠程主機。
OK,重啟一下syslog服務:
Linux: /etc/init.d/syslogd restart
BSD: /etc/rc.d/syslogd restart
用logger測試一下是否配置成功:
logger –p authpriv.notice “Hello,this is a test”
到log服務器上去看看,“Hello,this is a test”應該已經被記錄下了。最後在客戶機上登陸登出幾次,看看真實的authpriv信息是否也被成功的記錄下。
Copyright © Linux教程網 All Rights Reserved