【问题标题】:why is needed ssl between kubernetes pods?为什么 kubernetes pod 之间需要 ssl?
【发布时间】:2020-12-23 19:52:47
【问题描述】:

如果我在同一个网络中部署了一个 kubertenes 集群,在我的组织内部,并设置了防火墙规则和控制访问权限,那么加密 pod 之间的通信的原因是什么?

我正在讨论实施 TLS Side car 模式,我真的很想知道是否有必要,到目前为止唯一的论点是避免我组织内的恶意人员试图进行嗅探。

能否帮我找出有效的业务场景是什么?

【问题讨论】:

  • 我们为我们的几个客户端启用了 mTLS,因为它们符合 PCI 标准,并且根据法律,它们必须加密集群内的所有通信。因此,有时这是业务需求,而不是安全决策。

标签: ssl kubernetes sidecar


【解决方案1】:

这是纵深防御策略的一部分。如果您的一个 pod 遭到入侵,则通过读取流量来利用它会变得更加困难。它可能会受到内部人员或外部攻击者的破坏。

读取访问令牌可能用于重放攻击。

这是否“必要”可能取决于您的要求。它可能不会立即为您带来商业利益。但是,“仅”读取数据可能已经构成严重的安全漏洞。

话虽如此,使用像 Istio 这样的服务网格,在服务之间实现双向 TLS 相对容易。

此外,Istio 提供了更多的安全功能,而不仅仅是加密 pod 之间的通信。它还使用身份的概念,并可以在服务级别而不是 IP 地址(可能难以管理)上指定授权规则。

除了安全优势之外,Istio 还可以提供其他功能,例如高级流量管理或可以将常见的横切关注点(例如指标、跟踪、CORS 策略、JWT 验证)转移到网格中的功能。

这些可能会为应用程序开发人员和维护人员提供更切实的好处(与安全性相比,安全性可能只有在受到损害时才有意义......)

【讨论】:

  • 我知道 Red Hat 的 Istio 和 Service Mesh,它真的很酷,有很多功能可以将开发人员的职责分离开来,但是!当有人问我们在安全方面解决什么问题时,我只想得到一个具体的答案。抱歉,但说“我们正在防止坏人做坏事”对我来说听起来太模棱两可了
  • 我已经更新了答案。好吧,如果它是机密数据,那么仅仅读取未经授权的流量本身就已经是一个严重的安全漏洞......
【解决方案2】:

从不假定网络层是值得信赖的。您如何知道连接到您网络的计算机和手机上安装了什么?它可能是间谍软件嗅探网络流量。对于嗅探网络流量的间谍软件,它不需要安装在通信的计算机上,它可以(在一些常见的网络拓扑中)安装在连接到同一组织的 WiFi 的手机上。

【讨论】:

    猜你喜欢
    • 2020-06-16
    • 2020-03-01
    • 1970-01-01
    • 2022-12-21
    • 2021-01-26
    • 1970-01-01
    • 1970-01-01
    • 2018-07-31
    • 2012-12-03
    相关资源
    最近更新 更多