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 进程产生。