1. 云原生安全概述
1.1 云原生安全挑战
云原生架构在带来弹性、敏捷性和可移植性的同时,也引入了传统安全模型难以应对的新威胁面。核心挑战可归纳为以下四个维度:
| 挑战维度 | 具体表现 | 传统安全失效原因 |
|---|---|---|
| 基础设施动态性 | Pod 频繁创建/销毁、IP 地址不固定、节点弹性扩缩 | 基于固定 IP 和边界的防火墙策略无法生效 |
| 镜像供应链风险 | 基础镜像漏洞、恶意镜像注入、依赖库投毒 | 传统主机扫描无法覆盖容器镜像构建阶段 |
| 多租户隔离 | 共享内核、命名空间隔离不足、特权容器逃逸 | 虚拟机级别的强隔离假设在容器中不成立 |
| 配置与策略碎片化 | RBAC、NetworkPolicy、PodSecurityPolicy 分散管理 | 缺少统一策略引擎,人工审核易遗漏 |
关键洞察: 云原生安全的核心矛盾在于“动态工作负载”与“静态安全边界”之间的不匹配。传统基于网络边界的安全模型(城堡-护城河模型)在 Kubernetes 环境中基本失效。
1.2 安全基线概念
安全基线(Security Baseline)是指为保障系统最低安全要求而设定的一组最小化、可度量的配置规则集合。在云原生场景下,安全基线通常包含以下层次:
- 基础设施基线: 节点操作系统加固、容器运行时 seccomp/AppArmor 配置、etcd 加密。
- Kubernetes 集群基线: API Server 审计日志启用、RBAC 最小权限、Secret 加密存储。
- 工作负载基线: 禁止特权容器、只读根文件系统、禁止 hostNetwork/hostPID、资源限制。
- 镜像基线: 基础镜像版本锁定、非 root 用户运行、漏洞扫描通过阈值。
业界常见的基线参考框架包括 CIS Kubernetes Benchmark、NSA/CISA Kubernetes 加固指南 以及 NIST SP 800-190。这些框架为策略引擎(如 Kyverno)提供了规则编写的直接依据。
实践建议: 安全基线不是一次性产物。建议将基线规则版本化(如 baseline-v1.0、baseline-v1.1),并与 CI/CD 流水线集成,实现“构建时扫描、部署时拦截、运行时审计”的闭环。
1.3 Kubernetes 安全威胁模型
理解 Kubernetes 的威胁模型是设计策略架构的前提。以下从攻击者的视角,按攻击路径梳理主要威胁:
注意: 容器逃逸(Container Escape)是 Kubernetes 环境中风险最高的攻击类型之一。一旦攻击者突破容器隔离,即可获得节点操作系统权限,进而威胁整个集群。策略引擎应重点拦截
privileged: true、CAP_SYS_ADMIN、hostPID: true 等高危配置。
1.4 零信任安全原则
零信任(Zero Trust)的核心思想是“永不信任,始终验证”。在 Kubernetes 环境中,零信任原则的具体落地包括:
- 显式验证: 所有请求(无论来源)都必须经过身份认证、授权和策略校验。Kubernetes 的 Admission Controller 是实现显式验证的关键环节。
- 最小权限: 每个 ServiceAccount、Pod、用户只被授予完成其功能所需的最小权限。Kyverno 可以通过变异策略自动移除不必要的权限。
- 假设受损: 默认认为网络已被攻破,所有流量都应加密(mTLS),所有工作负载都应受到策略约束。
- 持续评估: 安全状态不是静态的。策略引擎需要持续审计集群状态,发现漂移(Drift)并触发告警或自动修复。
零信任在 Kubernetes 中的技术映射关系如下:
| 零信任原则 | Kubernetes 实现机制 | Kyverno 策略示例 |
|---|---|---|
| 显式验证 | Admission Webhook + OIDC | 验证所有 Pod 必须包含 app.kubernetes.io/name 标签 |
| 最小权限 | RBAC + Pod Security Standards | 拒绝 privileged: true,自动设置 runAsNonRoot: true |
| 假设受损 | NetworkPolicy + mTLS (Istio/Linkerd) | 强制所有命名空间启用默认拒绝 NetworkPolicy |
| 持续评估 | Kyverno Background Scan + Reports | 定期扫描集群中违反基线策略的资源并生成报告 |
架构启示: 零信任不是单一产品,而是一套设计原则。Kyverno 作为 Kubernetes 原生的策略引擎,天然适合作为零信任策略的“执行点”(Policy Enforcement Point),在资源创建、更新和运行阶段持续施加安全约束。