咨詢電(diàn)話(huà):023-88959644    24小(xiǎo)時(shí)服務熱線:400-023-8809
NEWS CENTER ·
新聞動态
關注中技(jì)互聯 關注前沿

明(míng)明(míng)白白你(nǐ)的Linux服務器(qì)—日志(zhì)篇

發表日期:2010-09-06    文章編輯:王東    浏覽次數(shù):6    标簽:

日志(zhì)對于安全來(lái)說,非常重要,它記錄了系統每天發生(shēng)的各種各樣的事情,你(nǐ)可(kě)以通(tōng)過他來(lái)檢查錯誤發生(shēng)的原因,或者受到攻擊時(shí)攻擊者留下的痕迹。日志(zhì)主要的功能有(yǒu):審計(jì)和(hé)監測。他還(hái)可(kě)以實時(shí)的監測系統狀态,監測和(hé)追蹤侵入者等等。正因為(wèi)如此,撫琴煮酒特的将它整理(lǐ)成一篇比重跟硬件篇、網絡篇并列的文章,希望大(dà)家(jiā)能從中學習到對自己有(yǒu)用的東西。

  日志(zhì)對于安全來(lái)說,非常重要,它記錄了系統每天發生(shēng)的各種各樣的事情,你(nǐ)可(kě)以通(tōng)過他來(lái)檢查錯誤發生(shēng)的原因,或者受到攻擊時(shí)攻擊者留下的痕迹。日志(zhì)主要的功能有(yǒu):審計(jì)和(hé)監測。他還(hái)可(kě)以實時(shí)的監測系統狀态,監測和(hé)追蹤侵入者等等。正因為(wèi)如此,撫琴煮酒特的将它整理(lǐ)成一篇比重跟硬件篇、網絡篇并列的文章,希望大(dà)家(jiā)能從中學習到對自己有(yǒu)用的東西。

  一、配置syslog(gyl4802959同學撰寫)

  目前,linux依舊(jiù)使用syslogd作(zuò)為(wèi)日志(zhì)監控進程,對其進行(xíng)必要的配置能減少(shǎo)很(hěn)多(duō)麻煩,并且可(kě)更有(yǒu)效的從系統日志(zhì)監控到系統的狀态。理(lǐ)解并完善一個(gè)syslog的配置,對于系統管理(lǐ)員來(lái)說顯得(de)尤為(wèi)重要。

  /etc/syslog.conf根據如下的格式定義規則: facility.level action

  設備.優先級 動作(zuò)facility.level 字段也被稱為(wèi)seletor(選擇條件),選擇條件和(hé)動作(zuò)之間(jiān)用空(kōng)格或tab分割開(kāi)。

  #号開(kāi)頭的是注釋,空(kōng)白行(xíng)會(huì)自動跳(tiào)過。

  1、facility

  facility定義日志(zhì)消息的範圍,其可(kě)使用的key有(yǒu): auth -由 pam_pwdb 報告的認證活動。

  authpriv -包括特權信息如用戶名在內(nèi)的認證活動

  cron -與 cron 和(hé) at 有(yǒu)關的計(jì)劃任務信息。

  daemon -與 inetd 守護進程有(yǒu)關的後台進程信息。

  kern -內(nèi)核信息,首先通(tōng)過 klogd 傳遞。

  lpr -與打印服務有(yǒu)關的信息。

  mail -與電(diàn)子郵件有(yǒu)關的信息

  mark - syslog內(nèi)部功能用于生(shēng)成時(shí)間(jiān)戳

  news -來(lái)自新聞服務器(qì)的信息

  syslog -由 syslog 生(shēng)成的信息

  user -由用戶程序生(shēng)成的信息

  uucp -由 uucp 生(shēng)成的信息

  local0-local7 -與自定義程序使用

  * 通(tōng)配符代表除了 mark 以外的所有(yǒu)功能除mark為(wèi)內(nèi)部使用外,還(hái)有(yǒu)security為(wèi)一個(gè)舊(jiù)的key定義,等同于auth,已經不再建議使用。

  2、level級别

  level定義消息的緊急程度。按嚴重程度由高(gāo)到低(dī)順序排列為(wèi): emerg -該系統不可(kě)用,等同panic

  alert -需要立即被修改的條件

  crit -阻止某些(xiē)工具或子系統功能實現的錯誤條件

  err -阻止工具或某些(xiē)子系統部分功能實現的錯誤條件,等同error

  warning -預警信息,等同warn

  notice -具有(yǒu)重要性的普通(tōng)條件

  info -提供信息的消息

  debug -不包含函數(shù)條件或問題的其他信息

  none -沒有(yǒu)重要級,通(tōng)常用于排錯

  * 所有(yǒu)級别,除了none其中,panic、error、warn均為(wèi)舊(jiù)的标識符,不再建議使用。

  在定義level級别的時(shí)候,需要注意兩點: 1)優先級是由應用程序在編程的時(shí)候已經決定的,除非修改源碼再編譯,否則不能改變消息的優先級;

  低(dī)的優先級包含高(gāo)優先級,例如,為(wèi)某個(gè)應用程序定義info的日志(zhì)導向,則涵蓋notice、warning、err、crit、alert、emerg等消息。(除非使用=号定義)

  3、selector選擇條件

  通(tōng)過小(xiǎo)數(shù)點符号“.”把facility和(hé)level連接在一起則成為(wèi)selector(選擇條件)。

  可(kě)以使用分号“;”同時(shí)定義多(duō)個(gè)選擇條件。也支持三個(gè)修飾符: * - 所有(yǒu)日志(zhì)信息

  = - 等于,即僅包含本優先級的日志(zhì)信息

  ! - 不等于,本優先級日志(zhì)信息除外

  4、action動作(zuò)

  由前面選擇條件定義的日志(zhì)信息,可(kě)執行(xíng)下面的動作(zuò): file-指定日志(zhì)文件的絕對路徑

  terminal 或 print -發送到串行(xíng)或并行(xíng)設備标志(zhì)符,例如/dev/ttyS2

  @host -遠程的日志(zhì)服務器(qì)

  username -發送信息本機的指定用戶信息窗口中,但(dàn)該用戶必須已經登陸到系統中

  named pipe -發送到預先使用 mkfifo 命令來(lái)創建的 FIFO 文件的絕對路徑※注意,不能通(tōng)過“|/var/xxx.sh”方式導向日志(zhì)到其他腳本中處理(lǐ)。

  5、舉例

  例如: *.info;mail.none;news.none;authpriv.none;cron.none /var/log/messages

  #把除郵件、新聞組、授權信息、計(jì)劃任務等外的所有(yǒu)通(tōng)知性消息都寫入messages文件中。

  mail,news.=info /var/adm/info

  #把郵件、新聞組中僅通(tōng)知性消息寫入info文件,其他信息不寫入。

  mail.*;mail.!=info /var/adm/mail

  #把郵件的除通(tōng)知性消息外都寫入mail文件中。

  mail.=info /dev/tty12

  #僅把郵件的通(tōng)知性消息發送到tty12終端設備

  *.alert root,joey

  #如果root和(hé)joey用戶已經登陸到系統,則把所有(yǒu)緊急信息通(tōng)知他們

  *.* @finlandia

  #把所有(yǒu)信息都導向到finlandia主機(通(tōng)過/etc/hosts或dns解析其IP地址)※注意:每條消息均會(huì)經過所有(yǒu)規則的,并不是唯一匹配的。

  也就是說,假設mail.=info信息通(tōng)過上(shàng)面範例中定義的規則時(shí),/var/adm/info、/var/adm/mail、/dev/tty12,甚至finalandia主機都會(huì)收到相同的信息。這樣看上(shàng)去比較煩瑣,但(dàn)可(kě)以帶來(lái)的好處就是保證了信息的完整性,可(kě)供不同地方進行(xíng)分析。

 

  二、messages日志(zhì)

  首先說下我們最關注的系統/var/log/messages,這東東不僅是咱們服務器(qì)的系統日志(zhì),很(hěn)多(duō)時(shí)候它也做(zuò)了許多(duō)服務的日志(zhì),這也是它被稱為(wèi)雜貨鋪的原因,值得(de)重點關注,大(dà)家(jiā)一般都喜歡用以下命令看最後十條日志(zhì)

  tail -n10 /var/log/messages

  其實還(hái)可(kě)以将一段日志(zhì)保存成文件,正用練下自己的awk、sed和(hé)grep水(shuǐ)平;或者直接用vim來(lái)查看,這也是算(suàn)是一種經驗之談吧(ba)。我以前配置bind的主從複制(zhì),有(yǒu)時(shí)因為(wèi)權限的原因報錯;這時(shí)可(kě)以在一台報錯的服務器(qì)上(shàng)用命令tail -f /var/log/messages實時(shí)查看服務器(qì)的變化情況,從中查找錯誤的蛛絲馬迹;事實證明(míng),效果很(hěn)好,而且用于lvs+keepalived的排錯效也不錯,其它事例依此類推。

  三、secure的用法

  /var/log/secure:記錄登入系統存取數(shù)據的文件,例如 pop3, ssh, telnet, ftp 等都會(huì)被記錄,我們可(kě)以利用此文件找出不安全的登陸IP。

  四、記錄登陸者的數(shù)據

  /var/log/wtmp:記錄登入者的訊息數(shù)據,由于本文件已經被編碼過(為(wèi)二進制(zhì)文件),所以必須使用 last指令來(lái)取出文件的內(nèi)容,你(nǐ)用cat等命令直接查看此文件是不行(xíng)的。

  五、lastlog記錄系統時(shí)間(jiān)

  /var/log/lastlog : 記錄每個(gè)使用者最近簽入系統的時(shí)間(jiān), 因此當使用者簽入時(shí), 就會(huì)顯示其上(shàng)次簽入的時(shí)間(jiān),您應該注意一下這個(gè)時(shí)間(jiān), 若不是您上(shàng)次簽入的時(shí)間(jiān), 表示您的帳号可(kě)能被人(rén)盜用了。 此檔可(kě)用 /usr/bin/lastlog 指令讀取(Freebsd下為(wèi)/usr/sbin/lastlogin)。

  六、用dmesg查看啓動消息

  dmesg提供了一個(gè)簡單的方法查看系統啓動信息。當Linux啓動的時(shí)候,內(nèi)核的信息被存入內(nèi)核ring緩存當中,dmesg可(kě)以顯示緩存中的內(nèi)容。默認情況下,dmesg打印內(nèi)容到屏幕上(shàng)面,當然你(nǐ)可(kě)以重定向輸出到一個(gè)文件。如果硬件損壞的話(huà),在dmesg日志(zhì)裏是有(yǒu)顯示的,可(kě)用以下命令來(lái)查看dmesg | grep error

  七、服務器(qì)的郵件日志(zhì)

  服務器(qì)的郵件為(wèi)/var/log/messages,如果要用專業的日志(zhì)分析工具來(lái)分析的話(huà),我推薦用Awstats;由于公司的開(kāi)發對郵件的要求比較低(dī),所以我幫他們配置的就是最簡單的sendmail,有(yǒu)時(shí)看看郵件日志(zhì)裏的status狀态來(lái)判斷郵件到底有(yǒu)沒有(yǒu)正确發送;在配置Nagios服務器(qì),我也習慣用此日志(zhì)來(lái)判斷報警郵件到底有(yǒu)沒有(yǒu)發送,如果對自己的shell水(shuǐ)平足夠自信,也可(kě)以寫腳本來(lái)收集郵件服務器(qì)的返回狀态等,但(dàn)專業的事情,建議還(hái)是由專業的工具來(lái)做(zuò),特别是郵件負載比較大(dà)時(shí),每天幾百萬條日志(zhì)或上(shàng)千萬條日志(zhì)不是開(kāi)玩笑的。

  八、日志(zhì)文件的專業工具

  像系統的一些(xiē)服務,比如Apache、Nginx、Squid、還(hái)有(yǒu)mysql,都有(yǒu)自己的特定的日志(zhì)文件,由于格式比較複雜,也推薦用專業工具,如Awstats、Cacti來(lái)分析,現在用cacti用得(de)比較多(duō)是用它分析Nginx負載均衡器(qì)的一段時(shí)間(jiān)的并發情況。

 

  九、輸出Iptables日志(zhì)到一個(gè)指定的文件(logboy同學撰寫)

  Iptables的man參考頁中提到: 我們可(kě)以使用Iptables在Linux內(nèi)核中建立, 維護和(hé)檢查IP包過濾規則表。幾個(gè)不同的表可(kě)能已經創建, 每一個(gè)表包含了很(hěn)多(duō)內(nèi)嵌的鏈, 也可(kě)能包含用戶自定義的鏈。Iptables默認把日志(zhì)信息輸出到/var/log/messages文件。不過一些(xiē)情況下你(nǐ)可(kě)能需要修改日志(zhì)輸出的位置。下面向大(dà)家(jiā)介紹如何建立一個(gè)新的日志(zhì)文件/var/log/iptables.log。通(tōng)過修改或使用新的日志(zhì)文件, 你(nǐ)可(kě)以創建更好的統計(jì)信息或者幫助你(nǐ)分析網絡攻擊信息。

  (1). Iptables默認的日志(zhì)文件

  例如, 如果你(nǐ)輸入下面的命令, 屏幕将顯示/var/log/messages文件中的Iptables日志(zhì)信息:

  # tail -f /var/log/messages

  輸出:

  Oct 4 00:44:28 debian gconfd (vivek-4435):Resolved address "xml:readonly:/etc/gconf/gconf.xml.defaults"to a read-only configuration source at position 2Oct 4 01:14:19 debian kernel:IN=ra0 OUT= MAC=00:17:9a:0a:f6:44:00:08:5c:00:00:01:08:00SRC=200.142.84.36 DST=192.168.1.2LEN=60 TOS=0x00 PREC=0x00 TTL=51 ID=18374DF PROTO=TCP SPT=46040 DPT=22 WINDOW=5840 RES=0x00 SYN URGP=0

  (2).輸出Iptables日志(zhì)信息到一個(gè)指定文件的方法

  打開(kāi)你(nǐ)的/etc/syslog.conf文件:

  # vi /etc/syslog.conf

  在文件末尾加入下面一行(xíng)信息:

  kern.warning /var/log/iptables.log

  保存和(hé)關閉文件。

  重新啓動Syslogd(如果你(nǐ)使用Debian/Ubuntu Linux):

  # /etc/init.d/sysklogd restart

  另外, 使用下面命令重新啓動Syslogd(如果你(nǐ)使用Red Hat/Cent OS/Fedora Core Linux):

  # /etc/init.d/syslog restart現在确認你(nǐ)的Iptables使用了log-level 4參數(shù)(前面有(yǒu)一個(gè)log-prefix标志(zhì))。例如:

  # DROP everything and Log it

  iptables -A INPUT -j LOG –log-level 4

  iptables -A INPUT -j DROP

  舉一個(gè)例子, 丢棄和(hé)記錄所有(yǒu)來(lái)自IP地址65.55.11.2的連接信息到/var/log/iptables.log文件。

  iptables -A INPUT -s 64.55.11.2 -m limit

  limit 5/m --limit-burst 7 -j LOG

  log-prefix ‘** HACKERS **’ --log-level 4

  iptables -A INPUT -s 64.55.11.2 -j DROP

  命令解釋:

  log-level 4: 記錄的級别. 級别4為(wèi)警告(warning)。

  log-prefix ‘*** TEXT ***’: 這裏定義了在日志(zhì)輸出信息前加上(shàng)TEXT前綴。TEXT信息最長可(kě)以是29個(gè)字符, 這樣你(nǐ)就可(kě)以在記錄文件中方便找到相關的信息。

  現在你(nǐ)可(kě)以通(tōng)過/var/log/iptables.log文件參考Iptables的所有(yǒu)信息:

  # tail -f /var/log/iptables.log

  十、日志(zhì)輪詢

  再說下日志(zhì)的輪詢,Linux的日志(zhì)輪詢機制(zhì)做(zuò)得(de)相當好,當然我們也可(kě)以通(tōng)過配置/etc/logrotate.conf來(lái)修改它,有(yǒu)興趣的同學可(kě)參考鳥哥(gē)的文章,這裏就不作(zuò)詳細介紹了。

重慶中技互聯網信息咨詢有限公司
重慶網站(zhàn)建設事業部官方網:www.zjcoo.com
電(diàn)子商務建站(zhàn)事業部咨詢電(diàn)話(huà):023-67742189
門(mén)戶網站(zhàn)品牌加盟推廣電(diàn)話(huà):023-67742189
7*24小(xiǎo)時(shí)服務電(diàn)話(huà):023-67742189
媒體(tǐ)合作(zuò)電(diàn)話(huà):13883323406
投資合作(zuò)電(diàn)話(huà):13896068183
QQ及郵件地址:446515345@qq.com

如沒特殊注明(míng),文章均為(wèi)中技(jì)互聯原創,轉載請(qǐng)注明(míng)來(lái)自www.zjcoo.com
相關新聞

CopyrightZJCOO technology Co., LTD. All Rights Reserved.    

渝ICP 備11003429号

  • qq客服
  • 公衆号
  • 手機版
  • 新浪微博