日志(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
企業網站(zhàn)建設解決方案 營銷型網站(zhàn)建設解決方案 行(xíng)業門(mén)戶網站(zhàn)建設解決方案 外貿網站(zhàn)解建設決方案 品牌形象網站(zhàn)建設解決方案 購物商城網站(zhàn)建設解決方案 政府網站(zhàn)建設解決方案 手機網站(zhàn)建設解決方案 教育培訓網站(zhàn)建設解決方案 珠寶高(gāo)端奢飾品網站(zhàn)建設解決方案 房(fáng)地産、地産項目網站(zhàn)建設解決方案 集團、上(shàng)市企業網站(zhàn)建設解決方案 數(shù)碼、電(diàn)子産品網站(zhàn)建設解決方案 美容、化妝品行(xíng)業網站(zhàn)建設解決方案
10年專業互聯網服務經驗 重慶最專業網站(zhàn)團隊 資深行(xíng)業分析策劃 B2C營銷型網站(zhàn)建設領先者 最前沿視(shì)覺設計(jì)、研發能力 時(shí)刻最新技(jì)術(shù)領先研發能力 具有(yǒu)完備的項目管理(lǐ) 完善的售後服務體(tǐ)系 深厚的網絡運營經驗
中技(jì)互聯一直秉承專業、誠信、服務、進取的價值觀,堅持優秀的商業道(dào)德,以用戶最終價值為(wèi)導向,向用戶提供優質産品和(hé)優質服務,從而赢得(de)了用戶的信賴。始終以不懈的努力、更高(gāo)的目标來(lái)要求自己。
主營業務:網站(zhàn)建設 | 重慶網站(zhàn)建設 | 重慶網站(zhàn)設計(jì) | 重慶網站(zhàn)制(zhì)作(zuò) | 重慶網頁設計(jì) | 重慶網站(zhàn)開(kāi)發
CopyrightZJCOO technology Co., LTD. All Rights Reserved.
渝ICP 備11003429号