Kanji
・云架构工程师 / 自由职业 ・1993年出生 ・爱媛县出身 / 现居东京都涩谷区 ・5年 AWS 实战经验 个人资料详情
目录
AWS Config(以下简称Config)是一项监控AWS资源的配置和更改的服务。Config只能获取AWS资源的配置信息,无法获取操作系统、应用程序、数据库等的配置信息。
Config 可以记录的 AWS 资源有限制,请谨慎使用。例如,无法记录组织等资源、IAM Identity Center、Systems Manager Parameter Store 和文档等所有资源。
参考: AWS Config 支持的资源类型 - AWS Config
除了管理 AWS 资源配置之外,Config 还可以使用 AWS Config 规则(以下简称 Config 规则)监控资源设置。
当Config检测到配置更改时,它可以根据设定的规则判断资源是否不合规,如果是,则发送通知。
在本地环境中,配置管理和更改跟踪通常使用 Excel 和 Word 等文档进行处理。在更加自动化的系统中,可以使用 Ansible 执行操作系统的配置管理。
AWS中的配置信息可以通过AWS Config来记录,但是如上所述,可以记录的资源是有限制的。虽然主要的AWS资源可以被跟踪,但对于Config无法跟踪的资源,需要考虑如何记录更改。
此外,使用 Config Rules 时,先决条件是使用 Config 记录目标 AWS 资源中的更改。
通常建议为所有 AWS 账户启用 Config。但是,如果“使用另一个配置管理工具而不是 Config 来管理配置和更改”和“使用另一个安全检查工具而不是 Config Rules 检查配置缺陷”,那么不实现 Config 也是一种选择。
对于“使用另一个配置管理工具而不是 Config 来管理配置和更改”,使用 IaC 工具是一种选择,但根据开发人员和操作人员的技能水平,要求整个系统使用 IaC 工具可能会很困难。
如果全公司采用另一种 SaaS 工具,最好使用该工具。
对于“使用其他安全检查工具而不是配置规则检查配置缺陷”,可以使用以下选项:
当使用Config Rules作为安全工具时,需要明确公司必须满足的安全规则。Depending on these rules, it may be better to check for configuration deficiencies with another security check tool instead of using Config Rules.
由于从头开始创建配置规则很困难,因此通过使用基于这些要求的一致性包或 Security Hub 标准来创建配置规则来满足安全要求是有效的。
AWS Config 的一致性包示例模板 - AWS Config
Security Hub 标准参考 - AWS Security Hub
如果没有特定的安全规则,建议首先在 Security Hub 中实施 AWS 基础安全最佳实践 (FSBP) 或 AWS 架构完善的框架一致性包推荐的配置规则。
AWS 基础安全最佳实践 v1.0.0 (FSBP) 标准 - AWS Security Hub
AWS 架构完善的框架可靠性支柱的操作最佳实践 - AWS Config
AWS 架构完善的框架安全支柱的操作最佳实践 - AWS Config
AWS 基础安全最佳实践 (FSBP) 和 AWS 架构完善的框架都是 AWS 提供的最佳实践,但 AWS 基础安全最佳实践更关注安全性。
将 Config 规则设置为护栏时,需要选择 Config 将跟踪哪些 AWS 资源。但是,与情况 1 和 2 一样,过多的跟踪会产生成本,因此应根据每个 AWS 账户中资源的特性来选择资源。
配置通常由基础设施团队管理,但由于只有系统管理员了解成员帐户中的资源,因此最好使用内部工作流程在应用程序基础上进行管理。
在情况 3 中,如果可以通过 CI/CD 管道中的安全检查进行预防性控制,而不是通过 Config 进行检测控制,则无需使用 Config 进行跟踪。但是,如果存在手动更改运行期间部署的资源的情况,则应考虑使用 Config 进行跟踪。
参考: 使用 AWS Config 记录 AWS 资源 - AWS Config
使用 Control Tower 启用 Config 时,可以使用以下博客中描述的解决方案在颁发 AWS 账户时自动排除 Config 跟踪的资源。
在AWS Control Tower环境中自定义AWS Config资源跟踪|AWS 云运营博客
在[2.]中粗略决定安全规则和框架之后。公司必须满足哪些安全规则?](#2-what-security-rules-must-the-company-meet),有必要制定更详细的规则。
如果您按原样应用配置规则的一致性包或Security Hub标准,那么也会设置不太重要的规则,因此仅选择真正需要解决的规则。
此规则选择是一项劳动密集型任务。
最好排除可由其他控制措施解决的规则,例如 SCP 和身份访问管理等预防性控制 AWS 服务,以及 GuardDuty 等其他检测控制 AWS 服务。
每个公司的选择过程各不相同,很难提供示例,所以说明到此为止。
1 和 2 通常由基础设施团队处理,但 3 通常由可以对系统进行更改的系统管理员处理。
例如,如果检测到EC2 EBS未加密,则需要考虑更改的影响并采取纠正措施,因此系统管理员将处理该操作。
Config还可以执行修复操作,因此在某些情况下,不合规的资源会被自动纠正。
如果使用IaC部署,会与源码中定义的配置有出入,所以需要告知开发者实现情况。
Config 跟踪的资源变更历史记录可能会被基础设施团队和系统管理员双方使用,但 Config 日志往往集中存储在日志管理账户中,系统管理员可能无法使用 Athena 分析日志。
即使在组织级别启用了 Config,系统管理员也可以使用高级查询来分析自己的 AWS 账户的日志。
参考: 使用 AWS Config 查询 AWS 资源的当前配置状态 - AWS Config