客户端需要我们的 SSL 私钥来配置到达我们服务器的负载均衡器。说得通?

信息安全 tls openssl 阿帕奇 tls-拦截
2021-09-03 21:07:19

我面临一个不寻常的情况,我希望你能为我澄清这一点。

我们管理一些可通过服务器 X 的 443 端口上的 HTTPS 请求访问的应用程序。

我们有一个新客户端,它也应该通过服务器 X 上的 443 端口与我们联系。但是客户端将使用某种负载均衡器(根据他们的说法是代理 + snat)来做到这一点。

为了使负载均衡器可以连接到我们,客户端需要我们的一对公共证书+私钥,否则负载均衡器会由于密钥对不匹配而重置与我们的连接。

这对我来说完全是胡说八道,因为私人应该只是私人的,我不能分享。这违反了我所知道的所有安全策略。

奇怪的是,他们提供的一些文件似乎正好说明了这一点。这是链接:

https://support.f5.com/csp/article/K13393

似乎他们使用了一些称为 Big IP 的技术,并且根据上述链接上的声明,它需要私钥:

建议的操作您可以通过使用目标服务器提供的证书密钥对 配置受影响的 SSL 配置文件来纠正此错误为此,请执行以下步骤...

有没有人遇到过类似的情况?

即使他们的技术确实需要它,我也不知道 HTTPS 提供的任何“API”可以处理以前由负载均衡器加密的流量,所以我很困惑。

每一种澄清都是有用的。感谢大家。

1个回答

他们似乎正在使用 F5s SSL 代理功能,这意味着 F5 设备不是您的应用程序的客户端(它们不是在设备上终止,而是通过),而是让他们能够解密流量到确定是否可以缓存并重新使用以提高性能。例如,如果他们可以在边缘缓存一些东西,他们可以将其提供给他们的用户,而无需进行额外的完整往返返回您的源服务器。如果他们不能解密流量,他们就不能缓存它。

如您所知,这具有安全隐患。如果他们坚持这种架构,并且数据和风险是他们自己的,那么您需要一个特定于他们的应用程序的证书,该证书共享以保护您任何其他客户的数据。然后,您可以将证书安装在您为他们托管的应用程序服务器上,他们可以将其安装在他们的 F5 上,只要他们没有机会让证书意外地被您的其他客户使用,那么风险很小你。

如果,但是,您的应用程序设计为允许他们以这样的方式进行分离,并且该证书不能孤立他们只使用,那么在我看来,你必须拒绝。您不能给他们一个允许他们在任何情况下都可能访问其他客户数据的密钥。