linux的日誌文件能夠幫助咱們瞭解系統所處的狀態,好比查出哪些用戶有登入,及其它安全相關的一些問題。html
linux下的日誌分析。
如下內容,部分參考了:探討 linux 日誌分析 這篇文章。
1.瞭解日誌文件
linux的日誌文件能夠說是最有用的了,日誌文件可讓咱們瞭解系統所處的狀態,好比能查出哪些用戶有登入,這也涉及相關的安全問題。若是咱們不懂得分析日誌,可能咱們都不知道有些用戶曾經登入過咱們的系統。另外系統出了什麼問題,咱們也要查看系統日誌,好比咱們常常會進入不了Xwindows,咱們要查看系統日誌相似XFree86.0.log等文件,再來詳細的說一下,若是咱們運行過系統顯示屬性方面的設置[理論上應該叫XFree86.setup],我以Redhat 8.0來講一下這個問題,當咱們在終端或者虛擬控制檯下運行redhat-config-xfree86時,咱們就能在etc/var
目錄下發現一個XFree86.setup.log,這個文件記錄着咱們曾經設置過的內容以及詳細的狀況。
2.日誌文件所處的位置
日誌文件所處的位置都在/var/log目錄下,前提是您沒有對日誌配置文件/etc/syslog.conf進行過特別的配製。
3.日誌文件的配置文件
日誌文件的配製文件,在/etc/syslog.conf,若是咱們要修改日誌配製文件,咱們要首先要備份。這一點,是咱們進行系統管理的首要任務。
下面的命令是備份,我是以root權限操做的,使用root權限要當心,切記。
[root@linuxsir01 root]# cp /etc/syslog.conf /etc/syslog.confBAK
當咱們把/etc/syslog.conf配製錯了,但咱們還記不清楚原來的系統文件是什麼樣的了。這時備份文件就有極大的做用了,咱們就還原回去就OK了。咱們還能夠再來改動這個文件。
[root@linuxsir01 root]# cp /etc/syslog.confBAK /etc/syslog.conf
4.日誌配製文件都有些什麼?請看!咱們能夠用下面的命令來查看,好比more /etc/syslog.conf
[root@linuxsir01 root]# more /etc/syslog.conf
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;news.none;authpriv.none;cron.none /var/log/message
s
# The authpriv file has restricted access.
authpriv.* /var/log/secure 安全驗證日誌,系統生成的日誌文件是放在了/var/log/secure
# Log all the mail messages in one place.
mail.* /var/log/maillog這個是電子郵件系統的功能,這個日誌文件是在/var/log/maillog目錄下。
# Log cron stuff
cron.* /var/log/cron[COLOR=blue]這個是計時信息
# Everybody gets emergency messages
*.emerg * 這是syslog對日誌所設置的級別,emerg表示系統已經不可用
# Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler這是syslog對news和uucp的日誌所設置的級別,crit表示危急,但事故尚未發生,將要發生。
# Save boot messages also to boot.log
local7.* /var/log/boot.log 開機系統日誌,用local7來表示,日誌文件的位置處在/var/log,日誌文件是boot.log
#
# INN
#
news.=crit /var/log/news/news.crit
news.=err /var/log/news/news.err
news.notice /var/log/news/news.notice
5]日誌類型
authpriv 安全性/驗證的信息,經過這個,咱們能夠查看好比telnet和ssh之類登入系統方面的日誌。這對於防黑有重要做用,不可小視。
cron 任務調度信息,有點象windows中的計劃任務,咱們能夠經過這個程序在什麼時間作什麼事。他的配製文件在 /etc/crontab中,在這裏咱們是說它的日誌文件的配製
kern 這是系統內核的日誌,這個要咱們本身定義存放位置,咱們能夠在/etc/syslog.conf中本身來定義存放位置。好比,咱們能夠在syslog.conf中加一行,好比是這樣的
ker.debug /var/log/kern.log
local0-local7 自定義級別,開機系統日誌,用local7來表示,日誌文件的位置處在/var/log,日誌文件是boot.log
lpr 看名字也應該知道,這是打印的日誌文件,這個咱們也同樣能夠本身來定義。在下面,咱們再逐步深刻說一下如何寫系統日誌
mail 是電子郵件的,sendmail,qmail等信息
news 是新聞組服務器的。
user 通常和戶信息
syslog 內部log信息
auth 也是用戶登入的信息,安全性和驗證性的日誌
uucp 全稱是UNIX-TO-UNIX COPY PROTOCOL的信息
6]日誌級別,日誌系統管理員來維護系統的,系統日誌的內容太多,因此就有必要把日誌按級別來排序,這樣能方便管理員發現比較緊急和重要的問題,以着手處理和解決。
這裏有一個主次順序,也就是重要的都放在前面,級別是由高而低的。
emerg 系統已經不可用,級別爲緊急
alert 警報,須要當即處理和解決
crit 既將發生,得須要預防。事件就要發生
warnig 警告。
err 錯誤信息,普通的錯誤信息
notice 提醒信息,很重要的信息
info 通知信息,屬於通常信息
debug 這是調試類信息
* 記錄全部的信息,併發到所給全部的用戶
瞭解了linux日誌的存儲、類型等內容後,你們最感興趣的莫過於如何分析linux日誌了。
此時,咱們須要掌握一些 linux 日誌分析命令 ,而後用這些命令或腳本對日誌進行詳細分析。linux
7]日誌設置或者語法格式的書寫
在/etc/syslog.conf中,根據咱們本身的狀況,能夠配製或者定義日誌文件。語法格式以下,也比較簡單。。
日誌類型.等級 日誌存放位置[要用絕對路徑]
舉個例子來講
kern.debug /var/log/kern.log
進一步詳細解說:[注:以RedHat 8.0爲例]在RedHat 8.0中,咱們能看到以下的一行。這表明什麼意思呢。
authpriv.* /var/log/secure
這個表明的意思是:全部驗證類級別的日誌都存放在secure這個日誌文件裏。有時,咱們也會在/var/log目錄裏,看到secure1之類的,其實也是這類的日誌,咱們要靈活一下。是否是?
經過這個文件,咱們能夠看到驗證類的日誌,好比telnet和ssh等。若是別人用telnet咱們的機器,咱們就要查看這個文件了。咱們能夠經過
#more secure | grep telnet來看,固然用more也能一頁一頁的看過去,個人目的僅僅是想知道是否是這個文件能看到這方面的東西,好比我用機其它器telnet,個人
linux的主機,就有從下面獲得記錄。是否是一清二楚了?
Dec 15 15:22:59 linuxsir01 xinetd[809]: START: telnet pid=2535 from=192.168.0.6
Dec 17 01:06:42 linuxsir01 xinetd[810]: START: telnet pid=26581 from=192.168.0.6
Dec 17 17:59:05 linuxsir01 xinetd[810]: START: telnet pid=4152 from=192.168.0.8
Dec 18 02:52:59 linuxsir01 xinetd[810]: START: telnet pid=9520 from=192.168.0.6
Dec 18 03:15:55 linuxsir01 xinetd[810]: START: telnet pid=9910 from=192.168.0.6windows