【发布时间】:2021-03-03 12:35:06
【问题描述】:
Firebase 托管没有提供足够的安全性,但我喜欢 Firebase 的功能。所以我写了一个渲染动态内容的firebase函数。我将它放在谷歌负载均衡器后面,以便能够阻止除白名单 IP 之外的所有流量。
我希望编写一个函数,在成功登录后将 IP 列入云盔甲的白名单。我希望将尽可能多的 IP 列入白名单(1000+),并在每个会话到期时为每个 IP 添加一个 TTL。
我的目标是严格限制访问并防止 DDoS 攻击可能会降低功能并产生费用。对于我的用例来说,不记名令牌是不够的。
所以这是一个由两部分组成的问题,是否可以通过编程方式将 IP 列入白名单? 我可以将多少个 IP 列入白名单有限制吗?
更新: 根据https://cloud.google.com/armor/quotas,我可以有 200 条规则,每条规则包含 10 个 IP,即 2000 个 IP。所以我的新问题是,这是 Cloud Armor 的标准用例吗?
我知道我可以增加配额,但还有其他负载平衡器服务,例如 Cloudflare,具有更大的 IP 白名单。不过,我想继续使用 Google 服务。
【问题讨论】:
-
1) 鉴于 Cloud Armor Plus Tier 实例的起价为每月 3,000 美元,您真的应该与您的客户代表交谈,他们可以分配合适的人员来帮助您设计系统。 2) Cloud Armor 有一个 REST API cloud.google.com/compute/docs/reference/rest/v1/… 3) 请记住,规则越多,IP 列表越多,防火墙响应越慢。您在设计时是否考虑到了正确的目标? 4) 使用 IP 白名单不是一个很好的安全模型。开始考虑身份验证和授权,而不是边界。
-
@JohnHanley 感谢您的洞察力,我没有考虑到它可能会减慢防火墙速度。我的目标是保持这个端点非常有限,尽管拥有有效的访问令牌,但只允许合适的人进入。我有一种情况,攻击者可能会关闭我的功能以阻止我的用户访问。
标签: firebase google-cloud-platform google-cloud-functions google-cloud-armor