技战法概述
Kubernetes(K8s)已成为企业云原生应用部署和编排的标准平台。然而,Kubernetes 集群的默认网络配置是完全扁平化的——集群内的所有 Pod 之间默认可以自由通信,没有任何网络隔离。这种默认配置意味着:一旦攻击者入侵集群中的任何一个 Pod,即可直接与集群内所有其他 Pod 进行通信,大幅降低了横向移动的难度。
Kubernetes NetworkPolicy 是 Kubernetes 原生的网络访问控制机制,通过定义 Pod 级别的入站(Ingress)和出站(Egress)规则,实现 Pod 之间的网络隔离。然而,在实际部署中,许多企业并未充分利用 NetworkPolicy 的能力,或者配置的策略过于粗放,无法有效限制 Pod 间的通信。
企业需要根据微服务架构的业务需求,制定精细化的 Kubernetes 网络策略,实现”默认拒绝、按需放行”的零信任网络隔离目标。
三阶段技战法
| 阶段 | 名称 | 关键目标 |
|---|---|---|
| 阶段一 | 集群网络通信梳理与分析 | 摸清集群内各服务之间的实际通信关系,为网络策略的制定提供依据 |
| 阶段二 | NetworkPolicy 策略设计与部署 | 基于通信关系和安全需求,设计并部署精细化的网络策略 |
| 阶段三 | 验证测试与持续维护 | 验证网络策略的正确性,建立策略的持续维护机制 |
默认扁平网络的风险
| 风险 | 说明 |
|---|---|
| 横向移动无阻 | 入侵一个 Pod 即可访问所有 Pod |
| 数据库暴露 | 数据库 Pod 可被任意 Pod 直连 |
| 命令控制扩散 | 攻击者可从被控 Pod 扫描全集群 |
| 无审计边界 | 无法追踪 Pod 间通信来源 |
| 东西向流量失控 | 仅依赖南北向防火墙远远不够 |