1. 云原生安全概述:挑战、零信任与基线核验
云原生架构通过容器、服务网格、声明式 API 和不可变基础设施,大幅提升了应用的交付速度与弹性。然而,这种动态、短生命周期、高度分布的特征也打破了传统基于边界的安全模型,带来了全新的安全挑战。本章从三大核心维度切入,为后续的基线核验与 Envoy 协同调优奠定理论基础。
1.1 云原生安全挑战
传统安全模型依赖物理网络边界(防火墙、VPN),而云原生环境具有以下根本性变化:
| 挑战维度 | 传统环境 | 云原生环境 | 安全风险 |
|---|---|---|---|
| 基础设施 | 物理服务器、固定 IP | 容器、Pod、动态调度 | 资产发现困难,攻击面随 Pod 漂移 |
| 网络模型 | 南北向流量为主 | 东西向流量密集,Sidecar 代理 | 东西向流量不可见,横向移动风险高 |
| 身份边界 | IP + 端口 | 服务身份、工作负载标识 | IP 不可信,需 SPIFFE 等身份体系 |
| 配置粒度 | 静态 ACL、防火墙规则 | 声明式策略、CRD、动态路由 | 配置错误导致权限扩散 |
| 生命周期 | 月/年级别 | 秒/分钟级扩缩容 | 安全策略无法实时跟随 |
核心痛点: 传统“先连接、后认证”的模式在云原生中失效。攻击者一旦突破边界,即可在集群内部无阻碍横向移动。Kubernetes 集群 72% 的安全事件源于内部配置不当与东西向流量失控。
1.2 零信任模型:从“隐式信任”到“持续验证”
零信任(Zero Trust)是应对云原生安全挑战的核心架构思想。其基本原则是“永不信任,始终验证”,不再区分内网与外网,对每一次请求都进行身份认证、授权和加密。
在云原生语境下,零信任落地需要三个关键能力:
- 工作负载身份化: 为每个 Pod/Service 颁发不可伪造的身份证书(如 SPIFFE X.509 SVID)。
- 全链路 mTLS: 服务间通信强制双向 TLS,确保传输机密性与身份可信。
- 细粒度授权策略: 基于身份、属性、请求上下文的动态访问控制,而非静态 IP 白名单。
Envoy 在零信任中的角色: 作为 Sidecar 代理,Envoy 天然承担了身份验证、mTLS 终止、动态授权决策的执行点(PEP)。它通过 SDS(Secret Discovery Service)获取证书,通过 RBAC 过滤器执行授权,是零信任策略在数据面的关键载体。
1.3 安全基线核验的必要性
安全基线(Security Baseline)是一组最低限度的安全配置要求。在云原生环境中,基线核验不是一次性合规检查,而是持续性的防御机制。其必要性体现在以下三个层面:
- 配置漂移检测: Kubernetes 资源(Pod、Service、NetworkPolicy)频繁变更,基线核验可及时发现偏离安全策略的配置。
- 攻击面收敛: 通过基线强制约束容器运行时权限、网络暴露面、Seccomp/AppArmor 配置,减少潜在漏洞利用路径。
- 合规与审计: 满足 PCI-DSS、SOC2、等保 2.0 等合规要求,基线核验提供可量化的证据链。
1.4 基线核验与 Envoy 协同的切入点
Envoy 作为数据面代理,是执行安全基线的理想“策略执行点”。本课程后续章节将深入讲解如何通过资源模型(如 Kubernetes CRD)定义安全基线,并利用 Envoy 的以下能力实现协同调优:
| Envoy 能力 | 对应基线核验场景 | 协同价值 |
|---|---|---|
| RBAC 过滤器 | 服务间访问控制 | 基于身份的动态授权,替代静态 IP 规则 |
| External Authorization | 对接 OPA / 自定义策略引擎 | 解耦策略逻辑与数据面,支持热更新 |
| Rate Limit | API 滥用防护 | 防止 DDoS 与暴力破解 |
| Access Logging | 审计与合规证据 | 结构化日志,支持基线违规追溯 |
| SDS / mTLS | 工作负载身份与传输加密 | 零信任网络基础 |
常见误区: 基线核验不等于“一次性合规扫描”。在动态的 Kubernetes 环境中,基线必须作为持续部署流水线的一部分,与 Admission Controller(如 Kyverno、OPA Gatekeeper)和 Envoy 策略联动,才能有效防御配置漂移。