【问题标题】:AWS CloudFront and ELB: Is there a way to force connection using only CloudFront?AWS CloudFront 和 ELB:有没有办法只使用 CloudFront 强制连接?
【发布时间】:2017-06-21 03:28:09
【问题描述】:

我有一个平衡一些 EC2 实例的 ELB。 ELB 暴露了整个系统的端点。

现在我正在此 ELB 上创建 CloudFront 分配。 有没有办法允许用户仅使用 CloudFront 端点连接并拒绝直接连接到 ELB?

谢谢

【问题讨论】:

  • IP 地址过滤不是解决方案,在这里。下面的答案忽略了这个问题的可行解决方案。确实存在解决方案,但在详细解释之前,我需要澄清一下,以便我可以专注于相关细节:您阻止直接访问源 ELB 的动机是什么?另外,它是 ELB Classic/1.0,还是 ELB 2.0——也称为 ALB(应用程序负载均衡器)?
  • @Michael-sqlbot 希望看到您对此的回答,重点关注 ALB,以及避免对 ALB 进行 DDOS 并避免绕过附加到 CloudFront 分配的 WAF 规则的动机。
  • @Michael-sqlbot 其实我刚刚找到了你的答案here,这是个好主意。

标签: amazon-web-services amazon-ec2 amazon-cloudfront vpc


【解决方案1】:

您必须将安全组限制为 CloudFront 使用的 IP 地址范围列表。这是here 发布的列表的子集。

不幸的是,该列表可能会发生变化,因此您不能只设置一次就忘记它。 Amazon 发布了一个教程 here,指导您设置 Lambda 函数,该函数将在 Amazon 发布更新的 IP 列表时自动更新您的安全组。

【讨论】:

    【解决方案2】:

    不幸的是,目前没有直接的方法可以做到这一点。

    ELB 访问只能受 IP 范围的限制。您可以尝试将 ELB 限制为 CloudFront's IP ranges,但这相当脆弱且经常更改。如果引入了新的 IP 范围,您最终可能会意外阻止 CloudFront。我会说这种方法是不可取的,但是当要求是强制性的时,我已经看到它完成了。它确实中断了几次。

    【讨论】:

    • 这很糟糕,但是..感谢您的快速解释!
    • @ThinThonThan Mark 在下面的回答描述了一个自动化的过程,但我再次遇到了 IP 范围的 JSON 列表不是完全最新的情况。
    • 它仍然可供使用 AWS 的任何其他人使用,让您暴露在超过 100 万个 ips 中
    【解决方案3】:

    您可以设置仅允许 Cloudfront IP 的自动化安全组,并让 Lambda 函数在 Cloudfront IP 范围更改时对其进行更新。在我的博文中,您可以找到一个完整的 Cloudformation 模板来为您设置:

    https://medium.com/cagataygurturk/restricting-elb-access-to-cloudfront-8b0990dea69f

    【讨论】:

      【解决方案4】:

      如果 R53 中没有使用您的负载均衡器的记录,并且只有云端定义了您的负载均衡器使用的备用域名 (CNAME),那么您可以将 WAF ACL 与您的负载均衡器相关联,该 ACL 会丢弃任何不使用负载均衡器的请求匹配备用域名。 在这种情况下,您强制为负载均衡器使用 CloudFront 分配。

      【讨论】:

        【解决方案5】:

        AWS 博客有一个 solution for this scenario

        它所做的基本上是创建一个订阅 SNS 主题的 lambda 函数,该主题接收 AWS IP 地址范围更改的通知(该主题归 AWS 所有)。然后,此 lambda 会动态更新 ELB/ALB 安全组。 Lambda 代码可用here

        【讨论】:

          猜你喜欢
          • 2021-01-29
          • 2014-04-06
          • 2016-05-11
          • 1970-01-01
          • 2021-05-13
          • 1970-01-01
          • 2021-09-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多