基础设施即代码(IaC)安全

security OpenTrojan Threat Intelligence

保护以代码定义和部署的基础设施:配置错误、秘密处理、策略即代码与配置漂移。

快速解答

通过扫描模板中的配置错误、在 CI 中强制执行策略即代码关卡、让秘密远离源代码(使用秘密管理器),并根据声明的状态验证实时部署来保护 IaC。

定义

IaC 安全通过在应用(apply)之前扫描基础设施定义、强制执行策略即代码并验证秘密处理,防止配置错误进入云/网络环境。

它是什么

当基础设施即代码(Terraform、CloudFormation、K8s 清单)时,配置错误会被提交到同一个仓库——这是好事:它们可以在 apply 之前被扫描并阻止。

为什么重要

配置错误是云端首要的初始访问原因之一(参见 security:misconfiguration)。IaC 让你将其作为软件缺陷来捕获,而不是在生产环境中实时发现它们。

它如何工作

  • 扫描模板/清单中的不安全默认值(对全世界开放的存储桶、不受限的出站流量、权限过宽的 IAM)。
  • 在 CI 中强制执行策略即代码(OPA/sentinel)关卡,使有风险的变更永远不会被部署。
  • 绝不在 IaC/源代码中存储秘密;引用秘密管理器(参见 security:secrets-management)。
  • 根据声明的状态验证真实状态,以捕获配置漂移。

检测

  • 新 PR 上的策略/扫描发现(例如公开的 S3 存储桶、通配符 IAM)。
  • 实时资源权限超出声明清单的配置漂移。

缓解

  • 将 IaC 扫描和策略关卡加入流水线(参见 security:devsecops)。
  • 默认应用最小权限 IAM;消除通配符授权。
  • 立即轮换任何出现在源代码历史中的秘密。

调查

如果某个云资源因配置错误而暴露,追溯引入该问题的 IaC 提交、本应阻止它的策略关卡,以及任何访问日志以确定暴露范围。参见 security:cloud-native-security。

参考资料

还有后续问题?

向 OpenTrojan 证据驱动的助手询问本主题——回答会引用其来源。

就此向 AI 提问 发起调查