主機被入侵後要怎麼處理?
第0步當然是斷網了。
1、root口令被修改:重置root口令,主要操作步驟:
1)重啓centos,啓動過程中長按ESC,進入GNU
2)選擇系統,按E
3)選擇kernel,按E
4)rhgb quiet 後面空格,輸入1或single,回車
5)按B啓動系統
6)輸入passwd root重設root口令,直到顯示“all authentication tokens updated successfully”
7)輸入shutdown -r now,重啓系統
2、root口令未被修改,立即修改root口令,建議先不急着重啓,迅速檢查下下列日誌是否還在:
/root/.bash_history
/var/spool/mail/root
/var/log/secure
/var/log/lastlog
/var/log/wtmp:last、ac -dp相關日誌文件
如果還在,儘快重啓;如果沒有了,嘗試恢復,然後再重啓;
恢復原理:刪除只是刪除了文件對應的目錄索引節點,如果該文件已被其他程序打開,則可以通過對應進程所有的文件描述符對已刪除文件進行讀寫。
恢復示例:
1)secure文件被刪除,通過lsof |grep /var/log/secure 找到打開secure的進程,得到PID;
2)進到對應目錄:/proc/PID/fd/,可以找到secure對應的以數字命名的文件描述符,如4;
3)恢復文件:cat /proc/PID/fd/4 >/var/log/secure
3、檢查賬戶文件/etc/passwd*、/etc/shadow*;查看是否有異常用戶:
1)查看passwd,注意uid、gid爲0的用戶;
2)查看passwd,是否存在特權用戶;
3)查看shadow,是否存在空口令用戶。
當發現有異常用戶時,確認後刪除之,如果用戶已經登錄,嘗試如下處理:
方法1:w 查看登錄用戶
pkill -kill -t TTY值
方法2:
ps -fu username 查看是否還有進程在使用,如果有,殺掉
userdel -rf username 如果還執行失敗,繼續
cd /var/run; mv utmp utmp_bak;touch utmp utmp爲已登錄用戶的數據庫
userdel -rf username 再次執行
4、檢查賬戶登錄事件:lastlog、last
1)注意“entered promiscuous mode”
2)注意Remote Procedure Call(rpc) programs with a log entry that includes a large number
5、查看用戶連接時間統計:ac -dp
6、查看日誌/var/log/secure
7、查看異常進程:
1)top 確定PID,ll /proc/PID |grep -i exe 查看對應的腳本
2)ps -aux 注意UID爲0的進程,lsof -p PID 查看進程所打開端口和文件
8、檢查計劃任務
1)ps -ef |grep /etc/crontab |grep -v "^#" 查看是否有異常crontab配置
2)crontab -u root -l
3)ls /etc/cron.*
9、檢查後門
ls /var/spool/cron/
cat /etc/rc.d/rc.local
ls /etc/rc.d
ls /etc/rc3.d
10、檢查系統服務
chkconfig|grep "3:on"
11、檢查rootkit
rkhunter -c
chkrootkit -n|grep INFECTED #-n 表示不檢測NFS掛載的目錄
如果提示沒有命令,使用yum安裝