6

当我创建未经身份验证的(公共)Cloud Run 端点来托管 API 时,我有哪些选项可以保护此端点免受恶意用户发出数十亿次 HTTP 请求?

只需 10 美元,您就可以发起每秒可发送 25 万个请求的第 7 层HTTP 洪水攻击。假设您的 Cloud Run 端点扩展并处理了所有请求。仅对于调用,您将支付 360 美元/小时(每百万个请求 0.40 美元)。

请注意,如果攻击未分布在多个 Cloud Run 端点上,您可能会遇到并发限制最大实例限制。我还有哪些其他控件?

据我了解,Cloud ArmorCloud CDN的常规防御绑定到Global Load Balancer,Cloud Run 不可用,但 GKE 上的 Cloud Run 可用。

4

1 回答 1

3

对于将 IAM Cloud Run Invoker 角色设置为 allUsers 成员类型的 Cloud Run 服务的未经身份验证的调用,我希望答案与此处提供的相同 - https://stackoverflow.com/a/49953862/7911479

具体来说:

Cloud Functions 位于 Google 前端之后,可缓解和吸收许多第 4 层及以下攻击,例如 SYN 泛洪、IP 片段泛洪、端口耗尽等。

获得有关 Cloud Armor 支持的明确 Y/N 答案肯定会很棒。

[编辑]:我一直在思考这个问题并得出以下结论:

如果您预计您可能会成为此类攻击的受害者,那么我将监控您的常规负载/峰值,并将您的帐户的扩展能力设置为略高于该负载。随着您的常规流量随着时间的推移而增长,监控将允许您增加这一点。这似乎是唯一的好方法。是的,一旦您达到帐户限制,您的服务就会关闭,但在您成为目标的情况下,这似乎更可取。

我尚未尝试的一个想法是使用 Firebase 身份验证匿名身份验证的受保护路由。

于 2019-04-17T04:39:43.487 回答