【问题标题】:AWS CloudFront with custom HTTPS origin, only allow origin requests from CF?具有自定义 HTTPS 源的 AWS CloudFront,只允许来自 CF 的源请求?
【发布时间】:2018-03-30 19:50:16
【问题描述】:

将 CloudFront 与自定义 HTTPS 源一起使用时,我的 DNS 设置如下所示

domain.com -> A (Alias) -> CloudFront Distribution Alias
origin.domain.com -> IPaddress of HTTPS server

我意识到源服务器需要可从任何边缘站点访问,但是如果我能够以某种方式将我的 HTTPS 源服务器配置为仅接受来自 CloudFront 边缘的传入连接,从而消除它被访问的任何可能性,那就太好了直接由用户/机器人。这可能吗?

【问题讨论】:

  • 这是用于 S3 还是 Web 服务?
  • 这是一个 HTTPS 服务器

标签: amazon-web-services amazon-cloudfront


【解决方案1】:

您可以使用云端 IP 地址进行限制,

CloudFront IP 地址列表:

https://ip-ranges.amazonaws.com/ip-ranges.json

    {
      "ip_prefix": "13.32.0.0/15",
      "region": "GLOBAL",
      "service": "CLOUDFRONT"
    }

在文件中搜索 CLOUDFRONT 作为服务并将 IP 限制设置到您的端点或您的安全组。这将保护除云端以外的任何人访问。

实施示例:

https://aws.amazon.com/blogs/security/how-to-automatically-update-your-security-groups-for-amazon-cloudfront-and-aws-waf-by-using-aws-lambda/

IP 地址范围更改事件:

如果 IP 地址列表发生变化会怎样?

您可以订阅 Lambda 并通过 lambda 自动更新您的列表。

https://aws.amazon.com/blogs/aws/subscribe-to-aws-public-ip-address-changes-via-amazon-sns/

额外的安全性:

从您的 CloudFront 启用秘密标头,并确保您仅通过您的分配接收请求,而不是通过其他分配。这伴随着保持标题旋转的额外维护。

希望对你有帮助。

【讨论】:

  • 另外,我发现了这个我将测试的 Lambda 函数:aws.amazon.com/blogs/security/…
  • 这本身就是一个潜在的弱解决方案。任何人都可以创建指向您的源服务器的 CloudFront 分配。您还应该使用秘密 CloudFront 自定义原始标头并拒绝任何缺少它的请求:docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/…
  • @Michael-sqlbot 谢谢。添加到答案中。在过去的两年里,我们一直在使用它,并且没有其他任何人访问我们的内容的问题。理想情况下,如果他们这样做,他们将为我们赚钱,我们认为这是积极的。
猜你喜欢
  • 2020-10-18
  • 1970-01-01
  • 2020-12-29
  • 2021-05-23
  • 1970-01-01
  • 1970-01-01
  • 2021-09-02
  • 2020-08-13
  • 2012-11-11
相关资源
最近更新 更多