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 可接受阈值设定原则

设定可接受阈值时,建议遵循以下步骤:

  1. 基线扫描:对现有运行中的镜像进行全量扫描,统计当前漏洞分布。
  2. 风险分级:根据业务重要性将集群分为 P0(核心生产)、P1(一般生产)、P2(开发测试)三个等级。
  3. 阈值映射:为每个等级设定不同的安全水位。典型参考值如下:
集群等级 Critical 阈值 High 阈值 Medium 阈值 Low 阈值
P0(核心生产) 0 0 ≤ 3 ≤ 10
P1(一般生产) 0 ≤ 1(需审批) ≤ 5 ≤ 20
P2(开发测试) 0 ≤ 3(需审批) ≤ 10 无限制
关键原则: Critical 漏洞在任何环境中都建议设为 0 容忍。High 漏洞在非生产环境可酌情放宽,但必须经过人工审批并记录豁免原因。

2.4 安全水位与升级巡检的联动关系

在集群升级前,安全水位巡检的核心流程如下:

集群升级前镜像安全水位巡检流程 1. 收集镜像清单 2. 漏洞扫描 3. 等级匹配 4. 阈值判定 ✅ 通过 ❌ 阻断 判定逻辑说明: • 若存在 Critical 漏洞 → 直接阻断 • 若 High 漏洞数量超过阈值 → 阻断 • 若仅 Medium/Low 且未超阈值 → 通过 • 阻断的镜像需记录至豁免清单或重新构建

2.5 豁免机制与风险接受

实际运维中,完全阻断所有 High 以上漏洞可能影响升级进度。因此,安全水位体系必须包含豁免(Exception)机制:

  • 临时豁免:针对已知但短期内无法修复的漏洞,设定有效期(如 7 天),到期后自动重新触发扫描。
  • 永久豁免:仅适用于已被上游官方标记为“不会修复”或“不影响实际功能”的漏洞,需附上官方链接作为证据。
  • 审批流程:所有豁免必须经过安全负责人与业务负责人双签,并记录在集群的审计日志中。
推荐工具: 使用 OPA(Open Policy Agent)或 Kyverno 在集群中实施安全水位策略。例如,编写一条 Kyverno 策略,拒绝所有包含 Critical 漏洞的镜像在 P0 集群中创建 Pod。

2.6 安全水位与 Sigstore 透明日志的关联

在后续章节中,我们将利用 Sigstore 的透明日志(Rekor)来记录镜像的安全水位扫描结果。每次扫描生成的“安全水位报告”将被签名并上传至 Rekor,形成不可篡改的审计链。这样,在集群升级时,运维人员可以快速验证:

  • 该镜像在扫描时的安全水位是否达标。
  • 扫描报告是否由受信任的扫描工具生成。
  • 是否存在后续的豁免记录或重新扫描记录。

通过将安全水位与透明日志结合,升级巡检从“人工检查”升级为“可验证、可追溯的自动化流程”。