Linux 服務(wù)器日志文件查找技巧
用來(lái)在日志文件里搜索特定活動(dòng)事件的工具不下幾十種,本文將介紹搜索日志文件時(shí)應(yīng)該采取的策略。然后,通過(guò)幾個(gè)具體示例介紹一些使用grep命令手動(dòng)搜索日志文件的辦法。接下來(lái),我們將看到logwatch工具和logsurfer工具的用法。最后,將看到需要自行下載和安裝的工具,如swatch等。 1、查找日志文件簡(jiǎn)單方法
一般來(lái)說(shuō),系統(tǒng)日志文件幾乎都保存在/var/子目錄(該路徑由syslog.conf文件定義)。如果想讓所有的應(yīng)用程序都把日志文件集中存放到/var/子目錄下,需要依次對(duì)每一個(gè)應(yīng)用程序的配置文件進(jìn)行編輯。把日志集中到/var/子目錄下是個(gè)很好的主意。首先,當(dāng)需要查看它們、修改它們的權(quán)限或者對(duì)它們進(jìn)行備份的時(shí)候,只要到一個(gè)地方就可以找到所有的日志文件。
其次,/var/子目錄通常是在一個(gè)獨(dú)立于根目錄(/)的文件系統(tǒng)里,這有助于防止日志文件迅速變大并占滿可用空間,避免操作系統(tǒng)和應(yīng)用程序受到影響。可以利用find命令把你不知道的日志文件查找出來(lái)具體做法是:先切換到根目錄下,然后以根用戶(root)身份執(zhí)行下面這條命令把最近被修改過(guò)的文件全部找出來(lái):
find . -type f -mtime -5 –print | grep -v proc | grep -v lock
2、搜索日志文件時(shí)的策略
日志文件分析工作中的第一個(gè)挑戰(zhàn)是把異常活動(dòng)從正常活動(dòng)中識(shí)別出來(lái)。完成這項(xiàng)挑戰(zhàn)的前提是你必須知道系統(tǒng)和網(wǎng)絡(luò)上的正常活動(dòng)在日志文件里是什么樣子。如果沒(méi)有事先積累的經(jīng)驗(yàn),很難知道按規(guī)律發(fā)生的事件在日志文件里的表現(xiàn)。熟悉正常的日志文件活動(dòng)要有一個(gè)時(shí)間過(guò)程,要求大家一上來(lái)就把日志文件看明白顯然不現(xiàn)實(shí),這是一個(gè)需要時(shí)間積累的過(guò)程。
要知道,隨著網(wǎng)絡(luò)上的應(yīng)用程序和用戶的數(shù)量不斷增減和變化,日志文件的內(nèi)容肯定會(huì)發(fā)生相應(yīng)的改變。把異常情況孤立出來(lái)之后,接下來(lái)的步驟是正確地判斷這種異常情況是否屬于警報(bào)條件。要想正確地做出判斷,只能通過(guò)加深對(duì)公司日常活動(dòng)的了解才能做到。往往需要在系統(tǒng)的可用性與防范風(fēng)險(xiǎn)之間把握一種平衡。
3、以手動(dòng)方式搜索日志文件
grep是Unix系統(tǒng)上功能最強(qiáng)大的shell命令之一。利用grep命令在日志文件里搜索各種可疑線索是這個(gè)文本文件搜索命令的絕佳用途。grep命令的用法很簡(jiǎn)單——在命令行上輸入:
grep "failed" /var/log/messages
上面這條grep命令將把/var/log/messages文件里包含單詞“failed”的文本行全部找出來(lái)。在默認(rèn)情況下,grep命令是大小寫(xiě)敏感的,你可能需要根據(jù)具體情況使用grep命令和它的“-i”選項(xiàng)來(lái)進(jìn)行對(duì)大小寫(xiě)不敏感的搜索。搜索日志文件的挑戰(zhàn)之一是你必須先知道自己想找什么東西,然后才可以把可能存在的這個(gè)東西找出來(lái)。有幾種辦法可以幫助解決這一問(wèn)題。
如果你知道自己想找的事件或活動(dòng)——比如,用戶試圖使用su命令切換為根用戶——可以先自己進(jìn)行一次這樣的活動(dòng),然后去日志文件里看看它是什么樣子。比如,在SUSE Linux系統(tǒng)上,執(zhí)行失敗的su命令將在日志文件里留下這樣一條記錄:
Apr 1 11:15:54 chim su: FAILED SU (to root) rreck on /dev/pts/1
于是,如果想把所有這類活動(dòng)都查出來(lái),應(yīng)該使用下面這樣的命令:
grep "FAILED SU" /var/log/messages
上面示例里的活動(dòng)是黑客攻擊的一種標(biāo)志。如果grep命令只在日志文件里零零散散地找到了幾個(gè)這樣的失敗事件,那很可能是有人忘記了口令字或者是打字時(shí)出現(xiàn)了錯(cuò)誤。反之,如果grep命令在日志文件里找到幾十個(gè)這樣的失敗事件,很可能是有人在試圖闖入你的系統(tǒng),應(yīng)該立刻采取措施在網(wǎng)絡(luò)級(jí)拒絕他們的訪問(wèn)。
&n
新文章:
- CentOS7下圖形配置網(wǎng)絡(luò)的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統(tǒng)后丟失windows啟動(dòng)項(xiàng)
- CentOS單網(wǎng)卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗(yàn)證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網(wǎng)打印機(jī)IP講解
- CentOS7使用hostapd實(shí)現(xiàn)無(wú)AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網(wǎng)絡(luò)重啟出錯(cuò)
- 解決Centos7雙系統(tǒng)后丟失windows啟動(dòng)項(xiàng)
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統(tǒng)有什么不同呢
- Centos 6.6默認(rèn)iptable規(guī)則詳解