Linux 日志系統及分析


簡介

在Centos 7.x / RHEL 7.x 的版本,系統日志是由一個名為 rsyslog的服務管理的,默認的日志守護進程為 rsyslog , rsyslog 是 syslog 的升級版本,默認安裝,隨機啟動。

 

主配置文件:

/etc/rsyslog.conf

 

 

Linux系統日志的重要性無需多言,日志對管理員來說,是了解系統運行的主要途徑,因此需要對 Linux 日志系統有個詳細的了解。

Linux 系統內核和許多程序會產生各種錯誤信息、告警信息和其他的提示信息,這些各種信息都應該記錄到日志文件中,完成這個過程的程序就是 rsyslog,rsyslog 可以根據日志的類別和優先級將日志保存到不同的文件中。

 

日志類型

常見的日志類型:

 

日志的優先級

常見的日志優先級:

 

 常見的日志文件

系統日志一般存儲於 /var/log 目錄下,查看 rsyslog.conf:

 

通過查看 rsyslog.conf 可以總結出部分日志文件記錄的信息。

/var/log/message:記錄Linux操作系統常見的系統和服務錯誤信息
/var/log/boot.log:錄了系統在引導過程中發生的事件,就是Linux系統開機自檢過程顯示的信息
/var/log/lastlog :記錄最后一次用戶成功登陸的時間、登陸IP等信息(一般通過命令 lastlog 查看)
/var/log/secure :Linux系統安全日志,記錄用戶和工作組變壞情況、用戶登陸認證情況
/var/log/btmp :記錄Linux登陸失敗的用戶、時間以及遠程IP地址
/var/log/wtmp:該日志文件永久記錄每個用戶登錄、注銷及系統的啟動、停機的事件,使用last命令查看

 

 

/var/log/message

記錄了系統日常的一些操作,內核態和用戶態的信息都有,對於這個文件,我們日常只需要關注一些錯誤和告警信息:

[root@192.168.118.15 ~]#egrep -ri 'error|warn' /var/log/messages

 

 

這里有必要記錄下最近查看 messsage 遇到的問題:

 

查看 message 時,發現了大量 類似 開啟 session 會話的東西,一看是 root 立刻提高警惕。查看時間,發現規律:每 10 分鍾執行一次,因此懷疑是 crond 計划任務,轉而查看 /var/log/cron 日志:


查看后,發現時間剛好能匹配上。分析:

  1. cron 每小時默認每小時執行的任務在 /etc/cron.hourly/ 目錄下
  2. 每十分鍾執行的命令: /usr/lib64/sa/sa1 1 1

 

歸根到底,我們發現原來是 sysstat 包生成的這個計划任務,每10分鍾就會去執行一次,這個命令是為了收集系統運行數據,以供 sar 命令使用。

該疑問解除,又產生了疑問:

  1.   為什么會產生這樣的 session 日志?
  2.   如果正常登錄系統,會怎么記錄 session

 

第一個問題:

   經過測試,這種會話的產生是系統執行了一個 bash腳本,查看了一個新的bash環境。執行完畢就退出了,關鍵字(starting、started)

 

如下的日志,表示運行了一個shell腳本,starting開啟一個shell,started的時候結束一個shell

 

 

而真正登錄一個會話,會有一個 logind 的過程記錄:

 

因此不要胡亂猜測是誰在不停的掃描或者在不停的通過 root 登錄。

 

/var/log/boot.log

 

該日志記錄的是系統啟動的過程

 

可以通過該日志,查看某些服務啟動成功或者失敗。

 

 /var/log/lastlog

不用直接查看該日志文件,通過命令:lastlog 查看:

 

查看的某系統用戶最后一次登錄的記錄,一些系統用戶從來不登錄最后一次就是 **Never logged in**

 

通過 last 可以查看那些會話在線,什么時候重啟。記錄了登錄會話的時間,但是無法查看是哪個用戶執行了重啟的操作。

 

/var/log/secure

主要記錄用戶登錄認證。

如果出現大量: authentication failure;   就表示有程序或者人為在嘗試登錄。可以通過加強 ssh 或者 iptables 來管控登錄次數。

 

/var/log/btmp

記錄Linux登陸失敗的用戶、時間以及遠程IP地址

該文件是一個二進制保存的文件,直接使用 lastb 命令查看。如果該日志文件過大,可以清空該文件。

 

上圖所有記錄的信息都是嘗試登錄失敗的記錄。

 

/var/log/wtmp

該日志文件永久記錄每個用戶登錄、注銷及系統的啟動、停機的事件,使用last命令查看

直接使用 last 命令查看:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM