第 1 章 RHADS 的 Conforma - SSC
软件供应链更复杂的变得复杂,更关键是利用可靠的检查和最佳实践来确保软件构件的完整性,因为镜像容器和源代码依赖。在这里,Conforma 简化 Red Hat Advanced Developer Suite - 软件供应链(RHADS - SSC)构建和部署体验。
Conforma 是一个策略驱动的工作流工具,通过定义和执行策略来构建和测试容器镜像来维护软件供应链安全性。对于在测试时为软件 Artifacts (SLSA)验证创建 Supply-chain Levels (SLSA)的构建系统,如带有 SLSA GitHub Generator 的 Tekton 带有 Tekton 链和 GitHub Actions 的 Tekton,检查签名并确认该签名并确认是否符合验证和维护软件提供链的完整性的关键部分。安全 CI/CD 工作流应包含工件验证,以尽早检测问题。Conforma 验证已知和可信的构建系统是否签名,并测试容器镜像。
验证签名和测试的容器镜像的一般步骤如下:
- 使用 RHADS - SSC 创建或复制容器镜像。
- 使用 Cosign 生成签名密钥。
- 使用 Cosign 为容器镜像签名。
- 使用 Cosign 测试镜像。
- 使用 Conforma CLI 验证您已签名和测试的容器镜像。
与未签名工件相比,签名的软件工件(如容器镜像)会显著降低多个攻击向量的风险。签名容器镜像时,各种加密技术将镜像绑定到特定的实体或机构。结果是一个数字签名,用于验证镜像的真实性,以便您可以将其追踪回其创建者,同时验证镜像是否在签名后没有被更改或篡改。
Conforma 使用行业标准 Sigstore 和 Cosign 作为资源库来验证您的容器镜像。使用 Red Hat Trusted Artifact Signer,红帽支持的 Sigstore 框架版本,您可以使用 Sigstore 服务的内部实例通过 Cosign CLI 签署和测试容器镜像。
与测试过程中的软件构件一样,在没有验证的情况下,它不能发生。经验证的 是有关软件工件的可验证信息,如描述生成工件的位置、时间和方式的容器镜像。attestation 本身是一个经过身份验证的声明,其元数据形式证明工件是完整且可信的。Conforma 使用该 attestation 来加密验证构建是否未被篡改,并根据一组策略(如 SLSA 要求)检查构建。
当您将代码从 RHADS - SSC 开发命名空间推送到 stage 命名空间,或从 stage 命名空间推送到 production 命名空间时,Conforma 会自动运行其验证检查,以确保容器镜像由已知和可信的构建系统进行了签名并测试。当您的镜像通过 Conforma 检查时,您可以合并代码更改,以完成从一个环境到下一个环境的提升。