我可以使用 SSL 终止来传输敏感数据吗?如果不行,那么使用带终止的 SSL 有什么意义呢?

我可以使用 SSL 终止来传输敏感数据吗?如果不行,那么使用带终止的 SSL 有什么意义呢?

我已阅读Rackspace,不应使用 SSL 终止来传输敏感信息(搜索“不应使用 SSL 终止”页面)。首先,为什么会这样。其次,如果您不能相信数据是否安全传输,那么使用 SSL 的价值到底是什么?

我对第一个问题的猜测是,如果有人知道服务器的直接 IP,他们就可以添加一个X-Forwarded-For带有 HTTPS URL 的标头,完全绕过负载均衡器,并从端口 80 进入。我可以通过 iptables 来克服这个问题(仅允许来自负载均衡器的端口 80),对吗?

注意:我的服务器与负载均衡器位于同一专用网络中(关于 Rackspace 文章中的“安全问题是什么?”注释)。

答案1

他们告诉你的是,如果你选择将你端的 SSL 端点放在负载均衡器中(而不是负载均衡器路由到的服务器),那么你应该知道,无论数据在传输到负载均衡器的过程中有多安全,一旦数据离开负载均衡器,它就安全了。在私人数据中心,将 SSL 处理卸载到负载均衡器或专用硬件上,然后让内部管道(以前用 SSL 包装的管道)继续传输到常规 Web 服务器进行维护,这种情况并不罕见。

他们给出的警告是,如果您的云服务器与您的负载均衡器不在同一个数据中心,如果您在负载均衡器中解开 SSL 会话,那么从它们到 Web 服务器的流量将是透明的并通过公共网络路由。

至于您对 X-forwarded-for 内容的猜测,您误解了他们的意思。他们说,如果您的 Web 服务想要确保客户端使用 SSL,但您在负载平衡器上剥离了 SSL 包装器,那么他们可以让负载平衡器为您的 Web 服务器添加一个额外的标头,这样您就知道客户端确实使用了 SSL,即使您的 Web 服务器会说没有使用 SSL。

希望对你有帮助

答案2

您提到的 rackspace 文档有点不清楚,但我相信其意图是这样的:

您希望尽可能使用 SSL 来传输敏感信息。(从客户端到数据库)

如果您在负载均衡器层启用 SSL 终止,则安全性将停止。(敏感数据将以纯文本形式在负载均衡器层和应用程序层之间传输。)

我相信这是文档中的意图。您应该避免任何未加密的敏感数据传输。

是的,您可能处于同一个“私人网络”中,但端到端加密流量将为您的客户提供更好的服务。

祝你好运。

相关内容