服务器风扇狂转,CPU 长期 100%,top 里有个名字很随机的进程占着大半算力。这基本是典型挖矿木马,通常从弱口令或旧组件漏洞进来的。
先固化证据再动手
top -bn1 | head -n 15 ps aux --sort=-%cpu | head -n 10 ls -l /proc/进程号/exe
最后一条能看出可执行文件的真实路径,很多马会把进程名伪装成系统进程,exe 的路径却指向 /tmp 或 /dev/shm 下的随机文件。
清理顺序
- 记录矿池地址和外连 IP,后面加固要用
- 结束进程,删除可执行文件
- 检查 crontab -l 和 /etc/cron.d,挖矿常带定时拉起
- 检查 ~/.ssh/authorized_keys 有没有陌生公钥
- 检查 systemd 里是否注册了随机服务名
加固比清理更重要
ssh-keygen -R 旧IP # 本地清理指纹 grep -r "no-pty" /etc/ssh/sshd_config
禁用密码登录、限制 root 直连、升级暴露在公网的组件版本。清理完观察一周,进程反复出现说明入口没堵住,最省事的做法是备份数据后重装系统。
如果服务器上跑着业务代码,清理前先确认哪些文件被改过。用文件完整性工具对比关键目录,或者至少检查网站根目录有没有新增的 php 文件,很多马会同时留一个网页后门。
重装后把快照、镜像和备份都过一遍,旧镜像里如果已经带毒,恢复后很快会再次中招。