今天大早上收到阿里雲郵件通知,提示有挖礦程序。一個激靈爬起來,折騰了一早上,終於解決問題了。
其實前兩天就一直收到阿里雲的通知,檢測到對外攻擊,阻斷了對其他服務器6379、 6380和22端口的訪問,當時沒怎么當一回兒事,反正是我用來自己學習用的,就放着不管了,結果今天事態就大了。那就來解決吧。
首先xshell連接服務器,這時候輸入命令時明顯感覺巨卡。
肯定是cpu被占滿了,輸入 top -c 命令查看有個進程叫 kworkerds。占用了將近100%的CPU。
這 kworkerds 是個啥??作為小白的我一臉懵逼。沒關系,有問題找百度。
然后就知道了,kworkerds是個挖礦程序,一般是通過redis的漏洞被植入的。網上也搜到了很多解決辦法,結合着這些方法,我開始了自己的操作:
1、首先 kill 掉這個進程,先讓CPU降下來再說。輸入個命令都得卡半天,不能忍。
2、cd到 /tmp/ 和 /var/tmp/ 目錄下,把帶有kworkerds的文件刪除。
一邊刪除着發現輸入命令的時候又開始變卡了。查看進程,果不其然又有個kworkerds進程,果斷kill掉。
解決問題過程中這個進程總會反復重啟,我就又開了一個shell,時刻監視着進程,一旦感覺輸入變卡了,就先去kill掉這個進程
回到 /tmp/ 和 /var/tmp/ 目錄下,發現刪掉的文件又自動生成了。嗯……接着折騰
3、網上搜到會和crontab有關。好嘞,咱看看crontab有啥,刪掉不就好了。然后:
嗯………………………………一定是我打開的方式不對。
4、找了半天原因,最后回到進程里查看,啊,原來是這樣
是www-data這個網站用戶被黑了。好吧,放下手上的活,重置個密碼先。
5、輸入 crontab -l -u www-data ,如下:
木馬時時刻刻都在請求這個服務器下的一個mr.sh 腳本。腳本下載下來,打開看了下。
作為一個小白,雖然不大明白其中意思。但跟網上搜到的差不多,就是這個腳本不斷地在生成 kworkerds文件。
6、把crontab關掉,我的www-data用戶沒有其他的定時任務,所以我直接執行了 crontab -r -u www-data
重復1、 2 步驟,該刪的一個不留。
需要注意的是,/tmp/ 和 /var/tmp/ 目錄下,所有者是 www-data 的文件都可能有問題。
除了自己能確定沒問題的,其他都刪掉。不要只刪除 kworkerds 文件。
然后就驚喜的發現—— 刪掉的文件又回來了,kill掉的進程又重啟了。WTF!!
7、重新理一遍頭緒。回想起了,這個病毒很可能是通過redis來攻擊的。
好,那就先把redis關掉吧。然后再重復 6、 1、 2 步驟。
然后…… 問題終於解決了!
到我寫這篇文章時,沒有再出現這個問題。
我想之后我應該會重新裝一遍redis,然后好好學一學管理redis的知識,讓服務器更安全,防止再次被攻擊吧。