保护未经身份验证的Cloud Run端点

问题描述 投票:2回答:1

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

只需10美元即可启动第7层HTTP flood attack,每秒可发送250k请求。让我们假设您的Cloud Run端点向上扩展并处理所有请求。仅对于调用,您将支付360美元 - /小时(每百万请求0.40美元)。

请注意,如果攻击未分布在多个Cloud Run端点上,您可能会遇到concurrency limitmax instance limit。我有什么其他控制?

据我了解,Cloud ArmorCloud CDN的常用防御系统与Global Load Balancer绑定,后者不适用于Cloud Run,但可用于GKE上的Cloud Run。

google-cloud-platform serverless google-cloud-run
1个回答
2
投票

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

特别:

云功能位于Google前端后面,可以缓解和吸收许多第4层及以下的攻击,例如SYN泛洪,IP碎片泛滥,端口耗尽等。

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

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

如果您希望自己可能成为此类攻击的受害者,那么我会监控您的常规负载/峰值并设置您的帐户在该负载之上扩展的能力。随着常规流量的增长,监控将允许您增加此值。这似乎是唯一的好方法。是的,一旦达到帐户限制,您的服务就会停止,但在您成为目标的情况下,这似乎更为可取。

我还要尝试的一个想法是a protected route with Firebase Authenticationanonymous authentication

© www.soinside.com 2019 - 2024. All rights reserved.