1. 课程导论:容器安全挑战、镜像安全基线概念、OPA Gatekeeper 简介、课程目标与学习路径
1.1 容器化环境下的安全挑战
容器技术通过共享宿主机内核、分层镜像与快速编排,显著提升了应用交付效率,但也引入了传统虚拟机时代不突出的安全风险。以下表格归纳了容器生命周期中四个主要阶段的安全挑战:
| 阶段 | 典型风险 | 影响面 |
|---|---|---|
| 镜像构建 | 基础镜像含已知 CVE、未清理的构建缓存、硬编码密钥 | 漏洞向下游传递,攻击面扩大 |
| 镜像仓库 | 镜像签名缺失、仓库访问控制薄弱、镜像被篡改 | 供应链投毒、非预期镜像上线 |
| 容器运行时 | 特权容器、非只读根文件系统、容器逃逸 | 宿主机沦陷、横向移动 |
| 编排管理 | RBAC 配置不当、Pod 安全策略缺失、网络策略未隔离 | 权限滥用、数据泄露 |
关键洞察: 镜像安全是容器安全链的“上游关口”。一个包含高危漏洞或恶意文件的基础镜像,会在 CI/CD 流水线中自动传播到数百个运行实例,修复成本呈指数级上升。
1.2 镜像安全基线概念
镜像安全基线是一组可量化、可验证的合规要求,用于定义“一个可接受的容器镜像”必须满足的最低安全条件。它覆盖镜像内容、配置与构建过程三个维度:
- 内容基线: 无已知严重/高危 CVE、无恶意软件、无明文密钥或证书。
- 配置基线: 禁止 root 用户运行、禁止特权提升、只读根文件系统、非必需端口不暴露。
- 构建基线: 使用官方或受信基础镜像、多阶段构建、构建过程无敏感信息残留。
业界常见的基线参考包括 CIS Docker Benchmark、NSA/CISA Kubernetes Hardening Guide 以及 NIST SP 800-190。本课程将把这些标准转化为可编程的策略规则。
实践建议: 基线不是静态文档。建议团队将基线版本化(如 Git 管理),并与镜像扫描结果、运行时审计日志联动,形成持续改进的闭环。
1.3 OPA Gatekeeper 简介
OPA(Open Policy Agent)是一个开源的、通用策略引擎,将策略从具体服务中解耦。Gatekeeper 是 OPA 在 Kubernetes 上的集成实现,作为 准入控制器(Admission Controller) 运行,在资源创建或更新时拦截请求并执行策略。
Gatekeeper 的核心组件与工作流程如下:
- ConstraintTemplate: 定义策略逻辑(使用 Rego 语言),描述“什么样的资源是合规的”。
- Constraint: 实例化模板,绑定到特定资源类型或命名空间,并设置参数(如允许的镜像仓库列表)。
- 准入 Webhook: Kubernetes API Server 在持久化资源前调用 Gatekeeper,根据 Constraint 判定允许或拒绝。
- 审计(Audit): 对已有资源进行周期性扫描,标记违反策略的对象。
为什么选择 Gatekeeper? 相比 Kubernetes 原生的 PodSecurityPolicy(已弃用)或手动脚本检查,Gatekeeper 提供声明式策略、CRD 扩展、审计能力,且策略与集群组件解耦,适合大规模多团队环境。
1.4 课程目标与学习路径
本课程旨在帮助学员掌握从镜像安全基线定义到 Gatekeeper 策略落地的完整技能链。完成课程后,学员将能够:
- 独立制定符合 CIS/NIST 标准的容器镜像安全基线。
- 使用 Rego 语言编写 Gatekeeper ConstraintTemplate,对镜像来源、漏洞等级、运行时配置进行准入控制。
- 在 CI/CD 流水线中集成镜像扫描与策略校验,实现“不安全镜像不上线”。
- 通过 Gatekeeper 审计功能持续监控集群中已有资源的合规状态。
课程分为四个模块,学习路径如下表所示:
| 模块 | 章节范围 | 核心产出 |
|---|---|---|
| 基础篇 | 第 1-5 章 | 理解镜像安全基线、OPA 与 Gatekeeper 架构、Rego 语法基础 |
| 策略开发篇 | 第 6-15 章 | 编写镜像来源、漏洞、配置、运行时等 10+ 条策略 |
| 集成与自动化篇 | 第 16-24 章 | 对接 Harbor/Trivy、CI/CD 流水线、审计与告警 |
| 实战与运维篇 | 第 25-30 章 | 多集群策略管理、性能调优、故障排查与案例复盘 |
前置要求: 学员需具备基本的 Kubernetes 操作经验(kubectl、Pod、Deployment 概念),了解 Dockerfile 编写。无需提前掌握 OPA 或 Rego,课程将从零开始讲解。