团队,我在笔记本电脑上运行 kubectl 并捕获了相同的 Wireshark 跟踪。如何解密访问 api 服务器的流量?
例如:我们使用 Web 服务器的私钥解密 http 调用。在 k8s 世界中,我将如何解密对集群的调用?对此很陌生,所以需要了解。
团队,我在笔记本电脑上运行 kubectl 并捕获了相同的 Wireshark 跟踪。如何解密访问 api 服务器的流量?
例如:我们使用 Web 服务器的私钥解密 http 调用。在 k8s 世界中,我将如何解密对集群的调用?对此很陌生,所以需要了解。
流量本身和(api)服务器密钥是不够的。当前的 TLS 实现使用前向保密,因此您也需要会话密钥。可以将浏览器配置为记录会话密钥(您可以将其输入到 wireshark),但我不知道 kubectl 是否可以配置一些调试选项来做到这一点。可能不是。
另一种选择是中间人“攻击”,它将以向前保密的方式击败 TLS。我使用mitmproxy捕获 kubectl 流量。您需要使用 kubernetes CA 进行设置,因此生成的证书就 kubectl 而言是有效的。
当然,所有这些都是为了培训的教育目的;-)