SEC01-BP06 自动部署标准安全控制措施
在开发和部署 AWS 环境中的标准安全控制措施时,应用现代化 DevOps 实践。 使用基础设施即代码(IaC)模板定义和配置标准安全控制措施,收集版本控制系统中的更改,测试作为 CI/CD 管道一部分的更改,并自动将更改部署到您的 AWS 环境。
期望结果:使用 IaC 模板收集标准化的安全控制措施,并将其提交给版本控制系统。 在检测到变化的地方部署了 CI/CD 管道,并自动测试和部署 AWS 环境。 在继续部署之前,采取了防护机制来检查模板中的错误配置并发出警报。 工作负载部署到采用标准控制措施的环境中。 团队具有访问权限,可以通过自助服务机制部署经批准的服务配置。 制定了安全的备份和恢复策略,用于控制配置、脚本和相关数据。
常见反模式:
-
通过 Web 控制台或命令行界面手动更改标准安全控制措施。
-
依靠各个工作负载团队来手动实施中心团队定义的控制措施。
-
依靠中心安全团队,根据工作负载团队的要求来部署工作负载级别的控制措施。
-
允许相同的个人或团队开发、测试和部署安全控制措施自动化脚本,而没有采取适当的职责分离或制衡措施。
建立此最佳实践的好处:使用模板来定义标准安全控制措施,这样您就可以通过版本控制系统来跟踪和比较随时间发生的变化。 使用自动化功能来测试和部署更改,这样可以实现标准化程序及可预测性,增加成功部署的可能性,减少重复的手动任务。 为工作负载团队提供了自助服务机制来部署经批准的服务和配置,可减少配置错误和滥用的风险。这样还可以让团队在开发过程的早期融入控制措施。
在未建立这种最佳实践的情况下暴露的风险等级:中
实施指导
按照 SEC01-BP01 使用账户分隔工作负载中描述的做法,您最终将多个 AWS 账户用于您通过 AWS Organizations 管理的不同环境。 虽然这些环境和工作负载可能会需要不同的安全控制措施,不过您可以对整个企业内的一些安全控制措施进行标准化。 这样的例子包括集成集中式身份提供程序、定义网络和防火墙,以及配置用于存储和分析日志的标准位置。 就像使用基础设施即代码(IaC)将同样严格的应用程序代码开发要求应用于基础设施预置一样,您也可以使用 IaC 来定义和部署标准安全控制措施。
尽可能以声明式方式(例如在 AWS CloudFormation
您还可以定义模板来实现标准化的 AWS 账户、服务和配置的定义及部署。 利用这种技术,中心安全团队可以管理这些定义,并通过自助服务方法将这些定义提供给工作负载团队。 为此,您可以采取的一种方法是使用 Service Catalog
实施步骤
-
确定如何在版本控制系统中存储和维护模板。
-
创建 CI/CD 管道来测试和部署模板。 定义测试方法,用于检查配置是否有误,以及模板是否符合公司标准。
-
构建标准化模板目录,供工作负载团队根据您的要求部署 AWS 账户和服务。
-
为控制配置、脚本和相关数据实施安全的备份和恢复策略。
资源
相关最佳实践:
相关文档:
相关示例:
相关工具: