网站被黑后如何恢复:站长 72 小时处理清单
网站被黑时,最怕的是一边慌忙删除文件,一边继续让攻击者在线操作。正确顺序是:先隔离,再备份,再排查,再恢复,最后加固和申诉。
这篇不是某个具体站点的“亲历故事”,而是一份适合个人站长和小型内容站的应急清单。
第 0 步:确认是否真的被黑
常见信号包括:
- 首页被篡改。
- 搜索结果标题变成博彩、色情、贷款等内容。
- 访问时跳转到陌生网站。
- 服务器 CPU、带宽异常。
- 网站目录出现陌生 PHP、JS 或压缩包。
- Search Console 提示安全问题。
不要只看首页。很多黑产会只对搜索引擎或移动端用户跳转。
第 1 步:隔离网站
如果确认异常,先降低损失:
- 暂停可疑插件、主题或上传入口。
- 临时关闭后台登录或限制 IP。
- 必要时让网站进入维护页。
- 不要马上删除所有文件,先留证据。
如果是 VPS,可以先在 Nginx 或防火墙层限制访问,只保留自己的 IP 排查。
第 2 步:完整备份
备份不是为了恢复坏文件,而是为了保留证据和对比。
至少备份:
- 网站文件目录。
- 数据库。
- Nginx / Apache 配置。
- 访问日志和错误日志。
- 定时任务。
- 上传目录。
备份文件要放到本机或安全存储,不要继续放在被黑服务器同一目录。
第 3 步:查入口
常见入口有:
- 弱密码。
- 旧版本 CMS、插件、主题。
- 上传接口未限制文件类型。
- 服务器面板暴露公网。
- 数据库密码泄露。
- SSH 被爆破。
- 目录权限过宽。
站长可以先查三类日志:
/var/log/nginx/access.log
/var/log/nginx/error.log
/var/log/auth.log
重点看异常 POST、后台登录、上传请求、404 扫描和陌生 IP。
第 4 步:清理恶意内容
如果是 WordPress,可以重点检查:
wp-content/uploads是否有 PHP 文件。- 主题目录是否有陌生文件。
- 插件目录是否被改动。
index.php、.htaccess、wp-config.php是否被插入代码。- 数据库文章是否被批量插入垃圾链接。
更稳妥的做法是:
- 下载全新官方程序。
- 保留必要配置和上传文件。
- 重新安装可信插件和主题。
- 数据库只恢复确认干净的数据。
不要从不明来源下载“修复版插件”。
第 5 步:轮换所有密钥和密码
清理完成后,立即更换:
- SSH 密码或密钥。
- 服务器面板密码。
- 数据库密码。
- CMS 管理员密码。
- FTP/SFTP 账号。
- API Key。
- CDN、域名、对象存储后台密码。
有条件的话,后台都开启两步验证。
第 6 步:重新上线前检查
上线前至少确认:
- 页面不再跳转。
- 搜索结果里的垃圾页面返回 404 或 410。
- sitemap 不包含异常 URL。
- robots.txt 没有被篡改。
- 后台登录路径和权限正常。
- 日志里没有持续异常请求。
第 7 步:向搜索引擎提交复审
如果 Google Search Console 或 Bing Webmaster Tools 提示安全问题,清理后提交复审。说明要简洁:
- 已确认入侵原因。
- 已清理恶意文件和垃圾页面。
- 已更新程序和插件。
- 已更换密码和密钥。
- 已增加防火墙或登录限制。
复审通常需要时间,不要反复提交。
后续加固清单
- 只开放 22、80、443 等必要端口。
- SSH 禁用密码登录或限制 IP。
- 安装 fail2ban。
- CMS、插件、主题定期更新。
- 上传目录禁止执行脚本。
- 每天自动备份。
- 定期查看 Search Console 安全问题。
- Nginx 增加限流和基础安全头。
总结
网站被黑后,不要先急着删文件。正确流程是:隔离、备份、排查入口、清理、轮换密钥、验证、复审、加固。只要流程清楚,小站也能把损失控制住。
相关阅读: