服务器被挂马后,如何防止再次被入侵?

服务器被挂马后,大多数人的第一反应是赶紧删掉恶意文件,但过几天又中招了。防止再次入侵的关键不是单纯杀毒,而是堵住入侵者进来的路。

本文从实战角度拆解5个步骤,每个步骤都附带具体命令或面板操作,照着做就能让服务器重新回到安全状态。

第一步:立即隔离,切断扩散路径

发现服务器被挂马,先别急着扫描,第一步一定是隔离

  • 快照或备份系统盘:如果数据不重要,直接重装系统是最省事的方案。如果需要保留数据,先做快照(阿里云、腾讯云控制台都有快照按钮),避免后续操作失误导致数据丢失。
  • 断开外网连接:在云控制台临时关闭公网IP,或者使用防火墙临时禁止所有入站流量:
  iptables -P INPUT DROP
  ip6tables -P INPUT DROP

执行后你的SSH也会断掉,所以最好通过控制台VNC连接操作。

  • 备份关键文件:重点备份 /etc/ 下的配置、网站源码、数据库导出,用以下命令把文件打包后下载到本地:
  tar -czf backup.tar.gz /var/www /etc /var/lib/mysql
  scp backup.tar.gz your_local_ip:/path/

第二步:全面清除后门,不留死角

隔离后开始查杀。
注意:不要只依赖杀毒软件,手检更彻底。

  • 查看异常进程:运行 ps auxtop,注意CPU和内存异常高的进程。用 lsof -p PID 查看该进程打开的文件。
  • 检查网络连接netstat -anp | grep ESTABLISHED 看是否有不明外连。
  • 检查计划任务crontab -lcat /var/spool/cron/*,删除可疑的定时脚本。
  • 检查开机启动项systemctl list-unit-files --type=service | grep enabled,对应查看 /etc/init.d//etc/rc.local 等文件。
  • 使用专业工具扫描:安装 ClamAV 或 rkhunter:
  yum install clamav -y && freshclam && clamscan -r / --remove

如果使用宝塔面板,可以在软件商店安装“木马查杀”插件,一键扫描。

第三步:修复漏洞,加固配置

后门清除了,但入门口还在,必须堵上。

  • 修改所有密码:服务器root、MySQL、FTP、WordPress后台密码全部改成随机强密码(字母+数字+特殊符号,至少16位)。
  • 禁用SSH密码登录,改用密钥:编辑 /etc/ssh/sshd_config
  PasswordAuthentication no
  PermitRootLogin prohibit-password
  PubkeyAuthentication yes

重启服务 systemctl restart sshd
注意:先确认你的密钥已经添加到 ~/.ssh/authorized_keys,否则会把自己锁在外面。

  • 限制常用服务端口:修改SSH默认端口(比如2222),关闭不用的端口(telnet、FTP等)。在宝塔面板安全菜单中设置防火墙规则。
  • 更新所有软件包yum update -yapt update && apt upgrade -y,尤其修复已知漏洞的包(如 OpenSSH、Apache、Nginx )。
  • 配置Web目录权限:网站源码目录所有者为非www用户,只给755权限,上传目录单独设置禁止执行PHP。Nginx中加 location ~ \.php$ { deny all; }

第四步:安装监控与文件完整性工具

加固后要建立持续监控,防止再次被入侵而不自知。

  • Fail2ban:防止暴力破解SSH。安装后配置 /etc/fail2ban/jail.local
  [sshd]
  enabled = true
  port = 2222
  maxretry = 3
  bantime = 3600

宝塔面板可以直接在“安全”-“SSH安全”中开启暴力破解防御。

  • AIDE 或 Tripwire:定期检查文件完整性,发现可疑改动时告警。安装后初始化数据库,然后每天一次增量检查:
  aide --init
  mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
  aide --check
  • 云监控:使用阿里云安骑士(免费版)或腾讯云主机安全,开启文件完整性校验和异常进程告警。

第五步:日常安全巡检与日志审计

最后一步是养成习惯,每周花5分钟做一次简单巡检。

  • 查看关键日志
  journalctl -xe | grep 'Failed password'
  tail -f /var/log/secure
  • 使用 Logwatch:安装后每天自动发邮件报告:yum install logwatch,配置发送地址。
  • 定期检查计划任务:每周手动跑一次 crontab -lls -la /var/spool/cron/
  • 效果验证:用在线网站如 SiteGuarding 或本地运行 chkrootkit 扫描确认无后门;尝试从外网SSH多次输错密码,看是否被 Fail2ban 封禁。

避坑指南(高频问题)

  • “重装系统就一劳永逸了?”:不对。如果不修改密码和加固配置,新系统还会被相同手段入侵。重装后务必执行第三步。
  • “只杀毒不检查计划任务”:很多后门会写隐藏计划任务,杀毒软件扫描不到。建议手动检查 crontab -l 和各用户的cron目录。
  • “开了宝塔防护插件就安全了”:宝塔防护插件只是辅助,需要搭配系统层面的加固。比如危险端口、弱密码仍需手动处理。
  • “忘记备份导致数据丢失”:被挂马后千万不要直接重装,先快照再查杀,避免误删正常文件。

如果你正在处理服务器被挂马后如何防止再次被入侵的问题,建议按以上步骤完整执行一遍。
遇到异常时先回看避坑部分,再结合在线搜索定位具体报错。
安全不是一次性的操作,而是持续的习惯。

分享到:
上一篇
本地部署大模型,显存不足如何优化?
下一篇
宝塔面板文件权限设置错误,导致网站无法访问
1
系统公告

泽御云五一特惠活动🔥

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