客户端和代理之间的流量;读取 SSL 数据包

客户端和代理之间的流量;读取 SSL 数据包

如果公司网络有代理服务器,并且客户端配置为使用它,那么您可以在网络流量通过代理之前读取加密的网络流量吗?您可以使代理之前的流量不加密吗?我确信您不能,因为流量在客户端的 TCP 堆栈中加密。

情况如下。客户端正在访问文件共享站点。我已经使用 bro 日志和 pcaps 捕获了流量。我能从 SSL 流量中得到什么吗?我可以使用代理来缓冲加密并允许读取客户端的流量吗?

答案1

不可以,如果代理配置为普通 Web 代理,则您无法读取代理处的流量。

如果您将其设为具有中间人 TLS 拦截的透明代理,则可以读取流量。

每当协商 TLS 连接时,客户端都会检查远程服务器提供的证书是否与域名匹配,并且使用服务器的私钥对响应进行正确签名,该私钥也与证书匹配。

这确保客户端连接到正确的服务器,而不是任何错误的实体。这是确保双方之间通信安全的一个重要点。

现在,可以设置一个代理来拦截此握手。但是,为了使其正常工作,必须将代理的证书添加到客户端的受信任证书存储中,以便客户端相信该代理的证书对所有域都有效。

总之,您需要将代理证书安装到每个使用代理的客户端,以便监控 TLS 流量。

其中一种实现方式是:https://wiki.squid-cache.org/Features/SslPeekAndSplice

关于您关于捕获的第二个问题。解密捕获的答案是否定的。实际的 TLS 有效负载是使用加密算法加密的,使用当前的技术,如果不知道用于加密的密钥,就不可能对其进行解密。

相关内容