3.2. 查看安全见解


当您更新代码和推送更改时,系统会自动触发 on-push 管道。默认情况下,RHTAP 使用标准构建管道进行容器化部署,以满足 软件工件(SLSA)级别 3 规范。

图 3.1. 管道运行成功

Pipeline 运行

管道运行执行以下任务:

  • init :配置重建标志、身份验证并创建镜像存储库 secret。
  • clone-repository :克隆存储库以准备构建。
  • build-container

    • 使用 Buildah 从源代码创建容器镜像并将其推送到 registry。
    • 生成软件 Bill of Materials (SBOM)以记录所有组件和依赖项。
    • 发布安全工件,如镜像签名和测试。
  • update-deployment :更新 GitOps 存储库来部署新镜像。
  • ACS tasks:运行安全检查以确保遵守策略。
  • show-sbom :列出所有软件组件和库以透明。
  • Summary : 清理资源并提供管道运行摘要。
注意

点管道运行中的任何任务来查看日志。

3.2.1. Red Hat Advanced Cluster Security 任务

只有在 RHTAP 安装过程中安装和配置了 RHACS 时,管道中的 RHACS 任务才会成功。如果没有安装或配置 RHACS,管道会跳过这些任务。

注意

图 3.2. 管道运行中的 RHACS 任务

ACS 任务

管道包括三个使用 roxctl 执行安全检查的 RHACS 任务:

  • roxctl 镜像 scan - 识别镜像中的组件和漏洞,并以 JSON 格式返回结果。
  • roxctl image check - Verifies build-time security violations in the image。例如,策略(如 'No log4j allowed')或限制在生产镜像中包括 curl、wget 或软件包管理器。
  • roxctl 部署检查 - 检查 YAML 部署文件中的构建时间和部署时间安全违反情况。
视觉化 RHACS 报告

在 RHDH 中,在 CI 选项卡下,Pipeline Runs 部分会在结构化弹出界面中显示详细的任务报告。弹出窗口包括:

  • Red Hat Advanced Cluster Security (条件在 RHACS 任务可用性上显示): 显示所有 RHACS 任务的独立标签页,概述发现的安全问题。
  • 其他: 提供 PipelineRun 的结果,如 IMAGE_URL 和 IMAGE_DIGEST。只有在弹出窗口中提供了多个部分(如企业合同或 RHACS)时,才会显示本节。

查看 RHACS 报告:

  1. 选择 Catalog 并选择您要查看的组件。
  2. 选择 CI 选项卡 > Actions column > View output 图标,并查看所选组件的详细 RHACS 报告。

    图 3.3. 详细的 RHACS 报告

    ACS 报告
    注意

    如果您有所需的权限,您可以管理漏洞、策略,并查看 RHACS 控制台中特定镜像的详细漏洞报告。如需更多信息,请参阅 查看仪表板

解释 RHACS 报告

RHACS 任务报告提供在维护强大的安全状况时至关重要的安全分析。

以下是解释 roxctl 镜像扫描 (Image Scan)报告的示例。对 roxctl 镜像检查 (Image Check)和 roxctl 部署检查 (Deployment Check)报告使用相同的方法。

  • 漏洞明细: RHACS 按严重性(Critical、重要、中等、低)、状态(可修复、不可修复)分类检测到的漏洞,并提供扫描结果概述。这种分类包括分析的漏洞和组件总数,以及标识的特定常见漏洞和风险(CVE)。
  • Details Provided: 对于每个识别的漏洞,报告包括:

    • CVE ID : 漏洞的唯一标识符。
    • 严重性 : 漏洞构成的威胁级别。
    • 组件 : 受漏洞影响的软件组件。
    • 组件版本: 受影响组件的版本。
    • 补救建议: 建议解决漏洞,包括修复漏洞的版本(如果适用)。

3.2.2. 了解 SBOM

show-sbom 任务创建应用中使用的所有软件库的列表。这有助于识别漏洞并评估安全问题。

图 3.4. 管道运行中的 show-sbom 任务

sbom
查看 SBOM

流程

  1. 选择 Catalog 并选择组件。
  2. 选择 CI 选项卡,然后选择 show-sbom 任务的链接图标。系统显示 SBOM 任务日志。查看浏览器中的 SBOM 并搜索漏洞,如 log4j

    图 3.5. SBOM 详情

    show sbom
在 CLI 中下载 SBOM

先决条件

  • 已安装 Cosign CLI 工具。
  • build-containershow-sbom 任务成功运行。

流程

  1. 扩展成功的管道运行并选择 show-summary 任务。
  2. 搜索并复制 SBOM 镜像 URL,然后在终端中运行以下命令:

    cosign 命令示例

    Copy to Clipboard Toggle word wrap
    $ cosign download sbom <the-sbom-url-you-copied>

    1. (可选)将输出保存到文件中,以便详细分析:

      cosign 命令示例

      Copy to Clipboard Toggle word wrap
      $ cosign download sbom <the-sbom-url-you-copied> > sbom.txt

解释 SBOMs

SBOM 包括项目中使用的每个库的信息,例如:

  • 库源、作者或发布者
  • 库名称
  • 库版本
  • 许可证类型

这些信息有助于确保单个库安全源、更新并合规。

SBOM 示例

Copy to Clipboard Toggle word wrap
{
    "bomFormat": "CycloneDX",
    "specVersion": "1.4",
    "serialNumber": "urn:uuid:89146fc4-342f-496b-9cc9-07a6a1554220",
    "version": 1,
    "metadata": {
        ...
    },
    "components": [
        {
            "bom-ref": "pkg:pypi/flask@2.1.0?package-id=d6ad7ed5aac04a8",
            "type": "library",
            "author": "Armin Ronacher <armin.ronacher@active-4.com>",
            "name": "Flask",
            "version": "2.1.0",
            "licenses": [
                {
                    "license": {
                        "id": "BSD-3-Clause"
                    }
                }
            ],
            "cpe": "cpe:2.3:a:armin-ronacher:python-Flask:2.1.0:*:*:*:*:*:*:*",
            "purl": "pkg:pypi/Flask@2.1.0",
            "properties": [
                {
                    "name": "syft:package:foundBy",
                    "value": "python-package-cataloger"
                    ...

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat, Inc.