服務器由於redis漏洞導致被挖礦怎麼辦?

最近在使用阿里雲的雲服務器時,經常會收到下面這種信息。

    雲盾態勢感知系統檢測到您的服務器:x.x.x.x出現了緊急安全事件:Redis蠕蟲對外發起網絡掃描 ,建議您立即登錄雲盾-態勢感知控制檯查看詳情和處理。

    您的雲服務器(x.x.x.x)由於被檢測到對外攻擊,已阻斷該服務器對其它服務器端口(TCP:6379)的訪問,阻斷預計將在2018-08-06 16:01:23時間內結束,請及時進行安全自查。

於是登錄查看了監控,明明沒起什麼服務,但是cpu使用率卻飆到%90多,網絡消耗也一直有。查看了cpu的使用情況:

 

 

可以看到有兩個進程佔用了幾乎全部的cpu,我們把它kill掉,然後把tmp下的兩個文件也rm掉,cpu使用率馬上就下降了,但是不一會cpu使用率又上了,Xsheel又卡了。。。看了一下這兩個進程居然還在這。

  我們先看一下服務器上運行了哪些定時任務:

  /etc/crontab 是定時任務的配置文件

 

 

 

/etc/cron.d/ 這個目錄用來存放任何要執行的crontab文件或腳本,進入後發現除了有redis aof的數據恢復命令以外,還有兩行代碼,問題的根源就在這兩行上,它會從一個美國的地址下載文件。我們需要把它刪了。

 

 

 

 

/var/spool/cron/ 這個目錄下存放的是每個用戶包括root的crontab任務,每個任務以創建者的名字命名,比如tom建的crontab任務對應的文件就是/var/spool/cron/tom。一般一個用戶最多隻有一個crontab文件。進入root用戶的任務發現有以下任務,果然就是它。

 

 

關於定時任務可以查看這篇博文:https://www.cnblogs.com/MrSong97/p/12626284.html

 

現在已經知道問題了,因爲redis沒有設置密碼或密碼太過簡單緣故,導致被寫入密鑰,在cron的文件裏被寫入了命令。

解決方法:

1,redis設置複雜一點的密碼,更改默認的端口。

2,服務器設置防火牆,禁用ip

3,清除掉被寫入的腳本,或直接停掉cron服務

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章