服务器挖矿入侵应急响应:定位进程、清持久化、封禁复盘 核心要点图解,挖矿入侵后应先隔离主机再排查,避免攻击者察觉后破坏证据。;定位进程需结合top、ps、lsof及网络连接分析,注意隐藏进程。;持久化清理要覆盖cron、systemd、SSH密钥、启动脚本等多处。;封禁前应确认攻击源IP,并同步更新防火墙与云安全组规则。
服务器挖矿入侵应急响应:定位进程、清持久化、封禁复盘 · 核心要点一图读懂(AegisX)

核心要点(TL;DR)

  • 挖矿入侵后应先隔离主机再排查,避免攻击者察觉后破坏证据。
  • 定位进程需结合top、ps、lsof及网络连接分析,注意隐藏进程。
  • 持久化清理要覆盖cron、systemd、SSH密钥、启动脚本等多处。
  • 封禁前应确认攻击源IP,并同步更新防火墙与云安全组规则。

服务器CPU莫名飙到100%,风扇狂转,业务响应变慢——这很可能是挖矿木马在作祟。挖矿入侵不仅消耗资源,还常伴随数据窃取和后门植入。本文面向运维和站长,提供一套可落地的应急响应流程,涵盖恶意进程定位、持久化清理、封禁加固与复盘,帮你快速止损并根除威胁。

一、先隔离再排查:控制影响范围

发现异常后,第一时间隔离主机,避免攻击者察觉后删除证据或横向移动。若业务允许,直接断网;若需保留远程访问,通过防火墙限制仅允许管理IP访问SSH端口。

# 使用iptables临时限制SSH访问(替换为你的管理IP)
iptables -A INPUT -p tcp --dport 22 -s 你的管理IP -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP

同时,对关键日志和可疑文件进行备份,便于后续溯源。建议使用tar打包/var/log、/tmp、/dev/shm等目录。

二、定位挖矿进程:从CPU占用入手

登录服务器,执行top按CPU排序,观察占用最高的进程。挖矿进程常伪装成kworker、sysupdate等,但路径异常。用以下命令快速定位:

ps aux --sort=-%cpu | head -20
ls -l /proc/PID/exe  # 查看进程实际执行文件路径
lsof -p PID          # 查看进程打开的文件和网络连接

若发现进程连接矿池地址(如pool.minexmr.com),基本可确认。注意隐藏进程:对比ps与/proc目录下的PID,缺失的可能是被rootkit隐藏。使用unhide或rkhunter辅助检测。

三、清除持久化:切断自动重启

挖矿进程常通过多种机制持久化,必须逐一排查清除:

  • 定时任务:检查crontab -l、/etc/crontab、/etc/cron.*/及用户目录下的cron文件。
  • systemd服务:systemctl list-units --type=service查看可疑服务,检查/etc/systemd/system/下的unit文件。
  • 启动脚本:/etc/rc.local、/etc/init.d/、/etc/profile.d/。
  • SSH后门:检查~/.ssh/authorized_keys是否有陌生公钥。
  • 动态链接库劫持:cat /etc/ld.so.preload若存在非空内容,可能是恶意库。

清除时先停止进程,再删除文件,最后移除持久化配置。建议使用chattr +i锁定关键目录防止篡改。

四、封禁与加固:阻断再次入侵

根据日志定位攻击源IP,在防火墙或云安全组中封禁。常见入口包括SSH弱口令、Redis未授权访问、Web漏洞。加固措施:

  • 修改所有账户密码,禁用密码登录,改用密钥认证。
  • 限制SSH访问源IP,修改默认端口。
  • 更新系统及中间件补丁,关闭不必要的服务。
  • 部署主机入侵检测系统(HIDS),如AegisX可实时监控异常进程和网络连接,提供告警与阻断能力。
检查项命令/位置预期结果
SSH配置/etc/ssh/sshd_configPermitRootLogin no, PasswordAuthentication no
防火墙规则iptables -L -n仅开放必要端口
可疑用户cat /etc/passwd无异常UID为0的用户

五、复盘总结:完善监控与流程

事件处理后,需复盘入侵原因、响应时效和损失。更新监控策略:对CPU异常、异常外连、关键文件变更设置告警。定期进行安全扫描和漏洞修复。建议将本次IOC(入侵指标)录入威胁情报平台,并检查同网段其他主机是否受影响。

最后,建立应急响应预案,明确隔离、排查、清除、恢复各环节责任人,定期演练。只有将安全防护常态化,才能有效降低再次被入侵的风险。

常见问题(FAQ)

服务器CPU占用突然100%,怎么快速确认是不是挖矿?

首先登录服务器执行top命令,观察占用CPU最高的进程名和路径。挖矿进程常伪装成kworker、sysupdate等系统进程,但实际路径在/tmp、/var/tmp或/dev/shm等目录。可用ps aux --sort=-%cpu | head -20查看详情,再用lsof -p PID检查进程打开的文件和网络连接,若发现连接矿池地址即可确认。

挖矿进程杀了又自动重启,怎么办?

这说明存在持久化机制或守护进程。需要检查cron定时任务(crontab -l和/etc/cron*)、systemd服务(systemctl list-units --type=service)、启动脚本(/etc/rc.local、/etc/init.d/)以及SSH authorized_keys。同时用ps -ef --forest查看进程树,找到父进程一并清除。建议使用chkrootkit或rkhunter扫描rootkit。

清除挖矿后如何防止再次被入侵?

必须修复入侵入口,常见入口包括SSH弱口令、未授权访问的Redis/MongoDB、Web应用漏洞(如Struts2、Log4j)。应修改所有账户密码,禁用密码登录改用密钥,限制SSH访问IP,更新系统补丁,并部署WAF或HIDS。AegisX可提供主机入侵检测与实时告警,帮助及时发现异常进程和网络连接。

挖矿入侵后需要重装系统吗?

取决于入侵程度。如果攻击者已获取root权限并植入rootkit,建议备份数据后重装系统,因为无法保证彻底清除。若仅发现挖矿进程且持久化点已清理,可继续使用但需持续监控。重装前务必保留日志和样本用于溯源,并确保备份数据不包含恶意文件。

如何查找挖矿入侵的源头IP?

检查网络连接:netstat -antp或ss -antp查看与矿池的通信IP。分析登录日志:last、lastb、/var/log/secure查找异常登录。检查Web日志:/var/log/nginx/access.log中寻找漏洞利用痕迹。结合威胁情报平台查询IP信誉,确认攻击源后可在防火墙或云安全组中封禁。