Linux服务器被入侵排查:从异常进程到后门清理的完整实操

服务器突然变慢、CPU 跑满,或者收到云厂商的安全告警,多半说明机器已经被入侵。
此时不要急着重装,先按“保留现场→定位入口→清除后门→加固验证”的顺序处理,才能避免清了又被重新控制。

本文适用于常见的 Linux 发行版(CentOS、Ubuntu、Debian 等),操作需要 root 或 sudo 权限。
以下命令只做查看,不涉及删除,建议全程记录输出,方便对比确认。

第一步:先隔离,别再让攻击者进来

发现异常后第一件事不是杀进程,而是断开攻击者继续控制的通道。

  • 如果机器在云上,先登录云控制台,把安全组入方向临时收紧,只放行你自己的管理 IP。
  • 不要立刻关机或重启。内存里的进程、网络连接和登录会话一旦重启就没了,排查难度会变大。
  • 如果必须保留业务,优先用 iptables 或云防火墙限制来源 IP,而不是直接 kill 掉可疑进程。

备份关键日志,防止被攻击者清空:

mkdir -p /root/incident_$(date +%F)
cp -a /var/log /root/incident_$(date +%F)/

第二步:查进程和网络连接,找可疑外联

攻击者通常会运行挖矿程序或反弹 shell,特征是占用高、有异常外联。

先看 CPU 和内存占用靠前的进程:

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

重点关注:进程名是随机字符串、路径在 /tmp、/dev/shm、/var/tmp 下,或者启动用户是 www、nobody 这类低权限账号。

查看进程对应的可执行文件,确认它到底在哪:

ls -l /proc//exe
readlink -f /proc//exe

再查网络连接,找出谁在往外连:

ss -antp
netstat -antp

如果看到某个进程持续连接陌生境外 IP 的 3333、4444、5555 等端口,基本可以判定是挖矿或远控。

第三步:从登录记录和定时任务找入口

大部分入侵通过弱口令 SSH 爆破或应用漏洞进入,登录记录能给出线索。

last -a | head -30
lastb | head -30
grep 'Accepted' /var/log/secure
grep 'Failed password' /var/log/secure | awk '{print $(NF-3)}' | sort | uniq -c | sort -nr | head

Ubuntu/Debian 对应文件是 /var/log/auth.log。
如果某个 IP 有大量失败记录后突然出现成功登录,说明密码已被猜中。

接着检查定时任务,这是最常见的持久化位置:

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

还要看普通用户的任务,攻击者常把后门挂在 www 用户下:

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

第四步:查文件与账号后门

攻击者会留下隐藏文件、SUID 提权文件和新增账号。

查找近期被修改的文件:

find / -type f -mtime -7 -not -path '/proc/*' -not -path '/sys/*' 2>/dev/null | head -50

查找隐藏的可疑目录和文件:

find / -name '.*' -type f -not -path '/proc/*' -not -path '/sys/*' 2>/dev/null | head -50

检查 SUID 文件,正常系统里数量有限,多出来的要重点看:

find / -perm -4000 -type f 2>/dev/null

核对账号,确认有没有陌生用户或 UID 为 0 的账号:

awk -F: '$3==0 {print $1}' /etc/passwd
cat /etc/passwd | grep -v nologin | grep -v false

同时检查 SSH 公钥,攻击者常写入自己的 key 实现免密登录:

cat /root/.ssh/authorized_keys
find /home -name authorized_keys -exec cat {} \;

第五步:清理、加固与验证

确认后门位置后再动手清理,顺序是先断外联、再删文件、最后加固。

  • 用 kill -9 结束恶意进程,再删除对应的可执行文件。
  • 清空或删除被篡改的 authorized_keys、定时任务条目。
  • 删除陌生账号:userdel -r <用户名>,并检查 /etc/shadow 是否还有残留。

加固 SSH 是最关键的一步:

# /etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3

改完执行 systemctl restart sshd,重启前确认自己的公钥已能登录,否则会把自己锁在外面。

如果漏洞来自 Web 应用(如上传、反序列化),只清服务器不修应用,很快会被再次利用。
排查完成后,建议检查 Web 目录中的可疑 PHP/JSP 文件,并升级对应组件。

验证是否清理干净:

ss -antp | grep ESTAB
crontab -l
find /tmp /dev/shm -type f

观察 24 小时,确认没有新的异常进程和外联。

常见疑问

很多新手会问:能不能直接重装系统一了百了?
如果数据可以重建、业务能停机,重装确实最省事。
但重装前一定要先定位入口,否则新系统沿用同样的弱密码或旧应用,还是会再次中招。

还有人问:last 里没有异常登录,是不是就安全了?
不一定。
攻击者可能清空或篡改了日志,这时要以进程、网络连接和文件修改时间为准,不要只信登录记录。

总结一下,Linux 服务器被入侵排查的核心顺序是隔离、取证、定位入口、清理后门、加固验证。
每一步都留下记录,清理后持续观察外联和定时任务,才能确认攻击者没有留下第二套后门。

分享到:
上一篇
等保2.0合规配置实操:从基线检查到整改验证的完整流程
下一篇
WAF防火墙部署配置:从零搭好Nginx+ModSecurity防护
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意