日志為什么重要?
1.用於記錄系統、程序運行中發生的各種事件
2.通過閱讀日志,有助於診斷和解決系統故障
3.是審計的基礎
日志文件的分類
1.內核及系統日志:有系統服務rsyslogd統一進行管理,日志格式基本相似
2.用戶日志:記錄系統用戶登錄及退出系統的相關信息
3.程序日志:由各種應用程序獨立管理的日志文件,記錄格式不統一
在Linux系統中,有三個主要的日志子系統:
1.鏈接事件日志:由多個程序執行,把記錄寫入到/var/log/wtmp和/war/run/utmp,login等程序會更新wtmp和utmp文件,使系統管理員能夠跟蹤誰在何時登錄到系統
2.進程統計:由系統內核執行,當一個進程終止時,為每個進程往進程統計文件中寫一個記錄。進程統計的目的是為系統中的基本服務命令使用統計。
3.錯誤日志:由rsyslogd守護程序執行,各種系統守護進程、用戶程序和內核通過rsyslogd守護程序向文件/var/log/messages報告值得注意的事件。另外有許多Linux程序創建日志。像HTTP和FTP這樣提供網路服務的服務器也保持詳細的日志。
日志保存位置
1.默認位置:/var/log 目錄下
主要日志文件介紹
1.內核及公共消息日志: /var/log/messages
2.計划任務日志:/var/log/cron
3.系統引導日志:/var/log/dmesg
4.郵件系統日志:/var/log/maillog
5.用戶登錄日志:/var/log/lastlog(最近的用戶登錄事件)
/var/log/secure(用戶驗證相關的安全性事件)
/var/log/wtmp(當前登錄用戶詳細信息)
/var/run/utmp(用戶登錄、注銷及系統開、關機等事件)
6.其他日志
用戶日志
1.有關當前登錄用戶的信息記錄在文件utmp中;utmp文件被各種命令文件使用,包括who、w、users和finger。
2.登錄和退出記錄在文件wtmp中;數據交換、關機以及重啟的信息也都記錄在wtmp文件中;wtmp文件被命令last和ac使用。
3.所有的記錄都包含時間戳。時間戳對於日志來說非常重要,因為很多攻擊行為分析都是與時間有極大關系的。
這兩個文件是二進制文件,不能用諸如tail、cat之類的命令來進行訪問、操作。
內核及系統日志
1.由系統服務rsyslogd統一管理
軟件包:rsyslogd-7.4.7-7.el7_0.x86_64
主要程序:/sbin/rsyslogd
配置文件:/etc/rsyslog.conf
內核及系統日志
1.日志消息的級別
0 EMERG(緊急):導致主機系統不可用的情況
1 ALERT(警告):必須馬上采取措施解決的問題
2 CRIT(嚴重):比較嚴重的情況
3 ERR(錯誤):運行出現錯誤
4 WARNING(提醒):可能會影響系統功能的事件
5 NOTICE(注意):不會影響系統但值得注意
6 INFO(信息):一般信息
7 DEBUG(調試):程序或系統調試信息等
2.日志記錄的一般格式
時間戳、主機名、子系統、消息級別、消息字段內容
程序日志
1.由相關的應用程序獨立進行管理,如:
Web服務:/var/log/httpd/
access log、error log
代理服務:/var/log/squid/
access.log、cache.log、squid.out、store.log
FTP服務:/var/log/xferlog
2.分析工具
文本查看、grep過濾檢測、webmin管理套件中查看
awk、sed等文本過濾、格式化編輯工具
Webalizer、Awstats等專用日志分析工具
日志系統審計、運維注意事項
1.系統管理人員應該提高警惕,隨時注意各種可疑狀況,並且按時和隨機地檢查各種系統日志文件,包括一般信息日志、網絡連接日志、文件傳輸日志以及用戶登錄日志等。在檢查這些日志時,要注意是否有不合常理的時間記載。例如:
用戶在非常規的時間登錄;
不正常的日志記錄,比如日志的殘缺不全或者是諸如wtmp這樣的日志文件無故地缺少了中間的記錄文件;
用戶登錄系統的IP地址和以往的不一樣;
用戶登錄失敗的日志記錄,尤其是那些一再連續嘗試進入失敗的日志記錄;
非法使用或不正當使用超級用戶權限su的指令;
無故或者非法重新啟動各項網絡服務的記錄。
2.另外,尤其提醒管理人員注意的是,日志並不是完全可靠的。高明的黑客在入侵系統后,經常會打掃現場。
日志管理策略
1.及時做好備份和歸檔
2.延長日志保存期限
3.控制日志訪問權限
日志中可能會包含各類敏感信息,如賬戶、口令等
4.集中管理日志
將服務器的日志文件發到統一的日志文件服務器
便於日志信息的統一收集、整理和分析
杜絕日志信息的意外丟失、惡意篡改或刪除