如何防止DDOS攻击对Netlify的影响?(停机时间+带宽使用/成本)

lud*_*ico 3 bandwidth cdn ddos cloud-hosting cloudflare

情况:

  • 最初在 VPS 上运行的 React 应用程序
  • 几天前,我们成为 DDOS 攻击的目标,导致网站瘫痪。
  • 在攻击期间,我们决定迁移到 Netlify。
  • 迁移后,该网站再次上线。显然,攻击持续了几个小时,而 Netlify 在保持网站正常运行方面做得很好......
  • ...但它的成本很高(3.4 TB 带宽消耗,这意味着昂贵的账单)。

我正在寻找防止 DDOS 攻击影响的选项(避免停机,但也避免带宽使用/成本)

我对任何易于设置且与 Netlify 配合良好的东西特别感兴趣,但我肯定会考虑所有选项。

我正在考虑的一些选择:

  • 优化页面大小 - 这可以减少带宽,但这不是最终的解决方案(您可以进行的优化总是有限的)。
  • 在 Netlify 之前配置 Cloudflare?-我想知道这是否能解决问题,以及是否有需要考虑的影响(关于性能和其他影响有一些答案,但我还没有真正发现太多)。
  • 其他选择?

我承认这个问题非常广泛,但建议、意见和进一步的细节将非常感激(如何设置、自己的经验、涉及这个特定问题的参考文献/文章......)。

Tim*_*Tim 7

将您的服务器置于 CDN / DDOS 保护供应商(例如 CloudFlare / AWS CloudFront + WAF)后面,并确保您的服务器仅接受来自您的供应商和您自己的静态 IP 的直接连接。

一般步骤是:

  1. 注册该服务并订阅您需要的计划
  2. 在您的服务上设置 DNS 以指向您的主机。确保传输您需要的任何其他 DNS 记录 - MX、CNAME 等
  3. 更改您的域名注册商以使用 CDN 或 DDOS 供应商 DNS 服务器。等到更改通过互联网应用,最简单的方法是等待 24 小时。您不应该看到任何差异,它应该保持完全相同的工作方式。
  4. 设置防火墙,仅接受来自 CDN 的已发布 IP 范围和您的私有 IP(例如您的工作或家庭静态 IP)的请求。如果您没有静态家庭 IP,则每次您想要通过 SSH/RDP 连接到服务器时都必须更改防火墙。以下是CloudFlare 发布的 IP 范围。理想情况下是 IPv4 和 IPv6。此防火墙应该是托管服务,否则 DDOS 仍会使用您的服务器带宽,只是不会攻击您的应用程序。在 AWS 中,您将使用安全组,在 Digital Ocean 中,您将使用 CloudFirewall 等

这并不是特别困难,但您确实需要了解一些背景知识,例如 IP、防火墙等。每个 CDN 供应商都有文档可以引导您完成此操作。

缩放

在云中,您还可以进行扩展以满足通过 DDOS 保护系统的部分 DDOS 负载。

您应该阅读AWS DDOS 白皮书,它主要适用于其他提供商和云。