如何修复 Wordpress 中的 DDOS 攻击和强制攻击?

Posted

技术标签:

【中文标题】如何修复 Wordpress 中的 DDOS 攻击和强制攻击?【英文标题】:How to fix DDOS attack and force attack in Wordpress? 【发布时间】:2022-01-24 00:21:14 【问题描述】:

几天前,服务器上开始出现大量 http 请求,随后登录尝试失败。天真,不要太在意。今天早上我醒来时发现所有服务器页面都关闭了,并且可以正确访问我的 Worpress 帐户。我不知道该怎么办。你能帮帮我吗?

详细信息:服务器是 Hostinger 和防病毒 Wordfence

【问题讨论】:

您可以登录到 Wordpress 管理控制台吗?您可以通过 ssh 进入服务器或以其他方式获得终端/cli 访问权限吗?您至少可以访问托管环境的文件系统吗?您的托管服务提供商是否为此问题提供任何支持?这些细节将有助于提供更好的答案 【参考方案1】:

处理持续的 DDOS 攻击是 security.stackexchange.com 特有的,通常不是 CMS 特有的,所以如果攻击仍在发生,我建议你先去那里寻求帮助。此答案假定攻击已经结束,但您仍然无法访问您的网站,并尝试重新获得访问权限,然后防止未来的攻击。

重新获得访问权限

既然您提到了 WordFence,我首先要指出他们提供网站清洁服务(付费,在最后一次检查时显示 490 美元的报价),并附带 1 年的高级服务订阅。如果您想花钱解决问题以使其消失,那可能是一个不错的选择。您提到的托管服务提供商 (Hostinger) 还显示了他们提供“托管 WordPress”服务的所有计划,因此您应该联系他们的支持团队,看看他们也能做些什么来帮助您。这两个选项可能是最快的解决方案,在成本范围的两端。

关于自行恢复网站和防止未来的攻击,有几件事需要检查。顺序:

    首先,获取您的备份

    如果您有现有的数据库和文件系统备份,请确保您知道它们的位置,并将它们的副本提取到您信任的系统上并没有受到损害。如果其他一切都失败了,这些将有助于恢复您的网站。 如果您没有现有备份,请查看是否可以备份站点的当前状态。应谨慎对待受感染站点的备份,但如果必须将站点清除并重建,则仍可用于恢复丢失的数据。如果您无法登录 WordPress 管理控制台,这可能意味着登录您的网络托管控制台(见下文)并获取包含您网站的文件夹的 zip 存档,以及使用 phpMyAdmin 或其他界面为您的数据库以获得完整的数据库备份。如何备份数据库取决于您可以使用什么,但WordPress documentation 提供了一些常见选项的很好的演练。

    您可以登录您的托管平台吗?

    如果答案是“否”,那么您遇到了更大的问题,应该立即联系您的托管服务提供商寻求支持。您上面描述的问题听起来不像会这样,但请仔细检查以确保。 如果可以,并且如果您有文件系统访问权限(通过 cpanel、ssh 或其他选项),请检查您的 WordPress 文件是否仍在您期望的位置。如果它们已被删除或替换,则表明您的系统已受到威胁,需要进行适当的清理。这超出了这个问题的范围,但是如果您最近对所有内容进行了完整备份,您可能希望直接跳到完全重置您的托管环境,包括删除所有用户和基于 API 的访问以及从头开始重建。请联系您的托管服务提供商寻求帮助。

    您的网站是否完全响应请求?

    尝试访问您网站的网址,然后尝试 ping 该网址。如果您有专用服务器,请尝试 ping 该服务器的 IP 地址。如果您收到对 ping 的响应,但没有任何尝试连接网络浏览器,则可能是网络服务器守护进程(实际处理对您网站的请求的程序,通常是 Httpd、nginx 或 WordPress 网站的 LiteSpeed)崩溃并且无法重新启动。如果您可以控制服务器(虚拟机或物理硬件),您可以尝试重新启动它并再次检查,但大多数托管服务提供商(如 Hostinger)不会为您提供这种级别的控制。 如果您在您的站点 URL 上看到响应,但它不是您的站点,请检查 DNS 以确保它仍然指向您的服务器。如果是这样,则您的服务器已受到威胁。如果不是,您的 DNS 记录和管理帐户已被盗用。在任何一种情况下,您都处于糟糕的状态,并且真的需要与您的托管服务提供商讨论恢复访问权限。在此过程中,请重置所有密码,并确保您使用的是密码管理器而不是重复使用密码。 您是否看到错误消息或白屏?一条错误消息会提示您出了什么问题 - 404 表示网络服务器已启动并正在运行但找不到页面,404 页面的内容将告诉您正在运行和响应的内容(是否是 WordPress 404,或 Apache 或 Nginx 说它找不到您的 WordPress 文件,或其他)。空白屏幕通常意味着您的 WordPress 网站中的某些内容导致了不可恢复的错误,您需要 enable debug mode 并查看调试日志以获取更多详细信息 如果您没有收到来自网络服务器的错误或空白屏幕(很可能您的浏览器会显示“无法联系服务器”或类似内容),那么您的网络服务器没有响应,您可能需要重新启动它或检查其配置是否有效。这比这个答案要深入一些,并且会根据您拥有的网络服务器和您拥有的访问权限而有所不同。如果是这种情况,请咨询您的托管服务提供商是否可以为您提供帮助。

    您有 WordFence Central 帐户吗?

    如果您在此之前设置了 WordFence Central 帐户,并且已将其连接到您的站点,请登录那里的仪表板并查看它告诉您的内容(如果您之前没有设置,请跳过此步骤步骤,今天对您没有帮助,但将来可能会帮助您)。这可能会为您提供有关站点状态和发生情况的更多信息,或者它可能只是告诉您“无法连接到站点”之类的信息。无论哪种方式,了解更多关于 WF Central 所看到的内容都会有所帮助。

    您的网站是否有您可以访问的.htaccess 文件或其他权限设置机制?

    如果您无法访问您的站点,可能是其中一个站点发生了更改以阻止访问。权限控制对于预防也非常有用,但稍后会详细介绍。检查您的托管环境中的权限控制是否未更改。如果他们有,并且您没有进行更改,那么您就受到了损害,因此请与您的托管服务提供商联系以获得帮助。您可以尝试删除 .htaccess 文件(确保保留一份副本,以防万一不是),看看您是否重新获得对您网站的访问权限。如果不能解决问题,请将其放回原处 - 它存在是有原因的。

这些都是我想到的假设原因,但是如果您可以在编辑您的问题或在 cmets 中回答其中一些问题,我可以尝试进一步详细说明。现在,开始预防

DDOS 预防

DDOS 攻击依赖于通过多种方式压倒服务器。我们将在这里重点关注三种攻击类型:僵尸网络群(真正的 DDOS)、易受攻击的服务器软件(从技术上讲,这可能是 DOS,而不是 DDOS)和自动漏洞利用工具包(它们可能会意外关闭您的站点,或者作为成功闯入的结果)。无论是什么真正导致了您的问题,您都应该防范所有这些问题,因为无论如何您最终都会面对所有这些问题。

如果您成为僵尸网络的目标,您将看到实际上不合法的流量激增。处理此问题的最佳方法是在它到达您的服务器之前在网络上阻止它,或者让网络服务器在它到达 WordPress 之前阻止它。到达您的服务器和您的 WordPress 安装的恶意流量越少越好。 WordFence 不会做这些,但如果你有一个像 CloudFlare 这样的 CDN,你可能已经有网络级别的阻塞——在仪表板中寻找提到防火墙或 (D)DOS 预防的东西。如果没有,您可能需要在服务器上设置 Web 应用程序防火墙 (WAF),或者作为网络中的入口点,然后路由到您的服务器。对好的 WAF 选项进行研究——这里可能有很多好的答案来解释无论你拥有什么类型的 Web 应用程序都应该寻找什么。在这里值得一提的是,其中一些工具(包括 CloudFlare)具有“受攻击模式”,如果您遇到频繁的攻击,您可以在其中使安全规则更加严格。这可能意味着一些合法流量被阻止或限制,但这可能是用户体验略有下降和网站出现故障之间的区别。

WAF 和 CDN 保护将有助于减少恶意流量,但您还希望阻止已知的不良行为者和已知/怀疑的不良活动。 WordFence 对此有很好的设置,其他安全插件也是如此,但您应该确保它们已启用。检查重复失败的登录是否被阻止(保持较低的数字 - 例如 2-5 次失败的登录)并确保启用任何其他安全设置,除非您对为什么要禁用它们有很好的解释。考虑要求管理员进行 2FA 作为额外的预防措施。

WordFence 将有助于防止来自已知恶意 IP 的攻击,如果您有过期的插件和主题,它会抱怨,但如果您不更新这些插件和主题,这将无济于事。漏洞利用工具包是(通常是免费的)软件包,用于安全测试和针对网站的恶意攻击,每次 WordPress 插件发现新漏洞时,这些漏洞很快就会被添加到许多漏洞利用工具包中。如果可能,将所有插件和主题设置为自动更新(对于 WordPress 核心也是如此),并定期检查它们是否都是最新的。如果您无法启用自动更新,请确保您至少每周更新一次,并考虑订阅一些 WP 安全博客(WordFence 时事通讯是一个不错的选择),以便在出现重大漏洞时至少收到一些通知在每周更新之前需要紧急更新。

这涵盖了很多内容,并且可能遗漏了一些细节。如果您分享有关您看到的特定问题的更多信息,我可以相应地更新此答案。

【讨论】:

【参考方案2】:

如果我理解正确,暴力攻击成功并且他们登录了您的 wordpress 帐户,您的页面被删除或以某种方式关闭。

如果是这样,你现在可以做的不多,但是:

    您有备份或从中恢复吗?如果不计划将来定期备份。

    检查防火墙日志以获取高于正常请求的 IP。识别后,将它们添加到防火墙的阻止列表中。

    为您的帐户添加 2FA。

    为您的登录尝试添加速率限制(每分钟 3 次就足够了,然后是 5 分钟的登录禁令)

    阻止似乎对您的基础设施进行 DDOS 攻击的攻击者用户代理。

【讨论】:

以上是关于如何修复 Wordpress 中的 DDOS 攻击和强制攻击?的主要内容,如果未能解决你的问题,请参考以下文章

memcache漏洞--被未授权访问,并作为肉鸡发动DDOS攻击

memcache漏洞--被未授权访问,并作为肉鸡发动DDOS攻击

防止WordPress利用xmlrpc.php进行暴力破解以及DDoS

解决WordPress网站被利用xmlrpc.php文件攻击问题

如何找个海外高防服务器,防御DDOS攻击呢?

什么是DDoS攻击?如何抵御DDos攻击?