2. 镜像安全水位定义:什么是安全水位?镜像漏洞等级划分与可接受阈值
在集群升级前巡检中,“安全水位” 是一个核心决策基准。它并非指“零漏洞”,而是指在特定业务上下文与风险容忍度下,镜像中允许存在的最高漏洞风险等级与数量上限。安全水位帮助运维团队从海量 CVE 报告中快速判断:哪些镜像可以安全上线,哪些必须修复或阻断。
2.1 安全水位核心概念
安全水位由两个维度构成:
- 等级阈值:允许存在的最高漏洞等级(例如:允许 Medium,但阻断 High 及以上)。
- 数量阈值:在允许等级内,可接受的最大漏洞数量(例如:Medium 漏洞不超过 5 个)。
实践要点: 安全水位应随环境变化动态调整。生产环境通常比开发环境严格一个等级;互联网暴露服务比内网服务要求更严。
2.2 镜像漏洞等级划分标准(CVSS 3.1)
业界通用漏洞评分系统(CVSS 3.1)将漏洞严重程度划分为四个等级。下表列出了各等级的基础评分范围、典型特征及在集群安全巡检中的处理建议:
| 等级 | CVSS 评分范围 | 典型特征 | 安全水位建议 |
|---|---|---|---|
| Critical(严重) | 9.0 – 10.0 | 远程代码执行、无需认证即可完全控制容器 | 必须阻断,立即修复 |
| High(高危) | 7.0 – 8.9 | 权限提升、敏感数据泄露、拒绝服务 | 必须阻断,优先修复 |
| Medium(中危) | 4.0 – 6.9 | 需特定条件触发的信息泄露、跨站脚本 | 可接受(需数量限制) |
| Low(低危) | 0.1 – 3.9 | 本地信息收集、非关键配置问题 | 可接受,记录跟踪 |
注意: CVSS 评分仅反映漏洞的技术严重性,不直接代表业务风险。例如,一个 High 漏洞如果位于非网络暴露的 sidecar 容器中,其实际风险可能低于一个暴露在公网的 Medium 漏洞。安全水位应结合攻击路径分析进行微调。
2.3 可接受阈值设定原则
设定可接受阈值时,建议遵循以下步骤:
- 基线扫描:对现有运行中的镜像进行全量扫描,统计当前漏洞分布。
- 风险分级:根据业务重要性将集群分为 P0(核心生产)、P1(一般生产)、P2(开发测试)三个等级。
- 阈值映射:为每个等级设定不同的安全水位。典型参考值如下:
| 集群等级 | Critical 阈值 | High 阈值 | Medium 阈值 | Low 阈值 |
|---|---|---|---|---|
| P0(核心生产) | 0 | 0 | ≤ 3 | ≤ 10 |
| P1(一般生产) | 0 | ≤ 1(需审批) | ≤ 5 | ≤ 20 |
| P2(开发测试) | 0 | ≤ 3(需审批) | ≤ 10 | 无限制 |
关键原则: Critical 漏洞在任何环境中都建议设为 0 容忍。High 漏洞在非生产环境可酌情放宽,但必须经过人工审批并记录豁免原因。
2.4 安全水位与升级巡检的联动关系
在集群升级前,安全水位巡检的核心流程如下:
2.5 豁免机制与风险接受
实际运维中,完全阻断所有 High 以上漏洞可能影响升级进度。因此,安全水位体系必须包含豁免(Exception)机制:
- 临时豁免:针对已知但短期内无法修复的漏洞,设定有效期(如 7 天),到期后自动重新触发扫描。
- 永久豁免:仅适用于已被上游官方标记为“不会修复”或“不影响实际功能”的漏洞,需附上官方链接作为证据。
- 审批流程:所有豁免必须经过安全负责人与业务负责人双签,并记录在集群的审计日志中。
推荐工具: 使用 OPA(Open Policy Agent)或 Kyverno 在集群中实施安全水位策略。例如,编写一条 Kyverno 策略,拒绝所有包含 Critical 漏洞的镜像在 P0 集群中创建 Pod。
2.6 安全水位与 Sigstore 透明日志的关联
在后续章节中,我们将利用 Sigstore 的透明日志(Rekor)来记录镜像的安全水位扫描结果。每次扫描生成的“安全水位报告”将被签名并上传至 Rekor,形成不可篡改的审计链。这样,在集群升级时,运维人员可以快速验证:
- 该镜像在扫描时的安全水位是否达标。
- 扫描报告是否由受信任的扫描工具生成。
- 是否存在后续的豁免记录或重新扫描记录。
通过将安全水位与透明日志结合,升级巡检从“人工检查”升级为“可验证、可追溯的自动化流程”。