日誌系統
一、日誌的功能
日誌對於安全來說,非常重要,它記錄了系統每天發生的各種各樣的事情,你可以通過他來檢查錯誤發生的原因,或者受到***時***者留下的痕跡。日誌主要的功能有:審計和監測。他還可以實時的監測系統狀態,監測和追蹤侵入者等等。
二、日誌的介紹
1、linux上的日誌系統有syslog和syslog-ng(syslog的升級版)
2、日誌系統:syslog
它產生的兩個進程Syslogd:系統,非內核產生的信息
Klogd:內核,專門負責記錄內核產生的日誌信息
三、日誌的配置文件/etc/syslog.conf
格式:Facility.level action
1、Facility(日誌的子系統):是產生信息的系統應用程序或工具,是產生日誌的來源。
Facility包含有: auth # 認證相關的
authpriv # 權限,授權相關的
cron # 任務計劃相關的
daemon # 守護進程相關的
kern # 內核相關的
lpr # 打印相關的
mail # 郵件相關的
mark # 標記相關的
news # 新聞相關的
security # 安全相關的,與auth 類似
syslog # syslog自己的
user # 用戶相關的
uucp # unix to unix cp 相關的
local0 到 local7 # 用戶自定義使用
* # *表示所有的facilityAction(動作)
2、日誌的級別level
Level(日誌的級別):debug # 程序或系統的調試信息
info # 一般信息
notice # 不影響正常功能,需要注意的消息
warning/warn # 可能影響系統功能,需要提醒用戶的重要事件
err/error # 錯誤信息
crit # 比較嚴重的
alert # 必須馬上處理的
emerg/panic # 會導致系統不可用的
* # 表示所有的日誌級別
none # 跟* 相反,表示啥也沒有 。
3、action(動作)日誌記錄的位置
系統上的絕對路徑 # 普通文件 如: /var/log/xxx
| # 管道 通過管道送給其他的命令處理
終端 # 終端 如:/dev/console
@HOST # 遠程主機 如: @10.0.0.1
用戶 # 系統用戶 如: root
* # 登錄到系統上的所有用戶,一般emerg級別的日誌是
這樣定義的
定義格式例子:
mail.info /var/log/mail.log # 表示將mail相關的,級別爲info及
# info以上級別的信息記錄到/var/log/mail.log文件中
auth.=info @10.0.0.1 # 表示將auth相關的,基本爲info的信息記錄到10.0.0.1主機上去
# 前提是10.0.0.1要能接收其他主機發來的日誌信息
user.!=error # 表示記錄user相關的,不包括error級別的信息
user.!error # 與user.error相反
*.info # 表示記錄所有的日誌信息的info級別
mail.* # 表示記錄mail相關的所有級別的信息
*.* # 你懂的.
cron.info;mail.info # 多個日誌來源可以用";" 隔開
cron,mail.info # 與cron.info;mail.info 是一個意思
mail.*;mail.!=info # 表示記錄mail相關的所有級別的信息,但是不包括info級別的
四、查詢日誌
我們可以看到LINUX系統信息日誌的途徑基本有以下2種:
1、dmesg查看----這個命令比較常見(dmesg是從kernel 的ring buffer(環緩衝區)中讀取信息的. )
2、/var/log/下的文件
五、RedHat Linux常見的日誌文件
/var/log/boot.log
該文件記錄了系統在引導過程中發生的事件,就是Linux系統開機自檢過程顯示的信息。
/var/log/cron
該日誌文件記錄crontab守護進程crond所派生的子進程的動作,前面加上用戶、登錄時間和PID,以及派生出的進程的動作。CMD的一個動作是cron派生出一個調度進程的常見情況。REPLACE(替換)動作記錄用戶對它的cron文件的更新,該文件列出了要週期性執行的任務調度。RELOAD動作在REPLACE動作後不久發生,這意味着cron注意到一個用戶的cron文件被更新而cron需要把它重新裝入內存。該文件可能會查到一些反常的情況。
/var/log/maillog
該日誌文件記錄了每一個發送到系統或從系統發出的電子郵件的活動。它可以用來查看用戶使用哪個系統發送工具或把數據發送到哪個系統。下面是該日誌文件的片段:
/var/log/messages: 系統標準錯誤日誌信息;非內核產生引導信息;各子系統產生的信息;