一、背景
晚上看到有臺服務器流量跑的很高,明顯和平常不一樣,流量達到了800Mbps,第一感覺應該是中***了,被人當做肉雞了,在大量發包。
我們的服務器爲了最好性能,防火牆(iptables)什麼的都沒有開啓,但是服務器前面有物理防火牆,而且機器都是做的端口映射,也不是常見的端口,按理來說應該是滿安全的,可能最近和***有緣吧,老是讓我遇到,也趁這次機會把發現過程記錄一下。
二、發現並追蹤處理
1、查看流量圖發現問題
查看的時候網頁非常卡,有的時候甚至沒有響應
2、top動態查看進程
我馬上遠程登錄出問題的服務器,遠程操作很卡,網卡出去的流量非常大,通過top發現了一個異常的進程佔用資源比較高,名字不仔細看還真以爲是一個Web服務進程。
4、結束異常進程並繼續追蹤
killall -9 nginx1 rm -f /etc/nginx1
幹掉進程之後,流量立刻下來了,遠程也不卡頓了,難道刪掉程序文件,幹掉異常進程我們就認爲處理完成了麼?想想也肯定沒那麼簡單的,這個是***啊,肯定還會自己生成程序文件(果然不出我所料,在我沒有搞清楚之前,後面確實又生成了)我們得繼續追查。
5、查看登錄記錄及日誌文件secure
通過命令last查看賬戶登錄記錄,一切正常。查看系統文件message並沒有發現什麼,但是當我查看secure文件的時候發現有些異常,反正是和認證有關的,應該是嘗試連進來控制發包?
7、更多異常文件的發現
查看定時任務文件crontab並沒有發現什麼一次,然後查看系統啓動文件rc.local,也沒有什麼異常,然後進入/etc/init.d目錄查看,發現比較奇怪的腳本文件DbSecuritySpt、selinux。
三、***手動清除
現在綜合總結了大概步驟如下:
1、簡單判斷有無***
#有無下列文件 cat /etc/rc.d/init.d/selinux cat /etc/rc.d/init.d/DbSecuritySpt ls /usr/bin/bsd-port ls /usr/bin/dpkgd #查看大小是否正常 ls -lh /bin/netstat ls -lh /bin/ps ls -lh /usr/sbin/lsof ls -lh /usr/sbin/ss
2、上傳如下命令到/root下
ps netstat ss lsof
3、刪除如下目錄及文件
rm -rf /usr/bin/dpkgd (ps netstat lsof ss) rm -rf /usr/bin/bsd-port #***程序 rm -f /usr/bin/.sshd #***後門 rm -f /tmp/gates.lod rm -f /tmp/moni.lod rm -f /etc/rc.d/init.d/DbSecuritySpt(啓動上述描述的那些***變種程序) rm -f /etc/rc.d/rc1.d/S97DbSecuritySpt rm -f /etc/rc.d/rc2.d/S97DbSecuritySpt rm -f /etc/rc.d/rc3.d/S97DbSecuritySpt rm -f /etc/rc.d/rc4.d/S97DbSecuritySpt rm -f /etc/rc.d/rc5.d/S97DbSecuritySpt rm -f /etc/rc.d/init.d/selinux(默認是啓動/usr/bin/bsd-port/getty) rm -f /etc/rc.d/rc1.d/S99selinux rm -f /etc/rc.d/rc2.d/S99selinux rm -f /etc/rc.d/rc3.d/S99selinux rm -f /etc/rc.d/rc4.d/S99selinux rm -f /etc/rc.d/rc5.d/S99selinux
4、找出異常程序並殺死
5、刪除含***命令並重新安裝(或者把上傳的正常程序複製過去也行)
我自己重新安裝好像不行,我是找的正常的機器複製的命令。
#ps /root/chattr -i -a /bin/ps && rm /bin/ps -f yum reinstall procps -y 或 cp /root/ps /bin #netstat /root/chattr -i -a /bin/netstat && rm /bin/netstat -f yum reinstall net-tools -y 或 cp /root/netstat /bin #lsof /root/chattr -i -a /bin/lsof && rm /usr/sbin/lsof -f yum reinstall lsof -y 或 cp /root/lsof /usr/sbin #ss /root/chattr -i -a /usr/sbin/ss && rm /usr/sbin/ss -f yum -y reinstall iproute 或 cp /root/ss /usr/sbin