我想知道安全专家是如何考虑如何确保集装箱运输安全的。让我们以一个简单的K8S集群为例。
我想我们都同意在每个容器中运行HTTPS而不是HTTP更安全。通常情况下,我会在internal上配置一个TLS,然后路由到内部容器也会配置TLS。
现代的混合解决方案通常安装代理侧-让我们以Linkerd2为具体例子。入口将升级到TLS的所有传入流量,然后它将使用Linkerd的TLS将流量转发到sidecar代理。所有传输到这里的东西都是TLS并且安全了。我想知道,既然安全的交通“已经到达”货舱,集装箱是否也应该使用TLS,或者是否足够安全地与没有TLS的侧车通信?我想听听集装箱和侧面之间的安全问题。是否应将侧车视为独立的容器,因此与容器的通信也应受到TLS保护?
发布于 2020-12-22 22:20:08
在您希望对Kubernetes集群具有高度安全性的环境中,应用零信任网络的原则现在已经司空见惯了。对于Kubernetes集群中的网络,这通常意味着:
前两点现在通常是通过服务网格产品来解决的,比如林克、伊斯蒂奥和云提供商提供了像AWS应用网格这样的托管解决方案。这些产品以TLS的形式在每个Pod之间应用加密,但也使用客户端证书和交互式TLS、mTLS进行自动身份验证。Service通常有一个控制平面部件,负责例如自动化证书的旋转。
第三点通常是使用Kubernetes网络政策来获得动态的,但是对每个应用程序实例(Pod)都应用了粒度防火墙规则,即使它可以动态地调度到集群中的不同节点。这些策略通常在更高级别上声明,例如使用Pod标签而不是硬编码IP地址。
我想知道,既然安全的交通“已经到达”货舱,集装箱是否也应该使用TLS,或者是否足够安全地与没有TLS的侧车通信?我想听听集装箱和侧面之间的安全问题。是否应将侧车视为独立的容器,因此与容器的通信也应受到TLS保护?
豆荚是Kubernetes中的调度单元,它们是紧密耦合的容器--总是安排在一起。Pod中的容器共享一些资源,如linux名称空间、文件系统卷和cgroup:
Pod的共享上下文是一组Linux名称空间、cgroup以及可能存在的其他隔离方面。
此外,Pod中的容器共享网络标识、IP地址,并使用本地主机在Pod中进行通信。我会考虑Pod内部的信任,但是您应该使用粒度Kubernetes网络政策来锁定,例如Pod可以接收哪些端口,以及从什么Pods接收流量。
https://serverfault.com/questions/1047254
复制相似问题