如果没有得到正确的安全配置,运行构建和交付流水线的基础设施和工具可能成为一个大隐患。流水线需要访问关键数据和系统,如源代码、凭据和机密数据,去构建和部署软件。这让这些系统对恶意攻击者充满了吸引力。因此,我们强烈推荐为 CI/CD 流水线和基础设施引入零信任 安全机制 ——尽可能少地信赖它们。这项机制包含一系列技术:如果可行,使用云供应商提供的联合身份校验机制,如 OIDC ,来验证流水线,而不是赋予它们直接访问机密数据的权限;实行最小权限原则去最小化个人用户和执行器账户的权限,而不是使用具有无限访问权限的万能账户;使用一次性执行器替代重复使用执行器,来减少暴露先前任务的机密数据或在受到攻击的运行器上运行任务的风险;将执行代理和执行器上的软件更新到最新版本,像监控你的生产软件一样去监控你的 CI/CD 系统的完整性、保密性和可用性。
我们不断见到有团队忘记这些实践,特别是当他们使用在内部网络中自我管理的 CI/CD 基础设施的时候。所有这些实践不仅在内部网络中很重要,当使用托管服务时,因为扩大了攻击面和影响范围,这些实践会变得更加关键。
如果没有得到正确的安全配置,运行构建和交付的流水线的基础设施和工具可能成为一个大麻烦。流水线需要访问关键数据和系统比如源代码,凭证和密码来构建和部署软件。这让这些系统非常容易吸引恶意攻击者。因此,我们强烈推荐引入零信任 安全机制来保障 CI/CD 流水线和基础设施 —— 尽可能少地信赖它们。这包含一系列技术: 如果可行,根据你的云供应商通过联合身份校验机制如 OIDC 来验证你的流水线,而不是直接给他们获取机密数据的权限。 实现最小特权原则,最小化个人用户和执行账户的权限,而不是创建一个拥有无限访问权限的全能账户。用临时的方式去使用任务执行器而不是复用他们,来减少暴露先前任务的秘密或在受到攻击的运行器上运行任务的风险。保证软件在你的代理服务器和任务执行器上是最新的。像监控你的生产环境软件一样监控你的 CI/CD 系统的完整性,保密性和可用性。 我们不断见到有团队会忘记这些实践,特别是当他们使用在内网自我管理的 CI/CD 基础设施的时候。所有这些实践在不仅在内网中都很重要,在使用托管服务时,因为扩大了攻击面和影响范围,这种实践会变得更加重要。