2. Kubernetes安全基线概述

在跨集群安全基线规则同步与一致性校验之前,必须首先理解业界公认的Kubernetes安全基线标准。本章聚焦三大核心参考框架:CIS Kubernetes Benchmark、NSA/CISA Kubernetes加固指南以及Pod安全标准(PSA)。这三者构成了云原生安全基线的“铁三角”,分别从合规检查、威胁缓解和运行时准入三个维度定义了集群的安全基线。

核心观点: 跨集群规则同步的本质是将这三类基线中的可执行规则(如审计策略、Pod安全上下文、RBAC配置)转化为统一的策略语言,再分发到多个集群。理解基线之间的差异与重叠,是设计同步策略的前提。

2.1 CIS Kubernetes Benchmark

CIS(Center for Internet Security)Kubernetes Benchmark 是目前业界最广泛采用的合规性检查标准。它针对Kubernetes控制平面组件、工作节点、etcd、RBAC、Pod安全等提供了具体的配置检查项。每个检查项都有明确的评分(Scored/Not Scored)和自动化评估脚本。

检查类别 典型检查项示例 风险等级
控制平面配置 API Server 匿名认证是否禁用;--authorization-mode 是否包含 Node 和 RBAC 高
etcd 配置 etcd 是否启用 TLS 双向认证;是否设置 --peer-auto-tls=false 高
工作节点配置 kubelet 是否启用身份认证;是否设置 --read-only-port=0 中
RBAC 与服务账户 是否避免创建集群管理员绑定的服务账户;是否限制 Secret 的 get 权限 高
Pod 安全标准 Pod 是否设置 SecurityContext;是否禁止 privileged 容器 中
跨集群同步要点: CIS Benchmark 的检查项通常以 kube-bench 工具输出为 JSON 格式。在跨集群场景中,需要将 CIS 规则映射为 OPA/Gatekeeper 约束模板 或 Kyverno 集群策略,从而实现持续合规校验。

2.2 NSA/CISA Kubernetes加固指南

美国国家安全局(NSA)与网络安全和基础设施安全局(CISA)联合发布的《Kubernetes加固指南》侧重于威胁模型驱动的安全配置。与CIS Benchmark的“检查清单”风格不同,NSA/CISA指南更强调纵深防御和攻击面缩减。其核心建议包括:

  • 最小化组件暴露: 禁用不必要的 API Server 特性门控(Feature Gates);限制 kubelet 的 --node-status-update-frequency。
  • 网络分段与加密: 强制使用网络策略(NetworkPolicy)隔离工作负载;所有组件间通信必须使用 TLS 1.2+。
  • Pod 安全上下文强化: 禁止特权容器;设置 readOnlyRootFilesystem;使用 seccomp 和 AppArmor 配置文件。
  • 审计日志与监控: 启用 API Server 审计日志,并配置保留策略;监控异常 API 调用模式。
注意: NSA/CISA 指南中的部分建议(如“禁用所有非必要特性门控”)在跨集群环境中可能影响功能一致性。同步规则时,需要根据集群角色(生产/开发/边缘)进行差异化策略绑定,而非一刀切。

2.3 Pod安全标准(PSA)

Pod安全标准(Pod Security Standards, PSA)是Kubernetes原生提供的准入控制机制,用于定义Pod在安全上下文方面的合规边界。PSA定义了三个等级:

等级 策略名称 核心限制 适用场景
Privileged 不受限制 允许所有权限,包括特权容器、hostNetwork、hostPID等 系统组件、监控代理、网络插件
Baseline 最小限制 禁止特权容器;禁止 hostPID/hostIPC;限制 SELinux 类型 大多数通用工作负载
Restricted 严格限制 强制只读根文件系统;禁止 allowPrivilegeEscalation;限制 capabilities 高安全敏感应用、金融/医疗工作负载

PSA 通过 PodSecurity 准入控制器 或 PodSecurityConfiguration 在命名空间级别实施。在跨集群场景中,PSA 的同步通常涉及:

  • 将 PSA 等级映射为命名空间标签(如 pod-security.kubernetes.io/enforce=restricted)。
  • 使用 GitOps 工具(如 ArgoCD)将标签同步到所有集群。
  • 结合 OPA/Gatekeeper 实现更细粒度的 Pod 安全上下文校验。

2.4 三大基线的关系与对比

下图展示了 CIS Benchmark、NSA/CISA 指南和 PSA 在 Kubernetes 安全基线中的定位与协作关系:

Kubernetes安全基线三大框架关系图 Kubernetes安全基线三大框架协作关系 CIS Kubernetes Benchmark 合规检查清单 NSA/CISA Kubernetes加固指南 威胁模型与纵深防御 Pod安全标准 (PSA) 运行时准入控制 跨集群规则同步的输入来源 CIS提供检查项 → NSA/CISA提供威胁缓解策略 → PSA提供运行时准入边界 三者共同构成可执行的策略规则集 统一策略引擎 OPA/Gatekeeper / Kyverno / 自定义准入控制器

2.5 基线选择与同步策略建议

在实际跨集群场景中,建议按以下优先级组合使用三大基线:

  1. 强制层(PSA): 所有集群必须启用 PodSecurity 准入控制器,至少设置为 Baseline 等级。生产命名空间强制 Restricted。
  2. 合规层(CIS): 使用 kube-bench 定期扫描,将评分低于 90% 的检查项自动生成 Gatekeeper 约束。
  3. 加固层(NSA/CISA): 针对高风险集群(如面向公网的生产集群),额外启用 seccomp 默认配置文件、网络策略白名单、审计日志告警规则。
实践提示: 在跨集群规则同步中,建议将 PSA 等级作为命名空间标签同步(使用 GitOps),将 CIS 检查项转化为 OPA 规则存储在 ConfigMap 中,将 NSA/CISA 加固建议封装为 Helm Chart 的 values 默认值。这样既能保证一致性,又能保留集群级别的灵活性。