零信任不仅仅适用于网络:将零信任原则应用于 CI/CD 管道

主要观点:零信任已成为现代企业安全的基石,主要应用于多数组织的网络、用户身份和端点,但持续集成/持续部署(CI/CD)管道未被充分重视存在安全风险。
关键信息

  • CI/CD 管道存在长期存在的秘密、重复使用的构建容器等问题,默认应被视为不可信。
  • 攻击者利用不安全的构建系统进行攻击,若 CI/CD 系统被攻陷,攻击者将获得整个应用生命周期的特权。
  • 采取零信任措施,如假设 CI/CD 相关组件可被攻陷,使用短寿命身份令牌,按职责分离角色,限制特权等。
  • 验证身份和工件,如强制签名提交和标签,记录出处跟踪等。
  • 重新思考 CI/CD 中的秘密管理,通过策略控制访问秘密。
  • 可观测性是零信任的核心要求,进行自动化异常检测。
  • 设计失败应对机制,实现隔离和恢复,模拟验证系统安全性。
    重要细节
  • 管道中测试作业有部署权限的 IAM 角色,秘密跨作业持久存在,部分容器存储构建时凭证。
  • 用 OIDC 发放短寿命身份令牌,执行后立即过期,不可在其他上下文中重用。
  • 按职责分离构建、测试和部署角色,使用签名上传和验证防止工件被篡改。
  • 跨受保护分支强制签名提交和标签,使用 Cosign 签名和验证工件。
  • 从 Vault 按身份和作业上下文获取有策略控制的秘密,访问时间受限且可撤销。
  • 为每个作业生成结构化日志并与其他日志结合,部署自动化异常检测。
  • 模拟 runner 被攻陷,注入的有效载荷仅能访问受限角色,无法造成进一步危害。
阅读 8
0 条评论