Linux 服务器被入侵了怎么办?应急排查全流程

服务器被入侵是运维中最头疼的事。别慌,按这套流程来排查和处置。

第一步:立即隔离

发现服务器异常后,第一时间断网或修改防火墙规则,阻止攻击者继续操作:

iptables -I INPUT 1 -s 0.0.0.0/0 -j DROP

然后通过 KVM 或 IDRAC 登录服务器,不要用 SSH(攻击者可能还在线)。

第二步:查进程

ps aux --sort=-%cpu | head -20

看 CPU 占用最高的进程,确认是否有可疑进程(挖矿程序通常叫 ksoftirqdsysupdate 之类伪装名)。

第三步:查网络连接

netstat -antp | grep ESTABLISHED

看有没有连到可疑 IP。常见挖矿矿池 IP 可以从网上查。

第四步:查定时任务

crontab -l
cat /etc/crontab
ls -la /etc/cron.*/

攻击者经常通过定时任务保持后门。

第五步:查 SSH 授权密钥

cat ~/.ssh/authorized_keys

看看有没有不认识的公钥。

第六步:查系统用户

cat /etc/passwd | grep -E "/bin/bash|/bin/sh"

看有没有新增的可疑用户。

第七步:清理与加固

找到木马文件后:

rm -rf 木马路径
kill -9 进程ID

然后做这些加固:

  1. 修改所有密码(SSH、MySQL、FTP)
  2. 更新系统:yum update -yapt update && apt upgrade
  3. 修改 SSH 端口,禁用 root 登录
  4. 安装 fail2ban:yum install fail2ban -y
  5. 配置防火墙只放行必要端口

总结

发现被入侵后:先断网 → 查进程 → 查网络 → 清木马 → 改密码 → 做加固。六个步骤走下来,基本能解决问题。