Board logo

主題: [轉貼]syslogd server 做法 (教學) [打印本頁]

發表人: yjmg    時間: 2007-5-5 05:18 PM     主題: [轉貼]syslogd server 做法 (教學)

轉貼文章:酷學園 http://phorum.study-area.org/

我想有些人可能都管著數部的 Unix-Like 的機器吧
我自己為例,要 handle 的機器至少超過 30 部,其中以
Linux 為主,但是也有 Sun/IRIX/FreeBSD,所以一些
日常的 Log 簡直非人力所能及...(至少總合超過 1G/天)
更何況其分佈那麼廣...

所以,在做 log 的分析前,首先要考慮的是如何集中這些 log
詳細的作法你可以 man syslogd 或 man syslogd.conf
我是只看這兩個就學會了,多花點時間看 man page 很多東西都
比書本上詳細許多哦 ~~

先講 server 的部份吧 ~~
很簡單
syslogd -r 就可以啟動了,但是建議你 syslogd.conf 還是 調一下較好
因為如果你的機器一多, messages 這個檔案會大很快做一些簡單的分類即可
亦請記得替 /etc/rc.d/init.d/syslogd 這個 script 中的 syslogd 加上
以免下次開機失效

#/etc/syslogd.conf
# kern 的訊息要顯示在 terminal tty1 上就是這一台機器
kern.* /dev/tty1
#kern 也要存起來
kern.* /var/log/kernel
#下message 你自己看調不調吧,我是沒有調,但我覺得還是調一下較好
*.info;mail.none;news.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
mail.* /var/log/maillog
cron.* /var/log/cron
#同 kernel 處
*.emerg /dev/tty1
*.emerg /var/log/critical
*.crit /dev/tty1
*.crit /var/log/critical
#localN 在 linux 上很多沒有用,但是在其他的unix平台上有的服務會用到
local1.* /var/log/local1
local2.* /var/log/local2
local3.* /var/log/local3
local4.* /var/log/local4
local5.* /var/log/local5
local6.* /var/log/local6
local7.* /var/log/local7

其實就算你不改也沒有關係,看你自己的需求了

syslogd 的 client 端
#/etc/syslogd.conf
# 你原來的設定
*.info;mail.none;authpriv.none;cron.none /var/log/messages
改成
*.info;mail.none;authpriv.none;cron.none @log_server_ip

其他項目請自行參照
重新啟動就會生效了
請注意, syslogd 預設是走 514/udp 的 port , firewall 處請自行對應



log 的樣子,比原來的樣子多了一個 hostname
Jun 18 23:36:58 host1 named[2882]: client 140.127.183.160#2139: update forwarding denied
Jun 18 23:36:58 host1 named[2882]: client 218.162.43.119#4109: update forwarding denied
Jun 18 23:39:48 host2 Snort Realtime Performance (Wed Jun 18 23:39:48 2003)
Jun 18 23:39:48 host2 Protocol Byte Flows - %Total Flow
Jun 18 23:39:48 host2 PacketLen - %TotalPackets
Jun 18 23:37:05 host3 named[11739]: client 210.66.152.116#61972: updating zone 'himark.com.tw/IN': update failed: 'RRset exists (value dependent)' prerequisite not satisfied (NXRRSET)

好了, log 集中了你就可以開始分析的工作了, 還可以避免原機器入侵後給你刪除syslog
的困擾...(很多 wrom 是直接 rm -f /var/log/ 的),分析的工具你可以到
http://www.securityfocus.com/tools/category/1
多的讓你試不完 ...一切看你的需求而定了 ?
發表人: material    時間: 2007-5-6 12:23 PM

補充1:
若是syslogd啟動時加入-r的參數代表要接收網路上來的syslog message
預設的syslogd使用的是UDP port 514
若是啟動了-r的參數就要注意需使用firewall的機制限制特定的IP才能存取Syslog server的UDP 514 port
否則有可能被DoS到存放/var/log的partition硬碟爆掉

補充2:
若是使用Fedora Linux的系統的話要啟動網路接收syslog訊息只要修改/etc/sysconfig/syslog
將 SYSLOGD_OPTIONS="-m 0"
改為 SYSLOGD_OPTIONS="-r -m 0"
執行service syslogd restart 即可

[material 在  2007-5-6 12:25 PM 作了最後編輯]
發表人: ianchang999    時間: 2007-5-9 12:46 AM

建議可以使用syslog-ng取代傳統的syslogd
syslog-ng: http://www.balabit.com/products/syslog-ng/




歡迎光臨 TWed2k (http://twed2k.org/) Powered by Discuz! 4.1.0