/var/log/auth.log 不完整是未經授權訪問的症狀嗎?
今天我發現這個
/var/log/auth.log
文件只有最近一周的記錄,我懷疑我被使用了不安全的 SSH 密碼被黑了,攻擊者刪除了訪問日誌以避免被發現。以下是日誌中的第一行:
Jun 26 06:44:58 server CRON[14297]: pam_unix(cron:session): session closed for user root Jun 26 06:47:01 server CRON[14484]: pam_unix(cron:session): session opened for user root by (uid=0) Jun 26 06:47:02 server CRON[14484]: pam_unix(cron:session): session closed for user root Jun 26 07:17:01 server CRON[14515]: pam_unix(cron:session): session opened for user root by (uid=0) Jun 26 07:17:01 server CRON[14515]: pam_unix(cron:session): session closed for user root Jun 26 08:17:01 server CRON[14518]: pam_unix(cron:session): session opened for user root by (uid=0) Jun 26 08:17:01 server CRON[14518]: pam_unix(cron:session): session closed for user root Jun 26 09:17:01 server CRON[14521]: pam_unix(cron:session): session opened for user root by (uid=0) Jun 26 09:17:01 server CRON[14521]: pam_unix(cron:session): session closed for user root Jun 26 10:17:01 server CRON[14524]: pam_unix(cron:session): session opened for user root by (uid=0) Jun 26 10:17:01 server CRON[14524]: pam_unix(cron:session): session closed for user root Jun 26 11:17:01 server CRON[14527]: pam_unix(cron:session): session opened for user root by (uid=0) Jun 26 11:17:01 server CRON[14527]: pam_unix(cron:session): session closed for user root Jun 26 12:17:01 server CRON[14530]: pam_unix(cron:session): session opened for user root by (uid=0) Jun 26 12:17:01 server CRON[14530]: pam_unix(cron:session): session closed for user root Jun 26 13:16:29 server login[1022]: pam_unix(login:auth): check pass; user unknown Jun 26 13:16:29 server login[1022]: pam_unix(login:auth): authentication failure; logname=LOGIN uid=0 euid=0 tty=/dev/tty1 ruser= rhost= Jun 26 13:16:32 server login[1022]: FAILED LOGIN (1) on '/dev/tty1' FOR 'UNKNOWN', Authentication failure Jun 26 13:17:01 server CRON[14533]: pam_unix(cron:session): session opened for user root by (uid=0) Jun 26 13:17:01 server CRON[14533]: pam_unix(cron:session): session closed for user root Jun 26 13:17:09 server login[1022]: pam_unix(login:auth): authentication failure; logname=LOGIN uid=0 euid=0 tty=/dev/tty1 ruser= rhost= user=root Jun 26 13:17:13 server login[1022]: FAILED LOGIN (2) on '/dev/tty1' FOR 'root', Authentication failure Jun 26 13:17:18 server login[1022]: FAILED LOGIN (3) on '/dev/tty1' FOR 'root', Authentication failure Jun 26 13:17:23 server login[1022]: pam_unix(login:auth): authentication failure; logname=LOGIN uid=0 euid=0 tty=/dev/tty1 ruser= rhost= user=vagrant Jun 26 13:17:34 server login[14536]: pam_unix(login:auth): authentication failure; logname=LOGIN uid=0 euid=0 tty=/dev/tty1 ruser= rhost= user=vagrant Jun 26 13:17:36 server login[14536]: FAILED LOGIN (1) on '/dev/tty1' FOR 'vagrant', Authentication failure
這是正常的嗎?這應該是完整的嗎?
您的問題的答案取決於您配置的日誌輪換。預設情況下,Ubuntu 配置為輪換日誌文件,因此您應該在 /var/log 中看到類似以下的文件
auth.log auth.log.1 auth.log.2.gz auth.log.3.gz auth.log.4.gz
第一個文件 (auth.log) 是目前日誌,其中 auth.log.1 是較舊的條目,而 auth.log.2.gz 是用 gz 壓縮的更舊的條目。數字越大,日誌條目越遠。
您可以通過查看 /etc/logrotate.d/rsyslog 來檢查您的日誌輪換設置,在 Ubuntu 14.04 上它包含如下部分:
/var/log/mail.info ... /var/log/kern.log /var/log/auth.log /var/log/user.log ... /var/log/messages { rotate 4 weekly missingok notifempty compress delaycompress sharedscripts postrotate reload rsyslog >/dev/null 2>&1 || true endscript }
第一行表示應保留 4 個舊版本,下一行將它們設置為每週輪換一次。
如果您的日誌輪換相同,您可以期望 auth.log 文件每週輪換一次(重命名為 auth.log.1)。查看 auth.log.1 日誌並確保它的最新條目遵循 auth.log 中最舊的條目。如果是這種情況,您似乎有一個連續的日誌,並且事情以“正常”的方式執行(日誌按預期輪換)。
關於日誌的安全性,日誌文件的修改日期不應晚於該文件中最近的日誌條目或壓縮日期。如果您看到數週或數月前的日誌在過去幾天被修改,這是一個警告信號。
主要是日誌的內容有意義嗎?登錄時間是否與管理員或其他有權訪問的使用者使用的時間相匹配?對於禁用了 root 登錄的人來說,您的日誌會很麻煩 - 但這種活動對於您的系統來說可能是正常的。
注意:擁有從 auth.log 到 auth.log.1(等等)的“連續”日誌條目並不意味著您的伺服器是安全的。攻擊者可能只會刪除與其活動相關的條目 - 而不是刪除使其入侵明顯的大部分內容。如果您擔心安全問題,您應該檢查 Rootkit 和其他惡意軟體以及異常活動。