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

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

本文从实战角度拆解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 aux 或 top,注意CPU和内存异常高的进程。用 lsof -p PID 查看该进程打开的文件。
  • 检查网络连接:netstat -anp | grep ESTABLISHED 看是否有不明外连。
  • 检查计划任务:crontab -l 和 cat /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 -y 或 apt 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 -l 和 ls -la /var/spool/cron/。
  • 效果验证:用在线网站如 SiteGuarding 或本地运行 chkrootkit 扫描确认无后门;尝试从外网SSH多次输错密码,看是否被 Fail2ban 封禁。

避坑指南(高频问题)

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

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

分享到:
上一篇
本地部署大模型,显存不足如何优化?
下一篇
宝塔面板文件权限设置错误,导致网站无法访问
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 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意