【问题标题】:Decrypting kubernetes master api calls解密 kubernetes master api 调用
【发布时间】:2018-11-15 20:05:41
【问题描述】:

团队, 我从我的笔记本电脑上运行 kubectl 并捕获了相同的 Wireshark 跟踪。如何解密访问 api 服务器的流量?

ex:我们使用 Web 服务器的私钥解密 http 调用。在 k8s 世界中,我将如何解密对集群的调用?对此很陌生,所以需要了解。

【问题讨论】:

  • 您是创建集群还是持有创建集群的密钥?

标签: kubernetes kubernetes-security


【解决方案1】:

流量本身和(api)服务器密钥是不够的。当前的 TLS 实现使用forward secrecy,因此您还需要会话密钥。可以将浏览器配置为记录会话密钥(您可以将其输入到 wireshark),但我不知道 kubectl 是否可以配置一些调试选项来做到这一点。应该不会吧。

另一种方法是man in the middle "attack",它将通过前向保密来击败 TLS。我使用 mitmproxy 捕获 kubectl 流量。您需要使用 kubernetes CA 进行设置,因此生成的证书就 kubectl 而言是有效的。

当然,都是为了培训的教育目的;-)

【讨论】:

  • 那么,如果我使用 k8s CA,我可以在 mitmproxy 上看到实时流量吗?但是如何将 kubectl 调用重定向到 mitmproxy 以便我可以看到流量?
猜你喜欢
  • 2015-01-09
  • 1970-01-01
  • 2019-08-22
  • 1970-01-01
  • 1970-01-01
  • 2016-10-09
  • 1970-01-01
  • 2020-02-20
  • 1970-01-01
相关资源
最近更新 更多