宝塔面板网站被黑了怎么办

域名注册
域名注册 正式会员超兽战士 👑年卡会员
发布于 2026-10-08 00:31 ·1 浏览 ·0 回复

学完这篇你能按顺序走完「隔离现场 → 定位入口 → 清除后门 → 加固 → 恢复」五步,把一台被黑的宝塔服务器重新拉回可用状态,并且不再被同一个口子二次入侵。

第一步:先隔离现场,别急着删文件

这一步要做的是让网站停止对外服务,同时把日志和原始文件留成证据;做完你手上会有一份能回溯攻击过程的快照。

先停站:宝塔面板左侧「网站」→ 找到对应站点 → 点「设置」→ 在「站点状态」里选「停止」。如果整台机器都可能沦陷,SSH 里执行 bt stop 停面板,再 systemctl stop nginx。

立刻打包备份:

tar -czf /root/backup_$(date +%F).tar.gz /www/wwwlogs /www/wwwroot /www/server/panel/logs /var/log

注意:不要先删可疑文件再备份。删掉的那一个往往正是定位入侵入口的唯一线索。也不要一慌就重装系统,重装等于把证据和客户数据一起丢掉。

第二步:定位入侵入口

这一步要从日志里查出攻击者是从哪个口子进来的;做完你能明确知道是 SSH 弱口令、面板端口暴露,还是程序漏洞(ThinkPHP、织梦、WordPress 插件等)。

面板侧:左侧「安全」页找到「面板操作日志」(部分版本叫「操作日志」),看有没有陌生 IP 登录、改密码、新建计划任务。SSH 侧执行:

last -50
grep "Accepted" /var/log/secure | tail -50
grep -c "Failed password" /var/log/secure

网站侧看 /www/wwwlogs/站点名.log,直接搜索攻击特征:

grep -Ei "eval|assert|base64_decode|shell" /www/wwwlogs/xxx.com.log | head -50

第三步:清除后门

这一步要把攻击者留下的所有「持续性控制点」全部拔掉;做完即使他拿到过密码,也进不来了。重点查四个地方。

1. 网站目录的 WebShell。 宝塔左侧「文件」→ 进入站点根目录 → 右上角搜索框勾选「包含子目录」→ 搜 .php,按「修改时间」排序。命令行更准:

find /www/wwwroot -type f \( -name "*.php" -o -name "*.jsp" \) -newermt "2025-01-01" -ls

2. 计划任务。 面板左侧「计划任务」逐条看,陌生的一条不留。再清系统级:

crontab -l
ls -la /etc/cron.d /var/spool/cron

3. 恶意进程与端口。 ps aux --sort=-%cpu | head -20、netstat -antp | grep LISTEN,看到从 /tmp、/dev/shm 启动的陌生进程直接杀。

4. SSH 后门。 cat ~/.ssh/authorized_keys 删掉不认识的公钥;检查 /etc/passwd 有没有 uid 为 0 的陌生账号。

注意:宝塔站点根目录常有 .user.ini 锁定文件,删不掉先执行 chattr -i .user.ini,处理完再 chattr +i .user.ini 加回去。另外很多马会把自己塞进 wp-config.php、index.php 的文件头,别只看文件名判断。

第四步:加固,把入口堵死

这一步是防止二次被黑,做完常见攻击面基本关闭。

  • 面板:左侧「设置」→「面板端口」改成 30000 以上的非常用端口;「安全」里改强密码、开「面板 SSL」、开「二步验证」。宝塔 9.2.0 免费版可在「设置」→「告警」里绑定微信/邮箱通知。
  • SSH:编辑 /etc/ssh/sshd_config,设 PermitRootLogin no、PasswordAuthentication no,配好密钥后 systemctl restart sshd。
  • 防火墙:面板「安全」→「防火墙」,只放行 80、443 和你自己的 SSH 端口,删掉 8888、888 这类默认可疑放行。
  • 升级:面板首页右上角点版本号更新;软件商店里把 Nginx、PHP、MySQL 升到当前稳定版;CMS 核心和插件同步升到最新。

第五步:恢复与观察

用干净的文件把站点还原并重新上线,然后盯 3~7 天。优先用备份里「被黑之前」的版本覆盖;如果入侵时间早于备份时间,就改用官方原版程序 + 自己的数据库备份重建。数据库也要查,用 phpMyAdmin 看 wp_users 或 admin 表里有没有陌生管理员账号。恢复后每天看一次 /www/wwwlogs/ 和面板操作日志。

小结

  • 顺序不能反:先隔离和备份,再删后门;
  • 日志是定位入口的关键,/www/wwwlogs/、/var/log/secure、面板操作日志三处必看;
  • 后门要查四样:WebShell、计划任务、恶意进程、SSH 公钥;
  • 加固核心是改端口、开二步验证、关 SSH 密码登录、最小化放行端口;
  • 恢复后至少观察一周,别当天就宣布没事了。
版权声明:本文来自 GJ站长论坛《宝塔面板网站被黑了怎么办》
原文链接:https://www.gj0.com/thread-643.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~