服务器被植入后门,如何彻底清除?

一、确认异常信号:你的服务器可能已被植入后门

首先,你需要判断服务器是否真的被入侵。
常见现象包括:CPU或内存持续高占用出现未知进程网络连接异常(比如连接陌生IP)、文件被篡改出现异常定时任务等。
登录服务器后,可以先执行几个基础命令快速扫一眼:

  • 查看当前在线用户:whow,看是否有陌生用户。
  • 查看监听端口:netstat -tlnpss -tlnp,留意不认识的端口号。
  • 查看系统负载:top,观察是否有名字可疑的高占用进程。
  • 查看历史命令:history,检查是否有人执行过可疑操作。

如果发现上述任何可疑点,不要慌,下面按步骤彻底清理。

二、切断攻击源与备份关键数据

在动手清除之前,先做两件事:立即断开服务器的外网访问(可以通过安全组或防火墙临时封禁所有入站流量,或者修改iptables规则),防止后门继续对外通信或下载更多恶意文件。
然后备份重要数据,将数据库、网站源码等拷贝到安全的本地或另一台正常服务器上。
备份时注意只拷贝纯净的文件,不要包含恶意脚本。

如果使用宝塔面板,可以在面板安全页面临时关闭所有端口,或在服务器提供商控制台设置安全组。

三、全盘排查:定位后门文件与进程

3.1 查找可疑进程并终止

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

看到高占用进程后,记下PID,然后用 kill -9 PID 强制结束。
如果进程自动重生,说明有守护进程或定时任务在重复拉起,需要进一步排查。

3.2 检查系统启动项与服务

Linux 开机启动脚本常见位置:

  • /etc/rc.local
  • /etc/init.d/
  • /etc/systemd/system/
  • crontab -e(当前用户定时任务)
  • /var/spool/cron/crontabs/

重点查看 /etc/crontab/var/spool/cron/ 下是否有不明定时任务。
例如:

cat /etc/crontab
crontab -l
ls -la /var/spool/cron/

发现恶意条目立即删除(编辑 crontab 用 crontab -e,删除对应行)。

3.3 扫描后门文件

使用专业工具扫描。
推荐 chkrootkitrkhunter

# 安装
apt install chkrootkit rkhunter -y   # Debian/Ubuntu
yum install chkrootkit rkhunter -y   # CentOS

# 扫描
chkrootkit
rkhunter --check

另外可以用 ClamAV 扫描恶意文件:

apt install clamav -y
freshclam
clamscan -r /home /www /etc /tmp --log=clamav.log

也可以下载 linux-malware-detect(LMD)进行深度扫描,但需要注意扫描会占用较多资源。

3.4 检查网络连接和动态链接库

netstat -antp | grep ESTABLISHED

检查所有对外连接,如果发现连接了不明IP,用 kill -9 PID 杀掉对应进程,然后将IP加入防火墙黑名单:

iptables -A INPUT -s 可疑IP -j DROP
iptables -A OUTPUT -d 可疑IP -j DROP

同时检查 /etc/ld.so.preload 文件,如果有内容,可能是后门通过动态链接库注入,需要清空并重新加载动态库:

echo > /etc/ld.so.preload
ldconfig

四、根除顽固后门:清理文件与用户

4.1 删除恶意文件

根据扫描结果和已知的异常路径,删除后门文件。
注意有些文件可能被隐藏(名字以 . 开头),或者使用 chattr +i 锁定无法直接删除,先用 lsattr 查看属性,再用 chattr -i 解锁后删除。

4.2 清理异常用户和SSH密钥

查看所有用户:cat /etc/passwd,对照正常用户列表,删除不明用户(userdel -r 用户名)。
检查 /root/.ssh/authorized_keys/home/*/.ssh/authorized_keys,删除未知的公钥。

4.3 重置系统关键文件

如果系统文件被篡改,可以使用包管理器修复:

# Debian/Ubuntu
apt --reinstall install coreutils openssh-server 等

# CentOS
yum reinstall coreutils openssh-server

五、验证与加固:确保后门不再复发

完成清除后,重启服务器:reboot
重启后再次执行全盘扫描(chkrootkit、rkhunter),并检查 /var/log/auth.log(或 /var/log/secure)看是否有异常登录。
如果一切正常,可以重新开放端口。

5.1 加固建议

  • 修改所有密码(包括SSH、数据库、面板、FTP),使用12位以上随机密码。
  • 禁用root直接SSH登录,使用普通用户+sudo。
  • 更换SSH端口到非标准(如2222),并开启密钥登录。
  • 安装防火墙(ufw或firewalld),只放行必要端口。
  • 启用Fail2ban防止暴力破解:apt install fail2ban 后配置。
  • 定期使用 rkhunter --checkclamscan 扫描。

5.2 常见问题解答

Q: 后门执行 rm -rf / 怎么办? 立即从备份恢复,或者使用服务器快照回滚。
平时要养成备份习惯。

Q: 清除后服务器仍然卡顿? 可能还有隐藏进程或挖矿脚本残留,建议重装系统并只恢复纯净数据。

Q: 宝塔面板被串改? 建议卸载宝塔后重新安装最新版,且不要使用破解版或不明插件。

完成以上步骤后,你的服务器基本上可以恢复安全。
建议观察一周,定期查看日志,确保没有新的异常。
如果条件允许,直接重装系统是最干净的方法。

分享到:
上一篇
本地部署 DeepSeek,API
下一篇
宝塔面板多 PHP 版本切换,兼容问题解决
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意