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