服务器被挖矿病毒处理:服务器突然变卡还跑满CPU?手把手教你

前置准备


处理挖矿病毒前,先准备好以下环境,避免操作中断或误删系统文件。



  • 一台Linux服务器(本文以CentOS 7/8为例,Ubuntu系统命令类似)

  • SSH客户端(如Xshell、FinalShell或直接用宝塔面板终端)

  • 宝塔面板(如有,可登录后台操作;没有也不影响)

  • 备份重要数据(尤其是数据库和配置文件,防止误操作)

  • 断开外网连接(可选但推荐:在云服务商后台将服务器安全组入站规则临时限制,只留SSH端口;或直接拔网线)


注意:如果服务器已失陷,不要直接重装系统,先按本文步骤提取线索,避免病毒扩散到其它机器。

分步操作


第一步:用 top 查找异常进程


登录服务器,运行命令:


top

观察 %CPU 列,找到占用 CPU 极高的进程(通常超过 100%,因为挖矿程序多线程)。

记下 PID。


宝塔操作路径:宝塔面板 → 左侧“终端” → 输入 top,同样操作。


第二步:查看进程详情并强制结束


按下 q 退出 top,运行:


ls -l /proc/[PID]/exe
cat /proc/[PID]/cmdline

查看该进程对应的程序路径和启动命令。

然后用 kill 强制结束:


kill -9 [PID]

如果结束后又自动复现,说明有守护进程或定时任务在拉取病毒。继续下一步。

第三步:清理定时任务(crontab)


挖矿病毒常通过 crontab 实现持久化。

运行:


crontab -l

如果发现不明脚本(如下载恶意脚本的 wget 或 curl 命令),先用 crontab -r 清空当前用户的定时任务。


检查系统级定时任务:


cat /etc/crontab
ls -la /etc/cron.d/
ls -la /var/spool/cron/

删除其中的恶意条目。


宝塔操作路径:宝塔面板 → 左侧“计划任务” → 查看所有任务,删除不认识的。


第四步:找到并删除恶意文件


根据之前拿到的进程路径,找到病毒文件。

常见隐藏位置:



  • /tmp/.xxx

  • /var/tmp/.xxx

  • /dev/shm/.xxx

  • /root/.ssh/(伪装成公钥)

  • /lib/systemd/system/(伪装成系统服务)


使用以下命令查找可疑文件:


find / -name "*.sh" -type f 2>/dev/null | xargs grep -l "miner\|pool\|xmr\|eth"
find / -name "*[0-9a-f]{32}" -type f 2>/dev/null # 找哈希值的文件名

找到后,用 rm -rf 删除。

注意确认是恶意文件,不要误删系统文件。


第五步:检查 SSH 密钥和用户


挖矿病毒会添加 SSH 公钥实现远程控制。

运行:


cat ~/.ssh/authorized_keys
cat /root/.ssh/authorized_keys

如果发现陌生的公钥,直接删除该文件(或仅删除陌生行)。


同时检查是否有异常用户:


cat /etc/passwd | grep "/bin/bash\|/bin/sh"

删除非你创建的用户:userdel -r 用户名(小心别删 root 和自己)。


第六步:修补漏洞并加强安全



  • 修改所有 SSH 密码为强密码(大写+小写+数字+符号,15位以上)

  • 禁止 root 直接 SSH 登录:修改 /etc/ssh/sshd_config,将 PermitRootLogin 改为 no,然后 systemctl restart sshd

  • 更新系统补丁yum update -y(或 apt update && apt upgrade -y

  • 安装 ClamAV 杀毒软件


  yum install -y clamav
freshclam # 更新病毒库
clamscan -r / # 全盘扫描(耗时较长)

避坑指南



  • 不要只杀进程不删文件:挖矿程序通常有多个副本和守护进程,漏掉一个就会死灰复燃。

  • 先断网再操作:避免病毒继续下载新负载或向外传播。

  • 定时任务要全盘检查:除了 crontab,还可能有 systemd timer、anacron、rc.local 等。

  • 修改密码后立即重启服务器:使所有 SSH 会话失效,防止攻击者继续登录。

  • 不要随意运行陌生命令:网上流传的一些“一键查杀脚本”本身可能带毒,优先使用官方命令。


高频问题解答


Q1:为什么 kill 掉进程后又自动出现?

A1:说明有定时任务或系统服务在自动拉取。按第三步彻底清理 crontab,并检查 /etc/systemd/system/ 下的恶意服务。


Q2:宝塔面板被感染了吗?

A2:宝塔面板本身安全,但攻击者可能通过弱密码或漏洞登录面板。立即修改面板密码(8位以上复杂密码),并开启面板SSL。


Q3:找不到可疑进程,但 CPU 还是高?

A3:可能是挖矿程序隐藏了进程名(如伪装成 kworker[kthrotld] 等)。使用 htop(需安装)查看树形进程,或使用 strace -p [PID] 分析系统调用。


Q4:清理后如何防止再次被挖矿?

A4:更换所有服务密码(数据库、FTP、API密钥),关闭不必要的端口,配置防火墙仅放行必需端口,定期使用 ClamAV 扫描,并开启云服务商的安全告警。


效果验证



  1. CPU 恢复正常:运行 top,查看 idle 空闲率应在 90% 以上(轻负载服务器)。

  2. 无异常进程ps aux 不再有名字奇怪或 CPU 高的进程。

  3. 定时任务干净crontab -l 只显示你自己的任务,或为空。

  4. 恶意文件已删除:再次用 find 查找之前的位置,文件不存在。

  5. 安全扫描通过clamscan -r /home/ 等目录无报毒。


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

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

分享到:
上一篇
零基础搞定Linux用户权限管理:从创建用户到精准授权全流程
下一篇
WordPress集成AI写作
1
系统公告

泽御云五一特惠活动🔥

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