linux日誌管理(三)(轉)

post0發表於2007-08-14
linux日誌管理(三)(轉)[@more@]

  4. Syslog裝置

  Syslog已被許多日誌函式採納,它用在許多保護措施中--任何程式都可以透過syslog 紀錄事件。Syslog可以紀錄系統事件,可以寫到一個檔案或裝置中,或給使用者傳送一個資訊。它能紀錄本地事件或透過網路紀錄另一個主機上的事件。

  Syslog裝置依據兩個重要的檔案:/etc/syslogd(守護程式)和/etc/syslog.conf配置檔案,習慣上,多數syslog資訊被寫到/var/adm或/var/log目錄下的資訊檔案中(messages.*)。一個典型的syslog紀錄包括生成程式的名字和一個文字資訊。它還包括一個裝置和一個優先順序範圍(但不在日之中出現)。

  每個syslog訊息被賦予下面的主要裝置之一:

  LOG_AUTH--認證系統:login、su、getty等

  LOG_AUTHPRIV--同LOG_AUTH,但只登入到所選擇的單個使用者可讀的檔案中

  LOG_CRON--cron守護程式

  LOG_DAEMON--其他系統守護程式,如routed LOG_FTP--檔案傳輸協議:ftpd、tftpd

  LOG_KERN--核心產生的訊息

  LOG_LPR--系統印表機緩衝池:lpr、lpd

  LOG_MAIL--電子郵件系統

  LOG_NEWS--網路新聞系統

  LOG_SYSLOG--由syslogd(8)產生的內部訊息

  LOG_USER--隨機使用者程式產生的訊息

  LOG_UUCP--UUCP子系統

  LOG_LOCAL0~LOG_LOCAL7--為本地使用保留

  Syslog為每個事件賦予幾個不同的優先順序:

  LOG_EMERG--緊急情況

  LOG_ALERT--應該被立即改正的問題,如系統資料庫破壞

  LOG_CRIT--重要情況,如硬碟錯誤

  LOG_ERR--錯誤

  LOG_WARNING--警告資訊

  LOG_NOTICE--不是錯誤情況,但是可能需要處理

  LOG_INFO--情報資訊

  LOG_DEBUG--包含情報的資訊,通常旨在除錯一個程式時使用

  syslog.conf檔案指明syslogd程式紀錄日誌的行為,該程式在啟動時查詢配置檔案。該檔案由不同程式或訊息分類的單個條目組成,每個佔一行。對每類訊息提供一個選擇域和一個動作域。這些域由tab隔開:選擇域指明訊息的型別和優先順序;動作域指明syslogd接收到一個與選擇標準相匹配的訊息時所執行的動作。每個選項是由裝置和優先順序組成。當指明一個優先順序時,syslogd將紀錄一個擁有相同或更高優先順序的訊息。所以如果指明"crit",那所有標為crit、alert和emerg的訊息將被紀錄。每行的行動域指明當選擇域選擇了一個給定訊息後應該把他傳送到哪兒。例如,如果想把所有郵件訊息紀錄到一個檔案中,如下:

  #Log all the mail messages in one place

  mail.* /var/log/maillog

  其他裝置也有自己的日誌。UUCP和news裝置能產生許多外部訊息。它把這些訊息存到自己的日誌(/var/log/spooler)中並把級別限為"err"或更高。例如:

  # Save mail and news errors of level err and higher in aspecial file. uucp,news.crit /var/log/spooler

  當一個緊急訊息到來時,可能想讓所有的使用者都得到。也可能想讓自己的日誌接收並儲存。 #Everybody gets emergency messages, plus log them on anther machine *.emerg * *.emerg @linuxaid.com.cn

  alert訊息應該寫到root和tiger的個人賬號中:

  #Root and Tiger get alert and higher messages

  *.alert root,tiger

  有時syslogd將產生大量的訊息。例如核心("kern"裝置)可能很冗長。使用者可能想把核心訊息紀錄到/dev/console中。下面的例子表明核心日誌紀錄被註釋掉了:

  #Log all kernel messages to the console

  #Logging much else clutters up the screen

  #kern.* /dev/console

  使用者可以在一行中指明所有的裝置。下面的例子把info或更高階別的訊息送到/var/log/messages,除了mail以外。級別"none"禁止一個裝置:

  #Log anything(except mail)of level info or higher

  #Don't log private authentication messages!

  *.info:mail.none;authpriv.none /var/log/messages

  在有些情況下,可以把日誌送到印表機,這樣網路入侵者怎麼修改日誌都沒有用了。通常要廣泛紀錄日誌。Syslog裝置是一個攻擊者的顯著目標。一個為其他主機維護日誌的系統對於防範伺服器攻擊特別脆弱,因此要特別注意。

  有個小命令logger為syslog(3)系統日誌檔案提供一個shell命令介面,使使用者能建立日誌檔案中的條目。用法:logger 例如:logger This is a test! 它將產生一個如下的syslog紀錄:Aug 19 22:22:34 tiger: This is a test!

  它將產生一個如下的syslog紀錄:Aug 19 22:22:34 tiger: This is a test! 注意不要完全相信日誌,因為攻擊者很容易修改它的。

  5. 程式日誌

  許多程式透過維護日誌來反映系統的安全狀態。su命令允許使用者獲得另一個使用者的許可權,所以它的安全很重要,它的檔案為sulog。同樣的還有sudolog。另外,想Apache有兩個日誌:access_log和error_log。

  6. 其他日誌工具

  chklastlog

  ftp://coast.cs.purdue.edu/pub/tools/unix/chklastlog/

  chkwtmp

  ftp://coast.cs.purdue.edu/pub/tools/unix/chkwtmp/

  dump_lastlog

  ftp://coast.cs.purdue.edu/pub/tools/unix/dump_lastlog.Z

  spar

  ftp://coast.cs.purdue.edu/pub/tools/unix/TAMU/

  Swatch

  

  Zap

  ftp://caost.cs.purdue.edu/pub/tools/unix/zap.tar.gz

  日誌分類方法

  

  

  


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-957022/,如需轉載,請註明出處,否則將追究法律責任。

相關文章