安全
如果您的网站被黑客入侵该怎么办
A compromised website needs three things in order: contain it, find out how they got in, then rebuild it clean. Doing those out of order is how sites get reinfected within a day.
一个被攻破的网站需要按顺序完成三件事:控制局面、找出攻击方式、重建干净的网站。如果顺序错误,网站很容易在一天内被再次感染。
请从本页顶部开始逐步操作。本指南不对攻击方式做任何假设。
不要仅仅删除可疑文件然后继续。几乎每次被攻破都会留下不止一个后门:第二个后门、恶意管理员账户、计划任务或修改过的核心文件。只移除表面症状而停止是同一周内网站再次遭到攻击的最常见原因。
你确实被攻破的迹象
- 搜索结果显示你从未写过的药物、赌博或外文页面。
- 访问者被重定向到其他地方,通常仅在移动设备或仅从搜索引擎上发生。
- 浏览器或搜索引擎针对你的域名显示警告。
- 出现名称或修改日期无法解释的文件。
- 你的网站发送垃圾邮件,或你的域名开始被邮件提供商拒绝。
- 存在没有人创建的管理员账户。
并非每一种情况都意味着被黑客攻击。仅仅速度缓慢或抛出错误的网站通常是插件冲突或资源限制问题。如果只是这种情况,请先参见网站无法加载。
第 1 步:控制局面
在调查之前将网站脱机。网站保持公开的每一分钟都会对你的声誉、搜索排名和访问者造成更多损害。
最快的方法是不删除任何内容,而是使用密码保护,它在 Web 服务器级别为整个网站放置登录提示:
- 转到"网站"并打开该网站。
- 打开"密码保护"选项卡。
- 启用它并设置用户名和密码。
现在网站向包括攻击者在内的所有访问者返回提示,而你可以通过控制面板、SFTP 和 SSH 保持完全访问权限。

如果你知道攻击者的 IP 地址,也将其添加到网站"安全"选项卡上的 IP 阻止列表中。
不要删除网站,也不要恢复任何内容。当前状态是你唯一了解攻击方式的证据。现在备份被感染的网站,清楚地标记为已感染,并将其保存在单独的位置。你可能需要它。
第 2 步:确定他们如何入侵
只有少数几种现实答案,每一种都会改变你下一步的做法。
检查控制面板审计日志。 转到"设置",然后"账户",然后"查看日志"。归属于你的团队但来自你们都没有使用的 IP 地址的操作意味着 Kapsule 账户本身已被入侵。这是一个严重得多的事件:参见账户安全并将该账户视为已被攻破。网站的"活动"选项卡涵盖通过控制面板进行的更改。
检查网站"日志"选项卡上的错误和访问日志。 针对单个插件路径的重复请求,或对上传端点的 POST 突发通常指明了入侵方式。参见阅读错误日志。
在网站的"安全"选项卡上运行恶意软件扫描。 参见扫描和移除恶意软件了解如何阅读结果。
检查哪些已过期。 过期的插件、主题或核心版本是迄今为止最常见的入侵点。参见保持 WordPress 更新。
第 3 步:重建干净的网站
有两种方式可以得到一个干净的网站,只有其中一种是可靠的。
可靠的方式:从被攻破之前的备份恢复
根据日志大致推断被攻破何时开始,然后从该日期之前进行的备份中恢复。
- 转到网站的"备份"选项卡。
- 选择感染之前的备份。
- 将其恢复到暂存区。恢复对话框默认故意恢复到暂存区。
- 检查暂存副本:没有未知文件、没有未知管理员用户、没有重定向。
- 当你满意时,恢复到实时。恢复到实时需要你输入域名进行确认。
参见从备份恢复了解详情,包括如何分别恢复文件和数据库。
在具有托管数据库的 WordPress 和 WooCommerce 网站上,网站"PITR"选项卡上的时间点恢复可以将数据库恢复到特定分钟,而不仅仅是最后一次夜间备份。当你可能会失去一天的订单时这很重要。
恢复会回滚所有内容,包括在该备份之后创建的合法内容和订单。恢复之前,从当前网站导出任何你需要保留的数据,并注意从被攻破网站导出的内容本身可能携带注入的代码。导入前检查它。
不可靠的方式:就地清理
如果你没有干净的备份,你必须手动清理网站。对自己要诚实,了解这需要多么彻底。
- 隔离恶意软件扫描标记的每个文件。参见扫描和移除恶意软件。
- 用来自源的新副本替换 WordPress 核心、所有插件和所有主题,而不是就地更新。
- 删除你不主动使用的任何插件或主题。非活动代码在可访问时仍会执行。
- 检查扫描器未涵盖的文件:
.htaccess、wp-config.php和你的上传文件夹中不是图像的任何内容。 - 检查网站"Cron 任务"选项卡上的计划任务,找出你未创建的任务。
- 检查数据库中注入的内容,特别是在选项和文章内容中。
第 4 步:更改每个凭证
假设网站可以访问的所有内容都已被盗取。
- WordPress 管理员密码。 从网站的"WordPress"选项卡重置每一个,强制每个用户登出以便盗取的会话 cookie 停止工作,删除任何你未创建的应用密码。参见重置 WordPress 密码。
- 未知管理员账户。 删除它们,并降级任何不需要管理员权限的账户。
- 数据库凭证,在网站的"数据库"选项卡上。
- SFTP 账户在网站的"SFTP"选项卡上。删除一个会终止其打开的会话。
- SSH 密钥在网站的"SSH 访问"选项卡上。删除你不认识的任何密钥。
- 你的 Kapsule 密码,并撤销任何你未创建的 API 密钥。参见 API 密钥和开发者访问。
第 5 步:恢复运行并加强保护
一旦你确信网站是干净的,关闭密码保护并让世界重新访问。
然后关闭打开的门:
- 保持一切都是最新的。 参见保持 WordPress 更新和管理插件。
- 在网站的"安全"选项卡上启用安全保护:蛮力保护、国家过滤和 IP 阻止列表。
- 在 Kapsule 账户和网站自己的管理员账户上启用双因素认证。
- 进行已知良好网站的新备份。 参见进行备份。
- 考虑扩展备份保留,以便即使在数周内未发现的被攻破也可以恢复。
何时联系支持
如果以下任何情况适用,开启支持工单:
- 被攻破来自你的 Kapsule 账户而不是网站。
- 你的网站发送垃圾邮件,或你的发送声誉受到影响。
- 你没有可用的备份,无法清理网站。
- 你的账户或网站已被暂停。参见为什么你的账户被暂停。
- 你认为另一个客户的网站正在攻击你的网站。参见举报滥用。
包括你发现的内容、你首次注意到它的时间以及你已经更改的内容。你能分享的自己调查越多,答案就越快。
故障排除
搜索引擎仍然警告该网站。 网站确实干净后,通过自己的网站管理员工具请求审查。这超出了我们的控制范围。
我清理后又回来了。 你遗漏了一个后门,或你未更改的凭证仍然有效。改为从干净的备份恢复,并更改第 4 步中的每个凭证。
扫描显示干净但网站明显被攻破。 文件扫描捕获已知恶意代码,而不是注入的数据库记录。与备份进行比较并检查数据库。
我无法访问修复它。 使用 SFTP 或 SSH 而不是应用程序自己的登录,攻击者可能已将其更改。参见 SFTP 访问和文件管理器。