【问题标题】:Can I use Google Cloud Armor to programmatically whitelist many IPs?我可以使用 Google Cloud Armor 以编程方式将许多 IP 列入白名单吗?
【发布时间】: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


【解决方案1】:

根据official documentation 和@John Hanley 的建议,您不应为您的安全模型使用 IP 白名单过滤:

请注意,使用静态 IP 地址过滤并不安全 和有效的保护手段。相反,我们建议您进行辩护 使用 OAuthCerts 的深入方法。

【讨论】:

  • 我也在使用 Firebase 提供的授权令牌,我只是担心恶意攻击者会破坏端点或产生费用。我将不得不重新考虑这种方法,这个端点是非常私密的,并且仅供独家客户使用。
猜你喜欢
  • 2019-03-13
  • 2010-11-05
  • 1970-01-01
  • 2017-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-17
  • 1970-01-01
相关资源
最近更新 更多