云计算百科
云计算领域专业知识百科平台

Linux 服务器被 xmrig 挖矿病毒入侵?超详细清除 + 安全加固指南(亲测有效)

特别福利:火山引擎新用户云服务器特惠通道 一、问题背景:xmrig 是什么?为什么会被入侵? 1.1 xmrig 的本质

xmrig 是合法的 Monero(门罗币)挖矿工具,但常被黑客恶意利用:通过弱口令、未修补漏洞、恶意脚本等入侵服务器,将其变为「肉鸡」,偷偷占用 CPU / 内存挖矿,导致服务器性能暴跌、电费暴涨,甚至被封禁。 1.2 典型感染症状

当服务器出现以下情况,大概率已被 xmrig 入侵:

CPU / 内存异常占用:top/htop 查看,CPU 持续 100%(多核全满),内存占用飙升; 陌生进程:ps aux 发现 xmrig/minerd/kdevtmpfsi/monero 等挖矿进程; 异常端口:netstat -tulpn 出现陌生端口(如 3333、4444、8080,挖矿常用); 自启动项异常:crontab/systemd 有定时执行挖矿脚本的任务; 系统文件异常:/tmp//var/tmp//root 下有陌生可执行文件(如run.sh/xmrig.bin)。

二、详细清除步骤(Step by Step)

⚠️ 重要提示:清除前请备份重要数据!避免误删系统文件。 Step 1:终止挖矿进程

查看挖矿进程: ps aux | grep -E ‘xmrig|minerd|kdevtmpfsi|monero’

输出示例(含 PID:1234、5678): root 1234 99.0 2.0 102400 20480 pts/0 R+ 10:00 0:30 xmrig root 5678 98.0 1.5 81920 15360 pts/1 R+ 10:01 0:25 minerd

强制终止进程: kill -9 1234 5678 # 替换为实际PID

验证终止: ps aux | grep -E ‘xmrig|minerd’

若仅显示grep自身进程,则成功终止。 Step 2:清除自启动项(关键!避免重启复活)

挖矿病毒会通过crontab、systemd、开机脚本实现自启动,必须彻底清除: 2.1 检查并删除 Crontab 定时任务

Crontab 是最常见的自启动方式(每分钟执行挖矿脚本):

查看所有用户的Crontab(含root)

for user in $(cat /etc/passwd | cut -d: -f1); do crontab -u $user -l 2>/dev/null; done

异常任务示例:

          • /tmp/run.sh # 每分钟执行挖矿脚本

删除方法:

编辑当前用户Crontab(root下执行)

crontab -e

删掉异常行,保存退出(按ESC→:wq)

2.2 检查并禁用 Systemd 服务

部分病毒会注册为 Systemd 服务:

查看挖矿相关服务

systemctl list-unit-files –type=service | grep -E ‘xmrig|minerd’

停止并删除服务:

停止服务

systemctl stop xmrig.service

禁用自启动

systemctl disable xmrig.service

删除服务文件(注意路径,部分在/usr/lib/systemd/system)

rm -rf /etc/systemd/system/xmrig.service

重载Systemd

systemctl daemon-reload 2.3 检查开机启动脚本

rc.local: cat /etc/rc.local # 看是否有陌生执行命令

init.d 脚本(Debian/Ubuntu): ls /etc/init.d/ | grep -E ‘xmrig|minerd’ rm -rf /etc/init.d/恶意脚本名 update-rc.d 恶意脚本名 remove # 移除开机启动

Step 3:删除挖矿相关文件

病毒会将挖矿程序藏在临时目录或家目录,需彻底删除:

搜索挖矿文件(排除/proc、/sys等系统目录)

find / -name “xmrig” -o -name “minerd” -o -name “kdevtmpfsi” -o -name “monero” -o -name “*.sh” | grep -v “proc” | grep -v “sys”

常见藏文件目录:

/tmp//var/tmp(临时目录,易被忽略) /root//home/用户名 /opt//usr/local

删除方法:

rm -rf /tmp/xmrig /tmp/run.sh /root/minerd # 替换为实际找到的文件 Step 4:清除恶意用户 / 权限

部分病毒会创建陌生用户并赋予 sudo 权限:

查看所有用户

cat /etc/passwd

删除陌生用户(-r删除家目录)

userdel -r 恶意用户名

检查sudoers(避免陌生用户提权)

cat /etc/sudoers | grep -v “root” # 看是否有异常权限 Step 5:修复系统漏洞(根源!避免再次感染)

若漏洞未修,下次还会被入侵,必须做: 5.1 升级系统和软件

Debian/Ubuntu: apt update && apt upgrade -y

CentOS/RHEL: yum update -y # 或 dnf update -y

⚠️ 生产环境注意:升级前备份数据,避免服务异常! 5.2 强化 SSH 安全(最常见入侵入口)

禁用密码登录,用密钥对: 本地生成密钥:ssh-keygen -t ed25519(按提示操作) 传公钥到服务器:ssh-copy-id -p 22222 用户名@服务器IP 修改/etc/ssh/sshd_config: PasswordAuthentication no # 禁用密码 PubkeyAuthentication yes # 启用密钥 PermitRootLogin no # 禁用root直接登录 Port 22222 # 改默认端口(避免22被扫)

重启 SSH:systemctl restart sshd 安装 fail2ban 防暴力破解:

Debian/Ubuntu

apt install fail2ban -y systemctl enable –now fail2ban

5.3 配置防火墙(仅开放必要端口)

ufw(Debian/Ubuntu): ufw allow 22222/tcp # SSH ufw allow 80/tcp # HTTP ufw allow 443/tcp # HTTPS ufw enable # 启用防火墙

firewalld(CentOS): firewall-cmd –permanent –add-port=22222/tcp firewall-cmd –reload

Step 6:验证清除是否成功

重启服务器:reboot(必须重启,确保自启动项生效) 重启后检查: 进程:ps aux | grep -E ‘xmrig|minerd’(无异常) CPU:top(占用正常,无满负荷) 端口:netstat -tulpn(无陌生端口) Crontab:再次检查所有用户的定时任务 三、常见问题解决

  • 进程杀不死?
  • 找父进程:ps -ef | grep 进程名,查看PPID(父 PID),先杀父进程:kill -9 父PID 可能是rootkit:用rkhunter/chkrootkit检查(需安装): apt install rkhunter -y && rkhunter –check

  • 重启后又出现挖矿进程?
  • 自启动项未清干净:重新检查crontab/systemd/rc.local 系统文件被篡改:用md5sum验证关键文件(如/bin/bash),或重装系统(彻底解决) 四、后续安全注意事项(必看!)

    清除只是第一步,加固才是根本:

    定期监控:用zabbix/prometheus+grafana监控 CPU、内存、端口,异常告警; 禁止 web 服务执行恶意脚本: PHP 禁用exec/system等危险函数; Nginx 禁止上传目录解析 PHP(location ~ ^/upload/.*.php$ { deny all; }); 不用 root 运行应用:应用用普通用户启动,必要权限再赋予; 定期备份:重要数据备份到本地 + 异地,防止被加密(部分病毒会勒索); 禁用不必要的服务:如telnet/ftp(用sftp替代)。 五、总结

    清除 xmrig 的核心逻辑是: 断进程 → 清自启动 → 删文件 → 堵漏洞 → 加固安全

    仅删进程没用!必须彻底清除自启动项 + 修复漏洞,否则会反复感染。

    如果有其他问题,欢迎留言交流!

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » Linux 服务器被 xmrig 挖矿病毒入侵?超详细清除 + 安全加固指南(亲测有效)
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!