etcd 被广泛用于存储分布式系统或机器集群数据,其默认监听了 2379 等端口,如果 2379 端口暴露到公网,可能造成敏感信息泄露,本文我们主要讨论 Kubernetes 由于配置错误导致 etcd 未授权访问的情况。Kubernetes 默认使用了 etcd v3 来存储数据,如果我们能够控制 Kubernetes etcd 服务,也就拥有了整个集群的控制权。

在 Kubernetes 中用户可以通过配置 / etc/Kubernetes/manifests/etcd.yaml 更改 etcd pod 相关的配置,倘若管理员通过修改配置将 etcd 监听的 host 修改为 0.0.0.0,则通过 ectd 获取 Kubernetes 的认证鉴权 token 用于控制集群就是自然而然的思路了,方式如下:

首先读取用于访问 apiserver 的 token

图片

图片

利用 token 我们可以通过 apiserver 端口 6443 控制集群:

图片

最后编辑: kuteng  文档更新时间: 2022-06-01 16:23   作者:kuteng