1. 程式人生 > 其它 >Linux應急響應-日誌分析

Linux應急響應-日誌分析

Linux-應急響應-日誌分析
日誌預設存放位置:/var/log/

檢視日誌配置情況:more /etc/rsyslog.conf

日誌檔案 說明

/var/log/cron 記錄了系統定時任務相關的日誌

/var/log/cups 記錄列印資訊的日誌

/var/log/dmesg 記錄了系統在開機時核心自檢的資訊,也可以使用dmesg命令直接檢視核心自檢資訊

/var/log/mailog 記錄郵件資訊

/var/log/message 記錄系統重要資訊的日誌。這個日誌檔案中會記錄Linux系統的絕大多數重要資訊,如果系統出現問題時,首先要檢查的就應該是這個日誌檔案

/var/log/btmp 記錄錯誤登入日誌,這個檔案是二進位制檔案,不能直接vi檢視,而要使用lastb命令檢視

/var/log/lastlog 記錄系統中所有使用者最後一次登入時間的日誌,這個檔案是二進位制檔案,不能直接vi,而要使用lastlog命令檢視

/var/log/wtmp 永久記錄所有使用者的登入、登出資訊,同時記錄系統的啟動、重啟、關機事件。同樣這個檔案也是一個二進位制檔案,不能直接vi,而需要使用last命令來檢視

/var/log/utmp 記錄當前已經登入的使用者資訊,這個檔案會隨著使用者的登入和登出不斷變化,只記錄當前登入使用者的資訊。同樣這個檔案不能直接vi,而要使用w,who,users等命令來查詢

/var/log/secure 記錄驗證和授權方面的資訊,只要涉及賬號和密碼的程式都會記錄,比如SSH登入,su切換使用者,sudo授權,甚至新增使用者和修改使用者密碼都會記錄在這個日誌檔案中

比較重要的幾個日誌: 登入失敗記錄:/var/log/btmp //lastb 最後一次登入:/var/log/lastlog //lastlog 登入成功記錄: /var/log/wtmp //last 登入日誌記錄:/var/log/secure

目前登入使用者資訊:/var/run/utmp //w、who、users

歷史命令記錄:history 僅清理當前使用者: history -c



Linux下常用的shell命令如:find、grep 、egrep、awk、sed

小技巧:

1、grep顯示前後幾行資訊:

    標準unix/linux下的grep通過下面引數控制上下文:

    grep -C 5 foo file 顯示file檔案裡匹配foo字串那行以及上下5行

    grep -B 5 foo file 顯示foo及前5行

    grep -A 5 foo file 顯示foo及後5行

    檢視grep版本號的方法是

    grep -V

2、grep 查詢含有某字串的所有檔案

    grep -rn "hello,world!"

    * : 表示當前目錄所有檔案,也可以是某個檔名

    -r 是遞迴查詢

    -n 是顯示行號

    -R 查詢所有檔案包含子目錄

    -i 忽略大小寫

3、如何顯示一個檔案的某幾行:

    cat input_file | tail -n +1000 | head -n 2000

    #從第1000行開始,顯示2000行。即顯示1000~2999行

4、find /etc -name init

//在目錄/etc中查詢檔案init

5、只是顯示/etc/passwd的賬戶

`cat /etc/passwd |awk -F ':' '{print $1}'`

//awk -F指定域分隔符為':',將記錄按指定的域分隔符劃分域,填充域,$0則表示所有域,$1表示第一個域,$n表示第n個域。



日誌分析技巧

A、/var/log/secure

1、定位有多少IP在爆破主機的root帳號:

grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more

定位有哪些IP在爆破:

grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c

爆破使用者名稱字典是什麼?

grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr

2、登入成功的IP有哪些:   

grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more

登入成功的日期、使用者名稱、IP:

grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'

3、增加一個使用者kali日誌:

Jul 10 00:12:15 localhost useradd[2382]: new group: name=kali, GID=1001

Jul 10 00:12:15 localhost useradd[2382]: new user: name=kali, UID=1001, GID=1001, home=/home/kali

, shell=/bin/bash

Jul 10 00:12:58 localhost passwd: pam_unix(passwd:chauthtok): password changed for kali

#grep "useradd" /var/log/secure

4、刪除使用者kali日誌:

Jul 10 00:14:17 localhost userdel[2393]: delete user 'kali'

Jul 10 00:14:17 localhost userdel[2393]: removed group 'kali' owned by 'kali'

Jul 10 00:14:17 localhost userdel[2393]: removed shadow group 'kali' owned by 'kali'

# grep "userdel" /var/log/secure

5、su切換使用者:

Jul 10 00:38:13 localhost su: pam_unix(su-l:session): session opened for user good by root(uid=0)

sudo授權執行:

sudo -l

Jul 10 00:43:09 localhost sudo:    good : TTY=pts/4 ; PWD=/home/good ; USER=root ; COMMAND=/sbin/shutdown -r now



軟體安裝升級日誌:

more /var/log/yum.log



推薦:https://bypass007.github.io/Emergency-Response-Notes/LogAnalysis/%E7%AC%AC2%E7%AF%87%EF%BC%9ALinux%E6%97%A5%E5%BF%97%E5%88%86%E6%9E%90.html

迷茫的人生,需要不斷努力,才能看清遠方模糊的志向!