1. 集群穿透概述
1.1 定义集群穿透(Cluster Penetration)
集群穿透(Cluster Penetration)是指外部流量、数据请求或管理操作绕过 Kubernetes 集群的原生网络边界与安全策略,直接访问集群内部资源或控制面的行为。在标准架构中,Kubernetes 集群通过 NetworkPolicy、RBAC、API Server 认证授权 以及 Pod 安全策略 构建多层防御。穿透行为则打破了这些隔离层,使得非授权或非预期的访问路径得以建立。
核心特征: 穿透不是简单的网络连通,而是跨越集群信任边界的非授权或非受控访问,通常伴随身份伪造、策略绕过或隧道建立。
从技术实现角度看,集群穿透可归纳为以下三种模式:
| 穿透模式 | 描述 | 典型载体 |
|---|---|---|
| 网络层穿透 | 通过 NodePort、LoadBalancer、Ingress 暴露的服务被非预期访问,或利用 CNI 插件漏洞绕过网络策略 | NodePort 范围过大、Ingress 配置错误、HostNetwork Pod |
| 控制面穿透 | API Server 被外部直接访问,或 kubelet 端口暴露导致节点级控制 | 匿名请求、kubeconfig 泄露、kubelet 未认证端口 |
| 数据面穿透 | Sidecar 代理、Service Mesh 或存储卷被利用作为跳板进入集群内部 | Envoy 管理接口、CSI 驱动漏洞、共享卷挂载 |
1.2 常见穿透场景
集群穿透并非理论概念,在实际生产环境中频繁出现。以下三类场景是穿透事件的高发区:
1.2.1 CI/CD 流水线穿透
持续集成与持续部署(CI/CD)工具链需要与集群深度交互,通常通过 ServiceAccount 或 kubeconfig 进行认证。当 CI/CD 系统(如 Jenkins、GitLab CI、ArgoCD)的凭证泄露或配置不当,攻击者可利用流水线 Job 的 Pod 权限执行容器逃逸、创建特权容器或修改集群资源。
- 凭证泄露: kubeconfig 文件被提交到代码仓库,或 CI 变量中明文存储
- Job 提权: CI Runner Pod 挂载了高权限 ServiceAccount,被用于创建 DaemonSet 或 ClusterRole
- 镜像投毒: 恶意镜像通过 CI 流水线被部署到集群,建立反向隧道
1.2.2 监控与可观测性穿透
监控系统(Prometheus、Grafana、Datadog Agent)通常需要访问 kubelet 的 /metrics 端点、cAdvisor 接口以及 API Server 的 /api 路径。如果监控组件的网络策略过于宽松,或暴露了管理接口,外部攻击者可以:
- 通过 Prometheus 的 /api/v1/query 接口执行任意 PromQL 查询,泄露集群元数据
- 利用 Grafana 的数据源配置读取集群内部服务端点
- 通过 kubelet 的只读端口(10255)获取节点上所有 Pod 的列表与状态
1.2.3 运维管理穿透
运维人员通过 kubectl、Lens、K9s 等工具管理集群时,若管理通道未加密或认证强度不足,攻击者可实施中间人攻击或会话劫持。此外,运维跳板机(Bastion Host)本身也可能成为穿透入口:
- SSH 隧道转发: 运维人员通过 SSH 隧道将本地端口转发到集群内部,绕过网络策略
- kubectl proxy: 在本地启动 kubectl proxy 后未限制绑定地址,导致外部可访问
- Web UI 暴露: Kubernetes Dashboard 未配置认证或绑定到 0.0.0.0
实战建议: 在 CI/CD 场景中,优先使用 Workload Identity 或 TokenRequest API 替代静态 kubeconfig;监控组件应启用 mTLS 并限制 NetworkPolicy 仅允许与 API Server 通信。
1.3 穿透带来的安全风险
集群穿透一旦发生,其危害往往呈链式扩散。下表总结了穿透事件的主要风险维度:
| 风险类别 | 具体表现 | 影响等级 |
|---|---|---|
| 数据泄露 | ConfigMap、Secret、持久卷中的敏感数据被读取;数据库、消息队列等后端服务被直接访问 | 严重 |
| 权限提升 | 从低权限 Pod 逃逸到节点 root 权限,进而控制整个集群 | 严重 |
| 横向移动 | 攻击者以穿透点为跳板,扫描并攻击集群内其他服务、命名空间或节点 | 高 |
| 资源劫持 | 创建恶意 Pod 用于挖矿、DDoS 攻击或作为 C2 服务器 | 高 |
| 持久化驻留 | 通过 DaemonSet、CronJob、MutatingWebhook 等方式在集群中建立后门 | 严重 |
| 合规破坏 | 穿透行为导致集群不符合 SOC2、PCI-DSS、GDPR 等合规要求 | 中 |