2. 云原生安全基础概念
云原生安全并非单一技术,而是由多个安全域构成的纵深防御体系。本章聚焦四个核心基础概念:容器安全、微服务安全、服务网格安全与不可变基础设施。理解这些概念是后续执行运行基线核验与资源边界清单化验收的前提。
2.1 容器安全
容器安全覆盖从镜像构建到运行时的全生命周期。其核心原则是“最小权限”与“不可变镜像”。
| 安全阶段 | 关键控制点 | 常见风险 |
|---|---|---|
| 镜像构建 | 基础镜像扫描、依赖漏洞检测、最小化层 | 基础镜像含已知漏洞、未清理的构建缓存 |
| 镜像仓库 | 签名验证、访问控制、不可变标签 | 镜像被篡改、未授权拉取 |
| 容器运行时 | Seccomp/AppArmor 配置、只读根文件系统、非 root 用户 | 容器逃逸、权限提升、恶意进程执行 |
| 网络与存储 | 网络策略隔离、临时卷、加密通信 | 东西向流量未加密、敏感数据持久化 |
基线核验要点: 在交付前验收中,需确认所有运行容器均使用经过签名的镜像,且未以 privileged 模式运行。这是资源边界清单中“容器运行时状态”项的必检内容。
2.2 微服务安全
微服务架构将单体应用拆分为多个独立服务,安全边界从应用外围下沉至服务间通信。微服务安全的核心模型是“零信任”架构在服务层的落地。
- 服务身份与认证: 每个服务应有唯一身份(如 SPIFFE ID),使用 mTLS 进行双向认证。
- 服务授权: 基于属性的访问控制(ABAC)或基于角色的访问控制(RBAC),细粒度到 API 方法级别。
- API 网关安全: 限流、鉴权、输入校验、敏感数据脱敏。
- 服务间通信加密: 所有内部流量默认使用 TLS 加密,禁止明文 HTTP 调用。
常见误区: 仅依赖 API 网关做安全防护,忽略服务间直接调用的安全控制。在资源边界清单中,必须明确标注哪些服务间通信已启用 mTLS,哪些仍为明文。
2.3 服务网格安全
服务网格(如 Istio、Linkerd)将安全能力从应用代码中剥离,下沉至基础设施层。通过 Sidecar 代理实现透明的流量加密、身份认证与策略执行。
核验清单项: 服务网格的 mTLS 模式(STRICT / PERMISSIVE)、全局策略是否启用、Sidecar 注入范围。这些是资源边界清单中“服务间通信安全”维度的核心指标。
2.4 不可变基础设施
不可变基础设施(Immutable Infrastructure)强调运行实例一旦部署,绝不进行原地修改。任何变更都通过替换整个实例完成,从而消除配置漂移与“雪花服务器”。
| 特性 | 传统可变基础设施 | 不可变基础设施 |
|---|---|---|
| 更新方式 | SSH 登录、打补丁、修改配置 | 重建镜像、滚动替换实例 |
| 状态管理 | 本地持久化状态,难以复现 | 状态外置(数据库/对象存储),实例无状态 |
| 安全优势 | 补丁滞后、配置漂移、后门残留 | 镜像一致性、快速回滚、攻击面最小化 |
| 交付验收重点 | 检查每台服务器的补丁版本 | 检查镜像版本与部署模板的一致性 |
清单化验收提示: 在资源边界清单中,不可变基础设施的核验项包括:镜像版本是否锁定、实例是否配置了只读根文件系统、是否存在持久化本地存储、是否禁止了 SSH 访问。任何违反不可变原则的配置都应标记为“不合规”。