SSL 拦截代理



我有一个客户想要使用拦截代理来解密所有流出的流量。 他们不想使用透明代理,因为安全策略规定必须解密/拦截所有流出的流量。 但我的问题是我的客户端验证服务器是谁,服务器验证客户端是谁。 我们不希望将客户 CA 添加到服务器。 那么,进入特定服务器的代理是否可以使用客户端密钥呢?我的意思是将客户端密钥复制到代理,以便在拦截发生后,代理使用客户端密钥对服务器进行加密,因此服务器根本不知道它正在与代理通信。

如果您向拦截代理服务器提供了客户端私钥,以便连接服务器仍然认为流量来自源客户端证书,则使用 SSL 拦截代理是否可以在拦截后重新加密流量?

A 是客户端 B 是执行拦截的代理 C 是服务器 A -> B -> C

1( 客户与代理对话 A -> B

2( B -> B 代理拦截和解密,然后使用自己的证书重新加密,然后与服务器通信

问题 是否可以使用客户端的私钥完成此重新加密,以便服务器 C 与客户端而不是拦截代理进行通信?

是的,这是可能的。 客户端和服务器都不需要分别与代理显式通信,将数据包发送到代理的 IP 地址。

您只需要将代理放置在网络级别的"服务器和客户端之间"。

在这种情况下,拦截代理作为"透明代理"运行(例如参见 mitmproxy(。在此模式下,您只需通过代理重定向流量,例如通过iptables规则。

当然,客户端必须信任拦截代理使用的证书(或者像某些易受攻击的客户端一样只接受任何服务器证书(。

相关内容

  • 没有找到相关文章

最新更新