GitOps 安全
GitOps 安全 是什么?
GitOps 安全针对 GitOps 工作流的安全实践:基础设施与应用的声明式期望状态保存在 Git 中,由自动化控制器持续与生产环境进行对账。
GitOps 把 Git 作为唯一真实源,并用 Argo CD、Flux 等工具持续将集群状态调谐到 Git 中。这使安全焦点转向 Git 仓库、提交者身份、Pull Request 控制以及 GitOps 控制器本身。关键实践包括:分支保护、签名提交与 tag、CODEOWNERS、必填评审、避免在仓库中存放明文机密(Sealed Secrets、External Secrets、SOPS、Vault 集成)、策略即代码(OPA Gatekeeper、Kyverno)、镜像签名校验(Cosign)、控制器权限最小化和审计日志外发。还必须防止控制器应用未经评审的清单、恶意 Helm Chart 或未签名镜像。配置不当会让攻击者借助一次合并直接全面控制集群。
● 示例
- 01
Argo CD 仅与一条受保护、强制签名的 main 分支进行对账,并通过 Cosign 校验镜像。
- 02
在 Git 中安全存放加密 manifest,通过 Sealed Secrets 实现。
● 常见问题
GitOps 安全 是什么?
针对 GitOps 工作流的安全实践:基础设施与应用的声明式期望状态保存在 Git 中,由自动化控制器持续与生产环境进行对账。 它属于网络安全的 应用安全 分类。
GitOps 安全 是什么意思?
针对 GitOps 工作流的安全实践:基础设施与应用的声明式期望状态保存在 Git 中,由自动化控制器持续与生产环境进行对账。
GitOps 安全 是如何工作的?
GitOps 把 Git 作为唯一真实源,并用 Argo CD、Flux 等工具持续将集群状态调谐到 Git 中。这使安全焦点转向 Git 仓库、提交者身份、Pull Request 控制以及 GitOps 控制器本身。关键实践包括:分支保护、签名提交与 tag、CODEOWNERS、必填评审、避免在仓库中存放明文机密(Sealed Secrets、External Secrets、SOPS、Vault 集成)、策略即代码(OPA Gatekeeper、Kyverno)、镜像签名校验(Cosign)、控制器权限最小化和审计日志外发。还必须防止控制器应用未经评审的清单、恶意 Helm Chart 或未签名镜像。配置不当会让攻击者借助一次合并直接全面控制集群。
如何防御 GitOps 安全?
针对 GitOps 安全 的防御通常结合技术控制与运营实践,详见上方完整定义。
GitOps 安全 还有哪些其他名称?
常见的别称包括: 安全 GitOps。
● 相关术语
- appsec№ 166
CI/CD 安全
保护持续集成与持续交付流水线,防止其被入侵、被注入恶意代码、机密泄露与未授权部署的一整套控制。
- cloud-security№ 600
Kubernetes 安全
对 Kubernetes 集群(API Server、控制平面、节点、工作负载与网络)的保护,防止配置错误、被攻陷以及横向移动。
- appsec№ 1069
软件供应链安全
保护软件生产链中每一个环节——源代码、依赖、构建、签名、分发与部署——使其免受篡改、恶意代码与完整性破坏的学科。
- appsec№ 459
硬编码机密(代码中的密钥)
把凭据、API 密钥、令牌或密码学材料直接写入源代码、配置文件或容器镜像中,极易被发现并被滥用。
- appsec№ 784
软件包签名
对软件包进行加密签名,使使用者能够验证发布者身份并确认工件在发布后未被篡改。
- appsec№ 309
DevSecOps
一种将安全责任融入 DevOps 流程的文化与实践,使团队能够持续、高效地交付安全的软件。