2. 云原生安全基线概述:CIS Benchmark、NIST SP 800-190、Kubernetes Pod安全标准(PSA/PSS)核心要求

在云原生环境中,安全基线是保障集群与工作负载安全的最低配置标准。本章聚焦三大权威基线框架:CIS Kubernetes Benchmark、NIST SP 800-190 以及 Kubernetes Pod Security Standards (PSA/PSS)。理解这三者的定位、覆盖范围与核心要求,是后续进行冷启动性能测试与链路调优的前提。

学习提示: 安全基线并非一次性配置,而是需要与CI/CD流水线、策略引擎(如OPA/Gatekeeper)集成,实现持续合规。本章内容将直接服务于后续章节中“安全策略对Pod启动延迟”的量化分析。

2.1 三大基线框架定位与对比

下表从制定机构、核心目标、覆盖层次和典型应用场景四个维度,对三大基线进行横向对比:

维度 CIS Kubernetes Benchmark NIST SP 800-190 Kubernetes PSA / PSS
制定机构 Center for Internet Security (CIS) National Institute of Standards and Technology (NIST) Kubernetes SIG Security / CNCF
核心目标 提供可审计的、可自动化的安全配置检查项 定义容器化应用全生命周期的安全架构与指导原则 定义Pod级别的安全上下文约束策略
覆盖层次 控制面节点、工作节点、etcd、RBAC、API Server 镜像构建、注册表、编排、容器运行时、主机OS Pod SecurityContext、Capabilities、Seccomp、AppArmor
典型应用 安全合规审计、渗透测试前加固 企业安全架构设计、风险分析框架 命名空间级强制策略、准入控制器拦截
关键理解: CIS Benchmark 是“检查清单”,NIST SP 800-190 是“架构指南”,PSA/PSS 是“执行策略”。三者互补,共同构成云原生安全基线的完整视图。

2.2 CIS Kubernetes Benchmark 核心要求

CIS Benchmark 是目前业界最广泛采用的 Kubernetes 安全配置标准。其 v1.24+ 版本包含超过 100 项检查,按组件分为以下主要章节:

  • 控制面组件(Master Node): API Server 匿名请求禁用、TLS 证书轮换、审计日志启用、RBAC 最小权限。
  • 工作节点(Worker Node): kubelet 匿名访问关闭、Pod 安全策略绑定、节点身份认证。
  • etcd: 客户端证书认证、数据加密存储、自动备份。
  • RBAC 与策略: 避免使用 cluster-admin 绑定、限制 Secret 访问、ServiceAccount 自动挂载控制。
  • Pod 安全: 禁止特权容器、限制 hostPath 挂载、设置只读根文件系统。
性能影响提示: 部分 CIS 检查项(如审计日志全量记录、Seccomp 默认配置)会引入额外的 CPU 和 I/O 开销。在后续冷启动测试章节中,我们将量化这些基线项对 Pod 启动延迟的具体影响。

2.3 NIST SP 800-190 核心要求

NIST SP 800-190 提供了容器化应用的安全架构指导,其核心要求可归纳为以下五个关键领域:

  1. 镜像安全: 使用最小基础镜像、定期漏洞扫描、镜像签名验证(如 Notary/Cosign)。
  2. 注册表安全: 私有注册表访问控制、镜像拉取策略(ImagePullPolicy)、传输加密。
  3. 编排安全: 网络策略隔离、Secret 管理、Pod 安全上下文、资源配额限制。
  4. 容器运行时安全: 运行时隔离(gVisor/Kata Containers)、Seccomp 策略、Capabilities 裁剪。
  5. 主机 OS 安全: 内核加固、文件系统只读挂载、主机入侵检测。

下图展示了 NIST SP 800-190 的五大安全域及其在容器生命周期中的位置:

NIST SP 800-190 五大安全域架构图 NIST SP 800-190 容器安全架构 容器编排安全 ① 镜像安全 ② 注册表安全 ④ 容器运行时安全 ⑤ 主机 OS 安全 五大安全域覆盖容器从构建、分发、部署到运行的全生命周期

2.4 Kubernetes Pod 安全标准(PSA / PSS)

Pod Security Standards (PSS) 定义了三种策略等级,由 Pod Security Admission (PSA) 控制器在命名空间级别强制执行。这是 Kubernetes 原生提供的、取代旧版 PSP 的 Pod 安全机制。

策略等级 安全强度 核心限制 典型适用场景
Privileged 低 无限制,允许特权容器、hostNetwork、hostPID 等 系统级组件(如 CNI 插件、监控 Agent)
Baseline 中 禁止特权容器、禁止 hostPID/IPC、限制 Capabilities(仅允许 NET_BIND_SERVICE) 大多数通用工作负载
Restricted 高 强制只读根文件系统、禁止 ALL Capabilities、强制 Seccomp=RuntimeDefault、限制用户组非 root 高安全敏感应用(金融、医疗)
实践要点: 在命名空间上通过标签 pod-security.kubernetes.io/enforce=restricted 启用强制策略。对于无法满足 Restricted 的遗留应用,可使用 audit 或 warn 模式逐步过渡。

下图展示了 PSA 控制器在 Pod 创建流程中的拦截逻辑:

PSA 控制器 Pod 创建拦截流程 PSA 控制器 Pod 创建准入流程 用户提交 Pod YAML API Server 接收 PSA 准入控制器 命名空间策略匹配 允许 / 拒绝 PSA 在 Pod 创建时即完成策略评估,避免不合规 Pod 进入调度队列

2.5 基线选择与性能权衡

在实际项目中,安全基线的选择需要平衡安全强度与性能开销。以下为常见权衡场景:

  • CIS 审计日志全量开启: 增加 API Server 磁盘 I/O 和 CPU 消耗,建议对关键操作(如 Secret 读取、RBAC 变更)启用采样。
  • Restricted 策略下的 Seccomp: 增加系统调用过滤开销,对高并发 I/O 密集型应用(如 Nginx)可能引入 3%-8% 的延迟。
  • 镜像签名验证: 在冷启动时增加镜像拉取前的验证时间,建议使用缓存机制减少重复验证。