docker容器封裝redis 挖礦病毒kdevtmpfs的處理
docker封裝redis,mysql,dockerfile封裝專案,由於是個人做練習用伺服器,基本沒大流量情況,在專案執行一段時間後,發現數據訪問異常卡頓,發現伺服器cpu使用率達到100%,其中kdevtmpfsi程序佔用50%以上,然後網上查得這個病毒為挖礦病毒。下面將處理方法介紹如下。
1.進入伺服器,使用top命令,檢視伺服器執行狀態:
2.使用ps -ef|grep kdevtmpfsi 命令檢視程序
3.使用docker ps 檢視docker-redis容器id,再輸入docker exec -it containerid /bin/bash 進入容器
4.刪除kdevtmpfsi檔案,rm -rf /tmp/kdevtmpfsi
5.使用touch 命令在/tmp目錄下建立一個同名的kdevtmpfsi空檔案
6.退出容器,殺死kdevtmpfsi程序:kill pid,完成整個處理過程。
7.宿主機+redis容器,都查詢檔案,全部刪除,若沒有則無需操作
find / -name kdevtmpfsi
find / -name kinsing
原理:kdevtmpfsi挖礦病毒是依託於docker-redis而存在,主要表現是大量佔用伺服器CPU資源,按照普通的處理方法是找到程序,並且kill程序。kill程序後,病毒會檢查程序,在發現程序被強行終止後,病毒會去尋找容器中的/tmp/目錄下的kdevtmpfsi檔案,如果發現有這個檔案,就會執行這個檔案,進而讓kill程序操作無效,如果在/tmp/目錄下沒有發現kdevtmpfsi檔案,就會重新生成kdevtmpfsi檔案,然後執行。所以我們在/tmp/目錄下建立一個同名的kdevtmpfsi空檔案,起到欺騙病毒程式效果,避免反覆感染。
另網上有說避免使用redis的預設6379埠,有待驗證。