我们知道 mTLS 解决的主要问题是禁止未授权的访问,但是在单个 Kubernetes 集群内部,“禁止未授权”访问看起来是个伪命题?原因如下:
只允许在集群内部访问的服务,能够访问到它的只有两种可能:一是集群内的其它服务;二是黑客入侵了主机,在主机上直接访问。第一种情况就是正常的东西流量;第二种情况,如果主机被入侵,那 TLS 管理中心也很可能被入侵,客户端证书会丢失,此时 mTLS 也没有起到它应有的作用呀。
还是说有别的安全场景我没有考虑到的?
1
swulling 2022-10-30 10:28:05 +08:00 via iPhone
集群内两个作用:
加密,避免被中间人窃听。 认证,避免未授权的 node 连上 master 。 这两个作用的理论前提是零信任网络,也就是说除了 k8s 的节点之外的设备和链路都是不安全的,譬如交换机等。 其实有点烦,大部分分布式系统没这么复杂,简单的就是固定 token ,复杂点就搞一个一次性 bootstrap token 。很少有用 mTLS 的。 |
2
lambdaq 2022-10-30 10:39:35 +08:00
mTLS 就是一个号称 Zero Trust 的形象工程。什么是 零信?它和过去登录验证不同的最大的噱头就是一个 packet 一次认证
|
3
ryan4yin 2022-11-29 15:44:48 +08:00
搞零信任嘛,不过我这边都是关掉的,因为费钱,而且内网安全性的瓶颈目前不在 kubernetes ,就算要做安全优化也不应该从这里开始。
|