雲服務器在部署Hadoop后便被黑了,查看進程發現了kthreaddi占滿了CPU。
kill掉這個進程后還會自己重啟,猜測是設置了定時啟動任務。

查看定時器,查看定時器中的文件,發現文件不存在。再次查看定時任務,發現定時任務中的文件變了。關閉定時任務后還會出現新的定時任務,每次都是不同的目錄。

解決方案:
1.執行以下命令,可以看見一個奇怪的進程在監聽53421端口,
netstat -ltnp

先把這個進程kill掉。沒多久它又會復活,再次kill掉。
kill -9 14714
2.用 du -b [定時任務中的一個文件] 獲取到文件的大小。
crontab -l
du -b /usr/local/hadoop/bin/ougglpn

3.查找並刪除文件,<find ./ -size 2867172c -type f>用來查找文件, 2867172換成文件實際大小。
find ./ -size 2867172c -type f -exec rm {} \;
4.crontab -l 查看定時任務,如果還有定時任務 crontab -r刪除定時任務。
crontab -l
crontab -r
5.kill掉kthreaddi進程。
ps -aux | grep kthreaddi

kill -9 11138
6.如果kthreaddi繼續重啟,反復執行1,2,3,4即可。
在我刪了兩三次后,這個kthreaddi依然重啟。我便嘗試把Hadoop給關掉,再執行一次1,2,3,4步驟,這時用netstat -ltnp查看沒有看到奇怪的進程了。我就再執行一次2,3,4步驟,直接重啟機器。這時進程中就沒有kthreaddi了。
中毒的可能的原因:
- 暴露了常見服務的默認端口,8088(hadoop)
- 帶有訪問界面的服務地址端口,沒有配置密碼,安全性極低
