服务器被挖矿病毒处理:服务器被挖矿病毒了怎么办?从定位到清除

前置准备


在开始处理服务器被挖矿病毒之前,请准备好以下条件:



  • SSH 客户端:推荐使用 Xshell、FinalShell 或直接使用系统自带的终端。

  • 服务器 root 权限:你需要能够以 root 用户登录。如果使用的是宝塔面板,请登录宝塔后台,通过“终端”功能操作。

  • 一颗清醒的头脑:不要慌张,挖矿病毒通常只消耗 CPU/GPU,不会删除你的数据。先备份重要数据库和网站文件(至少备份配置文件)。

  • 准备好快照或备份:如果服务器有云快照功能(阿里云/腾讯云等),先打一个手动快照,避免误操作导致系统崩溃。


提醒:如果你对命令行不熟悉,建议全程使用宝塔面板的文件管理、计划任务和软件管理来辅助操作,本文也会给出对应的面板操作路径。

分步操作


第一步:快速定位可疑进程


登录服务器后,先用 top 命令查看 CPU 占用最高的进程:


top -c

按下 P 键(大写P)按 CPU 使用率排序。

如果发现某个进程名很怪(如 xmrigkdevtmpfsilukmtyge 等)或进程名被伪装成常见系统服务(如 [kworker]systemd-xxx),基本就是挖矿程序。


记录下它的 PID(进程号)和 进程名


第二步:杀死进程并删除可执行文件


不要直接 kill -9 就结束!

很多挖矿病毒有守护进程,会立即重启。

我们需要先找到它的源文件。


查看进程的启动路径:


ls -l /proc/[PID]/exe

例如输出:/proc/12345/exe -> /tmp/.xc/xmrig,说明病毒文件在 /tmp/.xc/xmrig


然后执行:


# 强制杀死进程
kill -9 PID号码

立即删除整个目录(注意路径)

rm -rf /tmp/.xc/


宝塔面板操作路径:宝塔后台 -> 系统 -> 任务管理器 -> 看到异常进程后点“结束进程”;

然后转到文件管理,找到对应路径删除。


第三步:清除计划任务(关键)


挖矿病毒往往通过计划任务实现持久化。

检查所有用户的计划任务:


crontab -l   # 查看当前用户(root)的计划任务

如果有可疑条目,用下面的命令编辑删除

crontab -e


同时检查系统级的计划任务目录:


ls -la /var/spool/cron/
ls -la /etc/cron.d/
ls -la /etc/cron.hourly/
ls -la /etc/cron.daily/

看到可疑脚本(名称乱码或来自陌生路径),直接删除。


宝塔面板操作路径:宝塔后台 -> 计划任务 -> 查看是否有不明任务 -> 删除即可。


第四步:检查并禁用开机自启


挖矿病毒还可能通过 systemd 服务或 rc.local 自启。

检查:


systemctl list-units --type=service --state=running | grep -i '可疑名称'

查看 /etc/rc.local/etc/init.d/ 等文件,删除恶意自启项。


# 查看 rc.local 内容
cat /etc/rc.local

如果 rc.local 里有执行挖矿脚本的行,用 sed 或编辑删除。


第五步:查杀后手 & 加固 SSH


很多挖矿病毒会植入 SSH 公钥或后门。

检查 authorized_keys:


cat ~/.ssh/authorized_keys

如果出现不认识的公钥,直接清空或删除该文件。

同时建议修改 SSH 端口,禁止 root 直接登录:


# 编辑 /etc/ssh/sshd_config
Port 2222 # 修改默认22端口
PermitRootLogin no # 禁止root直接登录

systemctl restart sshd


第六步:安装杀毒工具做全面扫描


推荐使用 ClamAV(开源防病毒)做辅助扫描:


# CentOS / RHEL
yum install -y clamav
freshclam # 更新病毒库
clamscan -r /home --remove -i # 扫描 /home 并删除感染文件

如果对资源敏感,也可以使用 rkhunter 查 Rootkit。


避坑指南



  1. 只杀进程不删文件:病毒会立刻复活,必须连文件一起删除。

  2. 漏掉计划任务:很多教程只让 crontab -l,但系统级的cron目录容易忽略。

  3. 不检查其他用户:如果服务器有多个用户,每个用户的 crontab 都要检查。

  4. 没改弱口令:挖矿病毒通常通过 SSH 暴力破解植入。处理完病毒后,务必修改所有用户密码,密钥登录更安全。

  5. 误删系统文件:如果怀疑是正常服务(如 javanginx),先确认路径,不要盲目 rm -rf


高频问题解答


Q1:杀完进程后CPU又飙高到100%,怎么办?


A:说明有守护进程或定时任务没清掉。

重新执行步骤二和三,看看 /proc/pid/exe 路径是否不同(病毒可能换了目录),检查 /etc/cron.d/rc.local


Q2:用宝塔面板能看到挖矿进程吗?


A:宝塔的任务管理器可以显示进程,但有时病毒会隐藏进程名。

建议进终端用 ps auxf 查看完整树状进程。


Q3:清除后还会再次感染吗?


A:如果只清理不加固,漏洞还在(比如弱口令、未修复的漏洞),很快又会中毒。

建议:



  • 更换 SSH 端口为 非标准端口

  • 禁用 root 登录

  • 使用密钥认证

  • 安装 Fail2ban 拦截暴力破解

  • 及时更新系统补丁


Q4:服务器跑着业务,不能随便重启怎么办?


A:在进程杀死后,可以先用 renice 降低可疑进程优先级,再逐步清除。

但最好在业务低峰期重启一次,确保没有残留启动项。


效果验证



  1. CPU 占用:执行 top -c,观察1-2分钟,如果 CPU 空闲百分比在90%以上,且没有陌生进程,基本清除成功。

  2. 网络连接netstat -antp | grep -E '3333|4444|14444|2375' 等挖矿常用端口,如果无连接则安全。

  3. 文件残留:再次扫描之前发现的病毒目录,确保文件已被删除。

  4. 计划任务crontab -l 和检查 /var/spool/cron//etc/cron.d/ 无异常。

  5. 日志:查看 /var/log/secure/var/log/auth.log,如果还有大量 failed password,说明还在被爆破,需要加强安全策略。


如果你正在处理服务器被挖矿病毒处理,建议先按本文步骤完整执行,再根据自己的环境做微调;

遇到异常时优先回看避坑和高频问题部分。

处理完成后,记得给服务器做一次全面安全体检,防患于未然。

分享到:
上一篇
手把手教你Docker容器迁移备份:从导出到恢复全流程
下一篇
宝塔面板CPU内存优化:宝塔面板CPU和内存占用过高?三步优
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意