目录阶段概述

构建用于内部使用的容器映像目录是容器供应链的第二阶段。 通过“获取”阶段传递某些质量检查的容器映像托管在内部注册表中。 必须对容器映像进行编录,以便内部团队能够轻松发现和使用企业应用程序和服务所需的已批准映像。 此外,目录中的容器映像会定期扫描漏洞和恶意软件,以确保它们满足最新的安全要求。

Microsoft 的容器安全供应链(CSSC)框架标识了对容器映像进行目录的需求,并提供一组最佳做法和工具来帮助安全地托管目录中的容器映像。 在本文中,你将了解可用于 CSSC 框架目录阶段的目标、最佳做法和工具。

背景

目前,企业使用各种方法来管理容器映像。 工程师发现可用的容器映像、了解企业内的安全状况和访问级别限制是一项挑战。 某些企业在注册表的基础上构建自己的门户,以帮助工程师发现可用的容器映像。 此外,某些企业会实施防火墙限制和策略,以限制工程师直接从外部注册表使用容器映像。

CSSC 框架的目录阶段建议实施一组步骤和安全控制,以确保容器映像能够持续发现和监视,以确保安全性。

Microsoft 建议内部团队尽可能使用内部目录中的容器映像。 如果企业无法执行此操作,我们建议对容器映像目录采用以下做法。

  • 目录 黄金映像 ,使内部团队能够轻松发现和使用企业应用程序和服务所需的已批准映像。
  • 持续扫描容器映像中的漏洞和恶意软件、生成报告和签名报告,以确保真实性和完整性。
  • 监视目录图像的生命周期,并停用不受支持的图像。

容器映像目录的工作流

CSSC 框架建议使用以下工作流来编录容器映像,帮助确保容器映像、内部注册表的安全性,并帮助接受容器映像以供内部使用。 容器映像目录的工作流执行以下操作:

  1. 托管在内部暂存注册表中传递质量检查和相关元数据的容器映像。
  2. 目录容器映像,使内部团队能够轻松发现和使用企业应用程序和服务所需的已批准的映像。
  3. 定期计划漏洞和恶意软件扫描,并生成漏洞和恶意软件报告。
  4. 使用企业密钥对报表进行签名,以确保完整性并提供受信任的审批标记供内部使用。
  5. 监视目录中容器映像的生命周期,并停用不支持的映像。

目录阶段的安全目标

为容器映像目录定义完善的工作流可帮助企业提高安全性并减少容器供应链上的攻击面。 CSSC 框架的目录阶段旨在满足以下安全目标。

由于外部依赖项,减少攻击面

如果容器映像不可用或难以找到,则内部团队可能会选择直接从外部注册表使用容器映像,从而将其公开为恶意容器映像等攻击。

为了解决此风险,CSSC 框架中的目录阶段建议使用目录 黄金映像 ,使内部团队能够轻松发现和使用企业应用程序和服务所需的已批准的映像。 它还会根据内部团队使用情况从“获取”阶段持续添加映像。

尽量减少引入安全漏洞的风险

目录中的容器映像可能会过时或未修补,这会增加无意中使用可能会将安全漏洞和恶意软件引入企业应用程序的图像的风险。

为了解决此风险,CSSC 框架中的目录阶段建议持续扫描容器映像中是否存在漏洞和恶意软件,并生成采用标准格式的报告。 这允许在软件供应链的后续阶段使用之前验证报告。

Microsoft 提供了一组工具和服务,可帮助企业在目录阶段工作流中实施建议的步骤,并解决上面列出的安全目标。

用于托管容器映像的服务

Azure 容器注册表(ACR)是一个托管的符合 OCI 的注册表,支持分发容器映像和其他云原生项目。 ACR 符合最新的 OCI 规范,可用于存储供应链项目。

漏洞扫描工具

Microsoft Defender for Cloud 是云原生解决方案,用于改进、监视和维护容器化工作负载的安全性。 Microsoft Defender for Cloud 为存储在Azure 容器注册表中的映像提供漏洞评估和管理工具。

用于确保图像真实性的工具

公证项目 是一个 Microsoft 支持的NCF 项目,用于开发用于签名和验证软件项目的规范和工具。 公证项目 notation 的工具可用于使用企业密钥对容器映像和其他云原生项目进行签名。

后续步骤

请参阅 生成阶段 概述,以便安全地生成容器映像。