【问题标题】:Is HTTPS->HTTP behind load balancer considered secure?负载均衡器后面的 HTTPS->HTTP 是否被认为是安全的?
【发布时间】:2018-08-12 10:48:27
【问题描述】:

我在 AWS 云中有一个安全的 Web API,我正在尝试找出在不影响安全性的情况下将其置于负载均衡器后面的最佳方法。

目前,所有通信都采用传统的端到端加密方式。 API 服务器有一个 Let's Encrypt 证书,用于处理与客户端交换的所有消息。除非加密被破坏,否则除了服务器及其客户端之外,没有人可以查看消息的原始内容。

如果我开始使用负载均衡器并允许我的服务器的多个实例同时运行,我将不得不放弃 LE 并使用集中式证书管理(例如 ACM)。 AWS 方便地支持将 ACM 生成的证书链接到负载均衡器 HTTPS 侦听器。这对于自动续订特别有用。但是,负载均衡器随后会移除加密层,并且从那时起,与我的服务器实例的所有通信都将被解密。

我不太愿意让我的原始数据在公共云中传输。不过,我欢迎对此提出第二意见。

因此,我的问题是:让负载均衡器剥离 HTTPS 加密层并将所有流量作为 HTTP 转发到内部服务器实例是否安全?

既然我能猜到答案,我将不胜感激有关如何安全部署负载平衡的任何建议。

【问题讨论】:

  • 答案归结为 AWS 网络基础设施是否创建了一个真正的 私有 网络,互联网上的陌生人无法为您回答这个问题。亚马逊肯定说是,但这可能只是意味着尚未发现漏洞。
  • “公有云”这个词并不是对 VPC 网络环境的完全公平的描述。您担心的威胁的性质是什么?如果这个问题的答案似乎太明显了,那么您可能是在对底层网络的一些错误假设下进行操作。
  • 我的问题来自一个基本假设,即除非采取特定步骤来保护它,否则任何网络基础设施都应该被认为是不安全的。在这种情况下,我能想象到的最有可能的威胁是第三方拦截或利用(例如 MITM 攻击)负载均衡器和目标组中的服务器实例之间未受保护的通信。
  • 您打算使用应用程序还是经典 ELB?
  • @PetrMánek 就我而言,我在 ALB 的 TargetGroup(使用 ECS)下注册了 ALB 和 Docker 容器。 ALB 是一种通过 HTTP 向容器发送流量。稍后我们不得不更改容器以通过 HTTPS 进行侦听。带硬编码证书的容器有点困难,后来我更改了 docker 入口点,以便在运行时从 ACM 下载证书并进行初始化。

标签: amazon-web-services security https amazon-elb amazon-ecs


【解决方案1】:

我认为它是安全的,因为每个 AWS VPC 都是相互隔离的。

一个 VPC 的流量无法在另一个 VPC 中捕获。当然,AWS VPC 技术是否安全还有待于其他人所说的。

还可以查看来自EBS about secure end-to-end encryption 的文档。它说:

在负载平衡器处终止安全连接并在后端使用 HTTP 可能足以满足您的应用程序的需要。不属于连接的实例无法侦听 AWS 资源之间的网络流量,即使它们在同一账户下运行也是如此。

【讨论】:

  • 哇,那篇文章正是我需要的。它甚至就何时想要使用完整的 E2E 加密提供建议;监管要求。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-16
  • 1970-01-01
  • 1970-01-01
  • 2017-10-15
  • 2019-06-09
  • 2023-04-10
  • 2012-03-24
相关资源
最近更新 更多