This documentation is for a release that is no longer maintained
See documentation for the latest supported version.3.3. 查看安全见解
当您更新代码和推送更改时,系统会自动触发 on-push 管道。默认情况下,RHTAP 使用标准构建管道进行容器化部署,以满足 软件工件(SLSA)级别 3 规范。
图 3.1. 管道运行成功
管道运行执行以下任务:
-
init:配置重建标志、身份验证并创建镜像存储库 secret。 -
clone-repository:克隆存储库以准备构建。 build-container:- 使用 Buildah 从源代码创建容器镜像并将其推送到 registry。
- 生成软件 Bill of Materials (SBOM)以记录所有组件和依赖项。
- 发布安全工件,如镜像签名和测试。
-
update-deployment:更新 GitOps 存储库来部署新镜像。 -
ACStasks:运行安全检查以确保遵守策略。 -
show-sbom:列出所有软件组件和库以透明。 -
Summary : 清理资源并提供管道运行摘要。
点管道运行中的任何任务来查看日志。
3.3.1. 高级集群安全任务 复制链接链接已复制到粘贴板!
只有在 RHTAP 安装过程中安装和配置 ACS 时,管道中的 ACS 任务才会成功。如果没有安装或配置 ACS,管道将跳过这些任务。
- 有关安装 ACS 的详细信息,请参阅安装 Red Hat Advanced Cluster Security for Kubernetes。
- 如果您在 RHTAP 安装过程中没有安装和配置 ACS,请参阅 配置 ACS。
图 3.2. 管道运行中的 ACS 任务
管道包括三个 ACS 任务,它们使用 roxctl 执行安全检查:
-
roxctl 镜像 scan- 识别镜像中的组件和漏洞,并以 JSON 格式返回结果。 -
roxctl image check- Verifies build-time security violations in the image。例如,策略(如 'No log4j allowed')或限制在生产镜像中包括 curl、wget 或软件包管理器。 -
roxctl 部署检查- 检查 YAML 部署文件中的构建时间和部署时间安全违反情况。
视觉化 ACS 报告
在 RHDH 中,在 CI 选项卡下,Pipeline Runs 部分会在结构化弹出界面中显示详细的任务报告。弹出窗口包括:
- 高级 Cluster Security (条件在 ACS 任务可用性上显示): 显示所有 ACS 任务的独立选项卡,以及汇总发现的安全问题。
-
其他: 提供
PipelineRun的结果,如 IMAGE_URL 和IMAGE_DIGEST。只有在弹出窗口中提供了多个部分(例如,企业合同或 {RHACSLongName})时,才会显示本节。
查看 ACS 报告:
- 选择 Catalog 并选择您要查看的组件。
选择 CI 选项卡 > Actions column > View output 图标,并查看所选组件的详细 ACS 报告。
图 3.3. 详细的 ACS 报告
注意如果您有所需的权限,您可以管理漏洞、策略,并查看 ACS 控制台中特定镜像的详细漏洞报告。如需更多信息,请参阅 查看仪表板。
解释 ACS 报告
ACS 任务报告提供在维护强大的安全状况时至关重要的安全分析。
以下是解释 roxctl 镜像扫描 (Image Scan)报告的示例。对 roxctl 镜像检查 (Image Check)和 roxctl 部署检查 (Deployment Check)报告使用相同的方法。
- 漏洞明细: ACS 检测到的漏洞按严重性(Critical、重要、中等、低)、状态(可修复、不可修复)进行分类,并提供扫描结果概述。这种分类包括分析的漏洞和组件总数,以及标识的特定常见漏洞和风险(CVE)。
Details Provided: 对于每个识别的漏洞,报告包括:
- CVE ID : 漏洞的唯一标识符。
- 严重性 : 漏洞构成的威胁级别。
- 组件 : 受漏洞影响的软件组件。
- 组件版本: 受影响组件的版本。
- 补救建议: 建议解决漏洞,包括修复漏洞的版本(如果适用)。
3.3.2. 了解 SBOM 复制链接链接已复制到粘贴板!
show-sbom 任务创建应用中使用的所有软件库的列表。这有助于识别漏洞并评估安全问题。
图 3.4. 管道运行中的 show-sbom 任务
查看 SBOM
流程
- 选择 Catalog 并选择组件。
选择 CI 选项卡,然后选择
show-sbom任务的链接图标。系统显示 SBOM 任务日志。查看浏览器中的 SBOM 并搜索漏洞,如log4j。图 3.5. SBOM 详情
在 CLI 中下载 SBOM
先决条件
- 已安装 Cosign CLI 工具。
-
build-container和show-sbom任务成功运行。
流程
-
扩展成功的管道运行并选择
show-summary任务。 搜索并复制 SBOM 镜像 URL,然后在终端中运行以下命令:
cosign 命令示例
cosign download sbom <the-sbom-url-you-copied>
$ cosign download sbom <the-sbom-url-you-copied>Copy to Clipboard Copied! Toggle word wrap Toggle overflow (可选)将输出保存到文件中,以便详细分析:
cosign 命令示例
cosign download sbom <the-sbom-url-you-copied> > sbom.txt
$ cosign download sbom <the-sbom-url-you-copied> > sbom.txtCopy to Clipboard Copied! Toggle word wrap Toggle overflow
解释 SBOMs
SBOM 包括项目中使用的每个库的信息,例如:
- 库源、作者或发布者
- 库名称
- 库版本
- 许可证类型
这些信息有助于确保单个库安全源、更新并合规。
SBOM 示例