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 提供了容器化应用的安全架构指导,其核心要求可归纳为以下五个关键领域:
- 镜像安全: 使用最小基础镜像、定期漏洞扫描、镜像签名验证(如 Notary/Cosign)。
- 注册表安全: 私有注册表访问控制、镜像拉取策略(ImagePullPolicy)、传输加密。
- 编排安全: 网络策略隔离、Secret 管理、Pod 安全上下文、资源配额限制。
- 容器运行时安全: 运行时隔离(gVisor/Kata Containers)、Seccomp 策略、Capabilities 裁剪。
- 主机 OS 安全: 内核加固、文件系统只读挂载、主机入侵检测。
下图展示了 NIST SP 800-190 的五大安全域及其在容器生命周期中的位置:
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 创建流程中的拦截逻辑:
2.5 基线选择与性能权衡
在实际项目中,安全基线的选择需要平衡安全强度与性能开销。以下为常见权衡场景:
- CIS 审计日志全量开启: 增加 API Server 磁盘 I/O 和 CPU 消耗,建议对关键操作(如 Secret 读取、RBAC 变更)启用采样。
- Restricted 策略下的 Seccomp: 增加系统调用过滤开销,对高并发 I/O 密集型应用(如 Nginx)可能引入 3%-8% 的延迟。
- 镜像签名验证: 在冷启动时增加镜像拉取前的验证时间,建议使用缓存机制减少重复验证。