服务器被装挖矿程序,正确的顺序是:先断网保留现场,再定位入口和持久化项,然后清除或重装,最后堵住漏洞并加监控,上来就删文件、重启机器,往往等于帮攻击者擦掉了线索。
服务器被装挖矿程序怎么办?先判断,别急着动手
挖矿木马和普通病毒不太一样,它的目标是把你的CPU、GPU榨干去算币,所以症状通常很直白,问题在于,很多人第一反应是找到那个吃CPU的进程直接杀掉,结果过几分钟它又自己回来了因为持久化没清掉,入口也没堵上。
这几个信号出现,基本可以确认中招
- CPU或内存长期跑满,
top里有个陌生进程占着百分之几十甚至全部的核心 - 风扇狂转、云服务器账单里CPU积分或突发性能被迅速耗尽
- 业务响应变慢,但业务代码和流量都没变化
- 服务器往外连一些陌生的IP和端口,尤其是矿池常用端口
- 安全软件报警,或者云厂商主机安全控制台弹出挖矿告警
常见的挖矿进程名会伪装成系统进程,kdevtmpfsi、kinsing、xmrig、sysupdate、dbused 这类,看着像系统组件,实际是矿机,行业共识认为,这类样本的传播方式高度依赖弱口令和未授权访问,而不是什么高深的0day。
第一步不是删,是断网和留证据
- 在云控制台把安全组收紧,只留你自己的管理IP,或者直接解绑公网IP
- 对系统盘做一次快照,有条件的话把
/var/log、/tmp、/root单独打包留档 - 记录
ps aux、ss -tunlp、crontab -l的输出,这些是后面溯源和加固的依据
断网这一步别省,挖矿木马一般会带下载器,你一边清它一边从远端拉新样本,永远清不干净。
Linux服务器挖矿病毒怎么彻底清除
Linux是重灾区,下面这套流程覆盖了绝大多数情况。
定位进程和它的真实文件
top -c # 找高CPU进程 ps aux --sort=-%cpu | head -20 ls -l /proc/<PID>/exe # 看进程真实路径,很多是删了文件还在跑 cat /proc/<PID>/cmdline
/proc/<PID>/exe 显示 (deleted) 是典型特征攻击者启动进程后把文件删了,进程还在内存里跑,这时候要先 kill -9,再去找原始落地文件。
清持久化,这是最容易漏的一步
挖矿木马会同时埋好几处自启动,漏一个就复活:
crontab -l(当前用户)、/var/spool/cron/、/etc/cron.d/、/etc/crontabsystemctl list-unit-files | grep enabled,重点看陌生服务/etc/rc.local、/etc/init.d/~/.ssh/authorized_keys,有没有多出来的公钥/etc/passwd里有没有UID为0的新账号/etc/ld.so.preload,被写入陌生so路径说明有动态库劫持
常见藏身位置速查表
| 藏身位置 | 检查命令 | 处理建议 |
|---|---|---|
| 定时任务 | ls -la /etc/cron.d/ /var/spool/cron/ |
删除陌生任务,恢复原文件 |
| systemd服务 | systemctl list-unit-files |
停用并删除陌生unit |
| 动态库劫持 | cat /etc/ld.so.preload |
清空异常条目 |
| SSH后门 | cat ~/.ssh/authorized_keys |
删除陌生公钥,改密码 |
| 异常账号 | awk -F: '$3==0' /etc/passwd |
锁定或删除非root的0号账号 |
| 隐藏进程 | ls /proc | grep -E '^[0-9]+$' 对比 ps |
疑似内核级隐藏,建议直接重装 |
清完执行一次 reboot,重启后重新跑一遍上面的检查,确认没有复活,再用 rpm -Va(CentOS系)或 debsums(Debian系)校验系统文件完整性,看有没有被替换的二进制。
云服务器被挖矿要不要重装系统
这是被问得最多的问题,答案取决于入侵深度,不是取决于心情。
可以直接清理的情况
- 入口明确,比如Redis未授权访问、弱口令SSH
- 持久化项只有crontab和几个落地文件
- 没有发现rootkit迹象,系统关键二进制校验通过
- 业务可以短暂停机配合复查
建议直接重装的情况
- 发现内核模块被加载、
/etc/ld.so.preload被写入 - 系统关键命令(
ps、ls、netstat)被替换 - 攻击者拿到root且停留时间较长,日志被清空
- 服务器上跑着对外业务,数据合规要求高
判断标准很简单:你无法证明它是干净的,就当作它是脏的,重装的成本通常比事后被二次入侵低得多。
重装前后各做一件事
重装前做快照,保留取证可能;重装后不要急着恢复业务,先把SSH密钥登录、安全组、防火墙配好,再装业务,很多人重装完直接把旧配置原样搬回去,等于把漏洞又请回来了。
简米云服务器被挖矿了怎么处理
云上环境有额外的手段可以用,别只盯着系统内部。
- 在云安全中心或主机安全控制台查看告警详情,很多挖矿样本的落地路径、外联IP都有记录,比你自己翻日志快
- 用安全组把22端口限制到办公IP,Redis、Docker API、数据库端口一律不对外开放
- 开启CPU使用率告警,阈值设低一点,比如持续10分钟超过70%就通知,比事后发现强
- 快照策略配上,出问题能快速回滚,也能作为溯源依据
酷番云、华为云的思路一致,控制台里对应的就是主机安全、安全组、云监控这几块。
服务器挖矿木马清理多少钱
自己搞还是找人,本质是一笔时间账。
外包报价大致什么区间
按台计费的应急响应服务,市场上从几百元一台到上万元不等,差异主要看三点:是否需要溯源到具体入侵入口、是否有数据被加密或删除、是否需要出具正式的安全报告,据工信部相关通报和公开的安全服务市场情况,挖矿类事件的处置难度整体低于勒索病毒,单纯清理的价格通常不高,贵的是溯源和加固。
自己处理的成本也要算进去
- 时间成本:首次处理一般要几小时到一天,还不一定清干净
- 风险成本:漏掉一个持久化项,几天后二次中招
- 学习成本:命令和路径都是公开的,照着做并不难
如果只是一两台机器、入口明确,自己按上面的流程走完全可以,如果是生产环境、多台机器同时中招,找专业团队做个全面排查更划算。
防止再次入侵:把入口堵死比反复清理有用
据国家互联网应急中心历年发布的报告,挖矿木马长期位居高发恶意程序前列,主要传播途径就是弱口令、未授权访问和未修复漏洞,所以防护的重点不在装多少软件,而在把这三类问题解决掉。
账号与SSH加固
- 禁用密码登录,改密钥认证,
PermitRootLogin no - 改默认22端口,配合fail2ban做暴力破解封禁
- 删掉无用账号,普通账号不给sudo权限
服务暴露面收敛
- Redis必须设密码并绑定内网,禁止监听
0.0.0 - Docker API、Jenkins、Nacos、Spring Boot Actuator 这类管理端口,一律不对外
- 数据库只允许内网访问,安全组按最小权限配置
补丁与监控
- 操作系统和中间件建立补丁周期,Log4j、Struts2这类高危漏洞及时跟进
- 部署文件完整性监控,关键目录被改动能报警
- 定期做基线检查,云厂商的安全中心基本都有这个功能,别关掉
入侵入口与对应防护对照
| 常见入口 | 典型现象 | 对应措施 |
|---|---|---|
| SSH弱口令 | 大量登录失败日志 | 密钥登录+改端口+fail2ban |
| Redis未授权 | 6379对外开放 | 设密码、绑内网、禁危险命令 |
| Web漏洞 | 异常上传文件 | 及时打补丁、WAF拦截 |
| Docker API暴露 | 2375端口裸奔 | 只监听本地、加TLS认证 |
| 第三方组件漏洞 | 陌生进程从临时目录启动 | 组件版本管理、最小权限运行 |
关于挖矿木马清除的常见问题
服务器被装挖矿程序怎么办,杀掉进程就安全了吗?
不安全,挖矿进程只是表象,背后通常有定时任务、systemd服务或SSH公钥做持久化,杀掉进程后几分钟内会自动拉起,必须同时清理持久化项、封堵入侵入口,并重启验证。
挖矿木马会顺带窃取数据吗?
有可能,挖矿木马常和下载器捆绑,同一个入口既能装矿机也能装信息窃取程序,处置时不要只看CPU占用,还要检查 authorized_keys、异常外联和账号变更,确认没有横向移动的痕迹。
清理完多久能确认服务器是干净的?
一般建议观察48小时以上,期间重点看CPU是否再次异常、是否有陌生外联、定时任务和自启动项是否被重新写入,如果再次出现,说明持久化没清干净或入口没堵上,直接重装系统比继续排查更省时间。