linux 服務器中***及清除***

1、背景linux

晚上看到有臺服務器流量跑的很高,明顯和日常不同,流量達到了800Mbps,第一感受應該是中***了,被人當作nginx

肉雞了,在大量發包。安全

咱們的服務器爲了最好性能,防火牆(iptables)什麼的都沒有開啓,可是服務器前面有物理防火牆,並且機器都是作服務器

的端口映射,也不是常見的端口,按理來講應該是滿安全的,可能最近和***有緣吧,總是讓我遇到,也趁此次機會把ssh

發現過程記錄一下。ide

2、發現並追蹤處理性能

一、查看流量圖發現問題spa

查看的時候網頁很是卡,有的時候甚至沒有響應3d

wKiom1kv8JySnzsUAAFWYBBWvzU345.png

二、top動態查看進程日誌

我立刻遠程登陸出問題的服務器,遠程操做很卡,網卡出去的流量很是大,經過top發現了一個異常的進程佔用資源

比較高,名字不仔細看還真覺得是一個Web服務進程。

wKiom1k1GXTyEsF-AACJrwH9fWk727.jpg-wh_50

三、ps命令查看進程的路徑

發現這個程序文件在/etc目錄下面,是個二進制文件。

wKiom1k1G1rDGN2uAAC1hrl3MNA192.jpg-wh_50

四、結束異常進程並繼續追蹤

killall -9 nginx1
rm -f /etc/nginx1

幹掉進程以後,流量馬上下來了,遠程也不卡頓了,難道刪掉程序文件,幹掉異常進程咱們就認爲處理完成了麼?想

也確定沒那麼簡單的,這個是***啊,確定還會本身生成程序文件(果真不出我所料,在我沒有搞清楚以前,後面確

又生成了)咱們得繼續追查。

五、查看登陸記錄及日誌文件secure

經過命令last查看帳戶登陸記錄,一切正常。查看系統文件message並無發現什麼,可是當我查看secure文件的時候

發現有些異常,反正是和認證有關的,應該是嘗試連進來控制發包?

wKiom1k1G8GzD2JhAACfZvIK1Gk680.jpg

六、再次ps查看進程

其實第一次ps的時候就有這個問題,那時候沒有發現,第二次是仔細查看每一個進程,仔細尋找不太正常的進程,發現了一個奇怪的ps進程。

wKiom1k1HJTwoVmGAABJcyolISM757.jpg

找了臺正常的機器,查看了一下ps命令的大小,正常的大約是81KB,而後這臺機器上面的ps卻高達1.2M,命令文件確定是被替換了。

wKiom1k1HTWTLTadAAA24IL4Rzo143.jpg

七、更多異常文件的發現

查看定時任務文件crontab並無發現什麼一次,而後查看系統啓動文件rc.local,也沒有什麼異常,而後進

入/etc/init.d目錄查看,發現比較奇怪的腳本文件DbSecuritySpt、selinux。

wKiom1k1HX-DaSDOAAA0PSdDoP8257.jpg

第一個文件能夠看出他就是開機啓動那個異常文件,第二個應該和登陸有關。

wKiom1k1HrqCgmmgAABWWPqhAeY255.jpg

既然和登陸有關,那就找和ssh相關的,找到了下面的一個文件,是隱藏文件,這個也是***文件,咱們先記錄下倆,這樣程序名字都和咱們的服務名字很相近,就是爲了迷惑咱們,他們的大小都是1.2M,他們有多是一個文件。

wKioL1k1H5jQ1mGQAAAedMVKXzs190.jpg

我又看了一下***喜歡出現的目錄/tmp,也發現了異常文件,從名字上感受好像是監控***程序的。

wKioL1k1ICvCbgKYAACQ8LptIeA031.jpg

3、***手動清除

如今綜合總結了大概步驟以下:

一、簡單判斷有無***

#有無下列文件
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

二、上傳以下命令到/root下

ps netstat ss lsof

三、刪除以下目錄及文件

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

四、找出異常程序並殺死

wKiom1kv8x_S4ylGAADhKRDYGvY584.png

五、刪除含***命令並從新安裝(或者把上傳的正常程序複製過去也行)

我本身從新安裝好像不行,我是找的正常的機器複製的命令。

#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



本文出自 「zpp」 博客,請務必保留此出處http://1439337369.blog.51cto.com/10270624/1931437

相關文章
相關標籤/搜索