使用 AWS Config 实现持续合规监控 - 规则评估与自动修复

详解 AWS Config 的资源配置记录、Config 规则的合规评估以及自动修复操作的设置。

Config 概述

AWS Config 是持续记录 AWS 资源配置变更并自动评估合规性的服务。EC2 实例的安全组变更、S3 存储桶的公共访问设置变更、IAM 策略变更等所有资源的配置变更都会被记录。通过 200 多个托管 Config 规则,可定义"S3 存储桶的公共访问已被阻止"等条件,并自动检测不合规资源。每个配置项 (Configuration Item) 包含资源的元数据、属性、关联资源和配置快照,可重现任意时间点的资源状态。

规则与自动修复

托管规则是 AWS 提供的预定义规则,包括 s3-bucket-public-read-prohibited、ec2-instance-no-public-ip、iam-password-policy 等 200 多个。自定义规则通过 Lambda 函数实现自定义评估逻辑。Guard 规则使用 AWS CloudFormation Guard 的声明式语法定义策略,无需编写 Lambda 即可创建自定义规则。自动修复在检测到不合规资源时执行 SSM Automation 文档,例如自动阻止 S3 存储桶的公共访问。修复操作可插入手动审批步骤,防止生产环境的意外变更。触发器可选择变更触发(资源变更时立即评估)和定期触发(1、3、6、12、24 小时),对变更频率低的规则应用定期触发以降低成本。

合规包与聚合

合规包是将多个 Config 规则和修复操作打包的模板,提供对应 CIS Benchmark、PCI DSS、NIST 800-53 等合规框架的预定义包。可通过自定义合规包定义组织特有的规则集,并一键部署到整个 Organizations。Config 聚合器从多个账户和区域收集合规数据,在管理账户的仪表板中统一显示整个组织的合规状态。高级查询可执行横跨账户的搜索,如「查找所有账户中具有未加密 EBS 卷的资源」。 关于合规监控的实践,可参考相关书籍 (Amazon)

设计最佳实践与常见陷阱

启用 Config 时,记录所有资源类型会导致配置项数量爆炸式增长,成本巨大。建议先仅记录与安全直接相关的资源类型(IAM、S3、EC2、RDS),然后逐步扩展。自动修复的关键注意事项是级联修复风险——一个修复操作可能触发另一个规则违规。例如「删除安全组入站规则」的修复可能中断应用通信。自动修复应先以 DryRun 模式确认结果,逐步实现自动化。在整个组织部署规则时,通过排除列表管理部分账户(沙箱、开发环境),避免过度评估。Config 的记录与 CloudTrail 的记录互补——Config 记录「发生了什么变化」,CloudTrail 记录「谁做了变更」——因此事件调查需结合使用两者。

Config 与 Security Hub 的联动

AWS Security Hub 自动聚合 Config 规则的评估结果,并以安全评分的形式可视化。启用 Security Hub 后会自动部署 CIS AWS Foundations Benchmark 和 AWS Foundational Security Best Practices 的 Config 规则,将每个资源的合规状态显示为评分卡。Config 单独使用时通过聚合器汇总各规则评估结果,而 Security Hub 将其整理为带优先级的发现 (Findings),分为 Critical、High、Medium、Low 四个级别。实务中的分工:Config 是规则定义、自定义评估、自动修复的引擎,Security Hub 是组织整体安全态势的可视化仪表板。通过 Security Hub 将 Config 规则违规发送到 EventBridge,实现自动创建工单或 Slack 通知也是常见模式。

Config 的费用优化

Config 的费用由记录的配置项数(每项约 0.003 美元)、规则评估数(每次评估约 0.001 美元)和合规包评估数构成。启用所有资源类型的记录会导致配置项数量庞大,因此仅记录合规所需的资源类型可管理成本。规则评估频率可选择定期(每 24 小时)和变更触发,对变更少的资源应用定期评估。Config 的高级查询无额外费用,可用于生成合规报告。对于拥有大量规则的账户,利用变更触发减少对评估结果未变的资源的重新评估,直接影响成本效率。

总结

AWS Config 是记录资源配置变更并持续评估合规性的服务。通过合规包一键部署 CIS Benchmark 或 PCI DSS 的规则集,通过聚合器可视化整个组织的合规状态。自动修复实现从不合规资源检测到修正的自动化,维持持续合规。