作者 主題: syslogd server 做法 (教學)  (閱讀 58060 次)

0 會員 與 1 訪客 正在閱讀本文。

abelyang

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 1097
    • 檢視個人資料
syslogd server 做法 (教學)
« 於: 2003-06-18 23:54 »
我想有些人可能都管著數部的 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
多的讓你試不完 ...一切看你的需求而定
了 ?

smallfish

  • 可愛的小學生
  • *
  • 文章數: 12
    • 檢視個人資料
syslogd server 做法 (教學)
« 回覆 #1 於: 2004-12-29 18:00 »
不錯,如果我有一台PIX 的防火墻,我要把防火墻的日誌輸出到LINUX 機器上該怎麽操作呢?

abelyang

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 1097
    • 檢視個人資料

jonathan_lwo

  • 活潑的大學生
  • ***
  • 文章數: 323
    • 檢視個人資料
syslogd server 做法 (教學)
« 回覆 #3 於: 2005-01-09 20:59 »
請問
client 端用rh9 +iptables

server部份用win2k + Kiwi Syslog Service manager (v7.1.4)
可正常將rh9 上iptables的log 截取到

但用別一部centos 做log server ,就失敗了(/var/log/messages沒有記錄iptables 的資料)
centos 的syslog.conf 我用預設資料,確定有執行
我又下iptables -F ,清掉centos的規則.
不知那裏還有問題?

(rh9 ping 的到兩台server)
非常謝謝

abelyang

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 1097
    • 檢視個人資料
syslogd server 做法 (教學)
« 回覆 #4 於: 2005-01-10 12:11 »
請確定您用的 log 的 facility
例如:
kernel.* @hostname
daemon.* @hostname
*.* @hostname
*.notice @hostname
local7.none @hostname
各有什麼意義, 只要看懂 syslog.conf  (man page)
我相信您的問題您就了解如何解了,並在以後其他問題也可以處理的很好

apachectl

  • 憂鬱的高中生
  • ***
  • 文章數: 174
    • 檢視個人資料
syslogd server 做法 (教學)
« 回覆 #5 於: 2005-04-14 13:41 »
奇怪,我照著做,結果設定在 /etc/syslog.conf 內設定 @syslog_server_ip
的那台主機相關紀錄檔都沒出現任何訊息,這屬正常,但我到syslog_server
的紀錄檔去看,也沒有對方主機的紀錄訊息,我的syslog_server的udp 514 port
有開,但是就是無法紀錄?

abelyang

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 1097
    • 檢視個人資料
syslogd server 做法 (教學)
« 回覆 #6 於: 2005-04-14 14:20 »
有 -r 嗎 ?
別台出來的有檔到嗎 ?
兩邊都 tcpdump 看一下較準確

apachectl

  • 憂鬱的高中生
  • ***
  • 文章數: 174
    • 檢視個人資料
syslogd server 做法 (教學)
« 回覆 #7 於: 2005-04-15 01:19 »
我server 端先執行service syslog stop
然後執行syslogd -r
用ps aux | grep :514 得到0.0.0.0:514
而且為了測試,兩台防火牆都沒開,至於大大說的用tcpdump 檢查,說實在話,
封包內容還真看不太懂。

abelyang

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 1097
    • 檢視個人資料
syslogd server 做法 (教學)
« 回覆 #8 於: 2005-04-15 14:55 »
tcpdump 是一個 sniffer 工具,如果你有別的工具也可以用
tcpdump port 514   有關 port 514 的 sniffer
tcpdump dst port 514 and src net 192.168  192.168/24 來的 IP 514 port 封包資訊

tcpdump udp dst port 53 and udp[10:2] & 0x8000 = 0
這個你自己好好查查,學會 tcpdump 會很好用的

vsftpd

  • 憂鬱的高中生
  • ***
  • 文章數: 161
    • 檢視個人資料
syslogd server 做法 (教學)
« 回覆 #9 於: 2005-06-17 12:33 »
我執行 netstat -anp |grep :514
代碼: [選擇]
udp        0      0 :::514                  :::*
這樣是正確的嗎?我感覺好像不太對,是不是應該要0:0:0:0:514才對啊?

thucop

  • 憂鬱的高中生
  • ***
  • 文章數: 148
    • 檢視個人資料
Re: syslogd server 做法 (教學)
« 回覆 #10 於: 2005-06-27 11:23 »
引述: "abelyang"


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
多的讓你試不完 ...一切看你的需求而定
了 ?


想請教的是,這一台 log server 好像不能自動將來自於不同 host 的 log 自動寫不同的 log file 上,找了好久,都只看到 *.* 第一個 * 是指由什麼事件引發的,第二個 * 號是 messages 的程度。而第一個 * 不能設定遠端機器的 IP。

有疑問的是,可以有 lcoal0 ~ 7,設計者為何不能有可以設定 remote host 的選項?

當然啦!只要下一些簡單的命令就可以將那一個檔案拆開啦!

純粹只是一個疑問!
感恩!
~ 學無止境 ~~

jonathan_lwo

  • 活潑的大學生
  • ***
  • 文章數: 323
    • 檢視個人資料
syslogd server 做法 (教學)
« 回覆 #11 於: 2005-12-17 12:56 »
終於知道問題出在那了
那個-r 是要在/etc/sysconfig/syslog加入
就行啦!

還有用PIX用PDM或是ASDM(OS7.0叫ASDM吧)中將log 位置指到log server上就行了

jonathan_lwo

  • 活潑的大學生
  • ***
  • 文章數: 323
    • 檢視個人資料
syslogd server 做法 (教學)
« 回覆 #12 於: 2007-01-06 23:19 »
我windows server 的eventlog 用kiwi syslog server 來收,但此軟體
一收,system log 、security log 、application log 都混在一起,
如果把他改用syslogd 來收的話,能把這三個log 分三個檔來收嗎?

還有如果有二十台windows 主機,要如何把這二十台的log 都轉到
同一台log server 呢? (syslogd )
我是在每台windows server 裝eventlog sent to log server的軟體
但我想會發生20台的log  檔都混到log server 中同一台檔了(messages)
請問有沒有辦法做?

還是說kiwi syslog server也有辦法做到我想要的呢?

有那位大大做過類似的,老闆說要集中保存log file 的

jonathan_lwo

  • 活潑的大學生
  • ***
  • 文章數: 323
    • 檢視個人資料
syslogd server 做法 (教學)
« 回覆 #13 於: 2007-01-06 23:24 »
因為無法編輯剛剛的發言,只有再寫一編

我的意思是每台的log 檔要各自分開,不要二十台的log
混到同一個messages 檔