为了准备HIPAA合规性,我们正在转换我们的Kubernetes集群,以便在整个机群中使用安全端点(在所有pod之间).由于集群由目前使用HTTP连接的大约8-10个服务组成,因此由Kubernetes负责处理将非常有用.
我们想要解决的具体攻击向量是节点(物理服务器)之间的数据包嗅探.
这个问题分为两部分:
非常感谢!
这里的回复似乎已经过时了。截至 2021 年 4 月 28 日,至少以下组件似乎能够为 Kubernetes 提供加密的网络层:
(以上列表是通过查阅各项目主页获得的)
实际上正确的答案是“视情况而定”。我会将集群拆分为 2 个独立的网络。
1. 控制平面网络
该网络是物理网络或底层网络的网络。
k8s 控制平面元素——kube-apiserver、kube-controller-manager、kube-scheduler、kube-proxy、kubelet——以各种方式相互通信。除了少数端点(例如指标),可以在所有端点上配置加密。
如果您也在进行渗透测试,那么kubelet authn/authz 也应该打开。否则,加密不会阻止对 kubelet 的未授权访问。这个端点(在端口 10250)可以很容易地被劫持。
2.集群网络
集群网络是 Pod 使用的网络,也称为覆盖网络。加密留给第 3 方覆盖插件来实现,否则,应用程序必须实现。
Weave 覆盖层支持加密。@lukas-eichler 建议的服务网格链接器也可以实现这一点,但在不同的网络层上。
Kubernetes 是否默认对 Pod 和节点之间的流量进行加密?
Kubernetes 不加密任何流量。
有像linkerd这样的服务网格,可以让您轻松地在 http 服务之间引入 https 通信。
您将在每个节点上运行一个服务网格实例,所有服务都将与服务网格通信。服务网格内部的通信将被加密。
例子:
您的服务 -http-> localhost 到 servicemesh 节点 - https-> remoteNode -http-> localhost 到远程服务。
当您在与您的服务相同的 pod 中运行服务网格节点时,本地主机通信将在其他 pod 无法访问的私有虚拟网络设备上运行。
| 归档时间: |
|
| 查看次数: |
7897 次 |
| 最近记录: |