0x00、審計命令
在linux中有5個用於審計的命令:
last:這個命令可用於查看我們系統的成功登錄、光機、重啓等情況;這個命令就是將/var/log/wtmp文件格式化輸出。
ladtb:這個命令用於查看登錄失敗的情況;這個命令就是將/var/log/btmp文件格式化輸出。
lastlog:這個命令用於查看用戶上一次的登錄情況;這個命令就是將/var/log/lastlog文件格式化輸出。
who:這個命令用戶查看當前登錄系統的情況;這個命令就是將/var/log/utmp文件格式化輸出。
w:與who命令一致。
關於它們的使用:man last,last與lastb命令使用方法類似:
last [-R] [-num] [ -n num ] [-adFiowx] [ -f file ] [ -t YYYYMMDDHHMMSS ] [name…] [tty…]
lastb [-R] [-num] [ -n num ] [ -f file ] [-adFiowx] [name…] [tty…]
who [OPTION]… [ FILE | ARG1 ARG2 ]
參數說明:請參考:http://man.linuxde.net/
1、 查看系統登錄情況
last:不帶任何參數,顯示系統的登錄以及重啓情況
2、只針對關機/重啓
使用-x參數可以針對不同的情況進行查看
3、只針對登錄
使用-d參數,並且參數後不用跟任何選項
4、顯示錯誤的登錄信息
lastb
5、查看當前登錄情況
who、w
0x01、日誌查看
在Linux系統中,有三類主要的日誌子系統:
● 連接時間日誌:
由多個程序執行,把記錄寫入到/var/log/wtmp和/var/run/utmp,login等程序會更新wtmp和utmp文件,使系統管理員能
夠跟蹤誰在何時登錄到系統。(utmp、wtmp日誌文件是多數Linux日誌子系統的關鍵,它保存了用戶登錄進入和退出的記錄。有關當前登錄用戶的信息
記錄在文件utmp中; 登錄進入和退出記錄在文件wtmp中;
數據交換、關機以及重啓的機器信息也都記錄在wtmp文件中。所有的記錄都包含時間戳。)
● 進程統計: 由系統內核執行,當一個進程終止時,爲每個進程往進程統計文件(pacct或acct)中寫一個記錄。進程統計的目的是爲系統中的基本服務提供命令使用統計。
● 錯誤日誌:
由syslogd(8)守護程序執行,各種系統守護進程、用戶程序和內核通過syslogd(3)守護程序向文件/var/log/messages報告
值得注意的事件。另外有許多Unix程序創建日誌。像HTTP和FTP這樣提供網絡服務的服務器也保持詳細的日誌。
日誌目錄:/var/log(默認目錄)
1、查看進程日誌
cat /var/log/messages
2、查看服務日誌
cat /var/log/maillog
0x02、用戶查看
Linux不同的用戶,有不同的操作權限,但是所有用戶都會在/etc/passwd /etc/shadow /etc/group /etc/group- 文件中記錄;
1、查看詳細
less /etc/passwd:查看是否有新增用戶grep :0 /etc/passwd:查看是否有特權用戶(root權限用戶)ls -l /etc/passwd:查看passwd最後修改時間awk -F: '$3==0 {print $1}' /etc/passwd:查看是否存在特權用戶awk -F: 'length($2)==0 {print $1}' /etc/shadow:查看是否存在空口令用戶注:linux設置空口令:passwd -d username
0x03、進程查看
1、普通進程查看
進程中我們一般使用ps來查看進程;man ps
ps -aux:查看進程lsof -p pid:查看進程所打開的端口及文件
2、檢查隱藏進程
ps -ef | awk '{print }' | sort -n | uniq >1ls /proc | sort -n |uniq >2diff 1 2
注:以上3個步驟爲檢查隱藏進程
0x04、其他檢查
1、檢查文件
find / -uid 0 -print:查找特權用戶文件find / -size +10000k -print:查找大於10000k的文件find / -name "..." -prin:查找用戶名爲...的文件find / -name core -exec ls -l {} \\;:查找core文件,並列出詳細信息md5sum -b filename:查看文件的md5值rpm -qf /bin/ls:檢查文件的完整性(還有其它/bin目錄下的文件)
2、檢查網絡
ip link | grep PROMISC:正常網卡不應該存在promisc,如果存在可能有sniffer lsof -i netstat -nap:查看不正常端口arp -a:查看arp記錄是否正常
3、計劃任務
crontab -u root -l:查看root用戶的計劃任務cat /etc/crontab ls -l /etc/cron.*:查看cron文件是變化的詳細ls /var/spool/cron/
4、檢查後門
對於linux的後門檢查,網絡上有一些公開的工具,但是在不使用這些工具的前提時,我們可以通過一些命令來獲取一些信息。
首先就是檢測計劃任務,可以參考上面;
第二:查看ssh永久鏈接文件:vim $HOME/.ssh/authorized_keys
第三:lsmod:檢查內核模塊
第四:
chkconfig --list/systemctl list-units --type=service:檢查自啓
第五:服務後門/異常端口(是否存在shell反彈或監聽)
其它:
ls /etc/rc.d ls /etc/rc3.d
此博文內容轉載自:http://www.heysec.org/archives/141