发生 DDos 攻击时关闭 gcloud 服务

发生 DDos 攻击时关闭 gcloud 服务

我的公司在 Google Cloud 上有一个小而精致的产品(使用公共网络应用程序、功能和存储)。

我已经花了几个小时寻找一种解决方案,比如在服务受到任何威胁或攻击时为服务设置终止开关。我发现我们可以为每个云功能定义最大实例数,这很酷,可以防止过多的威胁。

但主要问题是云存储。存储桶上的文件是公开的,我不知道哪种解决方案更适合将下载请求限制在存储桶内。其中之一是我们创建一个新函数(定义了最大实例)并将下载请求从那里流式传输到 Web 应用程序。在这种情况下,存储桶可以是私有的。但经过一些成本估算(每次下载都会涉及一个流式传输功能)后发现,它可能会花费很多,因为该产品有一个带有自定义图块的地图,并且 Web 应用程序在初始化时一次请求大约 16 个图像文件。

在考虑了不同的解决方案之后,我认为防止 DDos 攻击的唯一方法是监控使用情况并立即关闭服务(特别是存储服务),以便有时间跟踪问题并修复它。

但是谷歌云没有提供类似的东西。至少我找不到。将整个项目(或部分项目)置于维护模式并拒绝所有请求的东西。我可以为每个函数执行或存储下载添加一个配置,并在需要时将其关闭。但我认为谷歌云仍然会计算这些请求并向我的老板收费。

有谁知道一个好的解决办法吗?我脑海中的场景是这样的:

  1. 多个 IP 尝试连续 (~200 dn/s) 下载存储桶中的请求文件,持续数小时
  2. 多个 IP 尝试调用函数,但只是为了保持实例活跃并中断真实用户的连接

我想知道是否有任何方法(而不是自定义方式)来限制每个 IP 每天最多有 2000 个请求。

答案1

Google 已制定机制来保护其云基础架构及其生产服务。Google 云基础架构本身确实具有额外的 DDoS 保护层,可用于防御大规模攻击。您可以采用不同的方法将 GCS 中的非公开内容提供给最终用户。

其中之一是使用 Google Cloud Armor 进行 DDoS 防御。Google Cloud Armor 与全球负载平衡基础设施深度连接,使其能够检查传入流量并识别和消散传入的 DDoS 攻击。

要为您的项目启用 DDoS 保护,您可以在 GCP UI 上的 Cloud Armor 下启用托管保护。请参考此文档有关 Cloud Armor 上的 DDoS 缓解的更多详细信息。

其次,您可以采取以下一些额外步骤来防止对云存储的拒绝服务攻击:尝试将内部流量与外部数据隔离,您可以通过启用基于代理的负载平衡来启用 D​​DoS 保护,使用网络防火墙规则和身份访问管理来保护部署,保护 Google 云存储。我还建议您查看以下文档:保留策略和保留策略锁

另外,要检查每个 IP 每天限制特定请求的功能,请查看此有用的文档并查看此博客Google 如何证明自己能够抵御第 7 层 DDoS 攻击了解更多信息。

相关内容