Linux 服務器收到報警信息,主機 CPU 跑滿。服務器
自動建立運行 Docker 容器 xmrig, 致使其餘運行中容器被迫中止。ssh
經過 top 命令能夠看到有一個 xmrig 進程佔用了99%的 CPU。spa
經定位,該進程是一個挖礦木馬程序,經過上述截圖能夠看到進程對應的 PID 爲 2647,根據進程 ID 查詢一下產生進程的程序路徑:3d
ll /proc/2647/exe
查看進程:code
首先停掉該 Docker 容器,並刪除其對應鏡像。blog
Linux 系統中默認建立了計劃任務後會在 /var/spool/cron 目錄下建立對應用戶的計劃任務腳本,查詢一下系統中是否有異常的計劃任務腳本程序:進程
ls /var/spool/cron
刪除異常任務其配置項。若是當前系統以前並未配置過計劃任務,能夠直接刪除計劃腳本目錄便可:圖片
rm -rf /var/spool/cron/*
刪除木馬建立的密鑰認證文件,若是當前系統以前並未配置過密鑰認證,能夠直接清空認證存放目錄:it
rm -rf /root/.ssh/*
若是有配置過密鑰認證,須要刪除指定的黑客建立的認證文件便可。io
通常默認腳本中進行修改的 PermitRootLogin、RSAAuthentication、PubkeyAuthentication 爲開啓狀態,須要修改的是密鑰認證文件名,建議修改爲默認值 AuthorizedKeysFile .ssh/authorized_keys 便可。修改完成後重啓 sshd 服務,使配置生效便可。
執行 systemctl list-unit-files 發現可疑程序:
進入 /etc/systemd/system/ 目錄找到並查看該腳本:
該腳本執行了 /xm 腳本,而且老是會重啓服務。若是此程序不進行清除,即便刪除了 Docker 容器並殺死了對應的進程,過一會仍是會執行從新建立 Docker 容器,又致使服務器異常。
所以,先中止啓動腳本配置項:
systemctl disable name.service
刪除腳本:
rm -rf /etc/systemd/system/xm.service rm -rf /xm
以上修復完成後能夠等待一會再次進行一下觀察,看看是否還會在根目錄下建立新的 xm 程序,以及是否還有新的 xmrig 進程產生。