如何恢复被入侵的 WordPress 网站:分步指南
发现垃圾页面、奇怪的跳转,或收到了 Google 的安全警告?这里有一套冷静而有序的方案,教你清理被入侵的 WordPress 网站并保持干净。
发现你的 WordPress 网站被入侵令人焦虑,但一套清晰的计划能让问题变得可控。目标是控制损失、清除恶意代码、堵住让攻击者进来的漏洞,然后确认网站已经干净。跳过第三步,是网站在几天内再次被入侵的最常见原因。
网站可能已被入侵的迹象
- 访客被重定向到无关或可疑的网站,尤其是在手机上或从搜索结果进入时。
- 搜索结果中出现你域名下的日文或药品垃圾页面。
- 浏览器或 Google 警告该网站存在危险。
- 出现你没有创建的新管理员账户。
- 主机商暂停了你的账户,或报告有垃圾邮件外发。
- 出现名称随机的文件,或你没有动过却最近被修改的文件。
其中有些情况可能有无害的解释,所以在往最坏处想之前请先确认,但一旦发现确凿证据,就要迅速行动。
立即行动:保存快照并加以控制
在改动任何内容之前,先完整复制一份文件和数据库,即使它已被感染。这样既能保留用于查明攻击者入侵方式的证据,也能在某个清理步骤出错时为你提供退路。把它保存在离线位置,以免日后误将其恢复。
控制问题
如果网站正在传播恶意软件或垃圾内容,请在处理期间放上简单的维护页面或限制访问。联系你的主机服务商;他们往往能看到服务器上发生了什么,并可能协助隔离该账户。同时更改重要的密码:主机控制面板、FTP 或 SFTP 账户、数据库用户以及 WordPress 管理员账户。请在一台干净的电脑上操作。
恢复还是清理
你有两种大的选择。
- 从干净的备份恢复。如果你有入侵之前的备份,这通常最快。恢复之后,立即更新所有内容并修复入口漏洞,否则攻击者还会回来。
- 手动清理。如果没有干净的备份,你需要手动或借助扫描工具删除恶意文件和数据库条目。
要谨慎判断该回溯到多久以前。攻击者有时会潜伏数周才动手。
手动清理清单
- 用同版本或更新版本的全新下载包替换 WordPress 核心文件。暂时不要动
wp-config.php和wp-content。 - 删除所有插件和主题,然后从可信来源重新安装全新的版本。不需要的就舍弃。
- 检查
wp-content/uploads文件夹。里面应该是媒体文件,而不是 PHP 文件。 - 检查
wp-config.php和.htaccess中是否有你不认识的代码。 - 审查用户并删除不明的管理员。
- 在数据库中搜索文章、选项和小工具里被注入的脚本。
- 在
wp-config.php中生成新的密钥和盐值,这会使所有人退出登录。 - 检查计划任务中是否有陌生条目,因为攻击者常用它们来重新感染网站。
找到入口并验证
常见的入口包括:过时的插件或主题、盗版扩展、薄弱或重复使用的密码,或同一账户下另一个被入侵的网站。检查访问日志,查看首次改动前后是否有可疑请求。更新所有内容,删除无人维护的部分,并启用双因素认证。如果你在一个账户下托管了多个网站,请逐一检查,因为恶意软件会横向扩散。
验证并申请复审
用恶意软件扫描器重新扫描网站,从不同设备浏览,并检查跳转和垃圾页面是否已消失。如果 Google 或浏览器标记了该网站,在你确信已经干净之后,请通过 Google Search Console 申请复审。同时检查你的邮箱域名是否被用来发送垃圾邮件。
加固,避免再次发生
逐项完成一份加固清单:保持软件更新、使用最小权限角色、限制登录尝试次数、禁用后台文件编辑,并保留经过测试的服务器外备份。我们的 WordPress 安全加固清单涵盖了这每一项。也可以考虑使用 Web 应用防火墙,它能在许多攻击尝试到达 WordPress 之前将其拦截。
要避免的错误,以及何时寻求帮助
- 不要只删除看得见的症状就指望万事大吉。后门通常藏在别的地方。
- 不要在不删除旧文件的情况下直接覆盖重装到被感染的文件上。
- 不要向任何主动联系你、声称能修复你网站的人付款。
- 不要忽视同一主机账户下的其他网站。
何时寻求专业帮助
如果网站对你的业务至关重要,如果你处理客户数据,或者清理一再失败,请找专业人士。还要考虑是否有个人数据泄露;根据你所在的地区,可能有通报义务。请查阅适用于你的规定,或咨询合格的顾问。
恢复之后,在接下来的几周里持续留意网站。注意新增文件、意外的用户和异常流量,并保留日志。如果遗漏了后门,再次感染通常在几天内就会出现,因此早期监控是值得的。
我们能提供的帮助
采用 Plesk、Cloudflare CDN 和免费 SSL 的主机,能为你提供更稳固的起点,我们的团队也可以解答有关恢复和保护网站的问题。如果你需要一个全新、干净的开始,我们的 WordPress 迁移服务可以免费将清理后的网站迁移到 WordPress 主机。