AWS - Config Enum

支持 HackTricks

AWS Config

AWS Config 捕获资源更改,因此可以记录对 Config 支持的任何资源的任何更改,这将记录更改内容以及其他有用的元数据,所有这些都保存在称为配置项(CI)的文件中。此服务是区域特定的。

配置项或称为 CI,是 AWS Config 的关键组件。它由一个 JSON 文件组成,包含配置信息、关系信息和其他元数据,作为支持资源的时间点快照视图。AWS Config 可以记录的所有资源信息都包含在 CI 中。每次对支持的资源进行配置更改时,都会创建一个 CI。除了记录受影响资源的详细信息外,AWS Config 还会记录任何直接相关资源的 CI,以确保更改不会影响这些资源。

  • 元数据:包含有关配置项本身的详细信息。一个版本 ID 和一个配置 ID,唯一标识 CI。其他信息可以包括一个 MD5Hash,允许您比较已经记录的其他 CI。

  • 属性:这包含实际资源的常见属性信息。在此部分中,我们还有一个唯一的资源 ID,以及与资源关联的任何键值标签。还列出了资源类型。例如,如果这是一个 EC2 实例的 CI,列出的资源类型可能是网络接口或该 EC2 实例的弹性 IP 地址。

  • 关系:这包含资源可能具有的任何连接关系的信息。因此在此部分中,它将显示该资源与其他资源的任何关系的清晰描述。例如,如果 CI 是一个 EC2 实例,关系部分可能会显示与 VPC 的连接以及 EC2 实例所在的子网。

  • 当前配置:这将显示与通过 AWS CLI 执行描述或列出 API 调用生成的信息相同的信息。AWS Config 使用相同的 API 调用获取相同的信息。

  • 相关事件:这与 AWS CloudTrail 相关。这将显示与触发此 CI 创建的更改相关的 AWS CloudTrail 事件 ID。每次对资源进行更改时,都会创建一个新的 CI。因此,将创建不同的 CloudTrail 事件 ID。

配置历史:可以通过配置项获取资源的配置历史。每 6 小时交付一次配置历史,包含特定资源类型的所有 CI。

配置流:配置项被发送到 SNS 主题以便分析数据。

配置快照:配置项用于创建所有支持资源的时间点快照。

S3 用于存储配置历史文件和任何配置快照的数据在单个桶中,这在配置记录器中定义。如果您有多个 AWS 账户,您可能希望将配置历史文件汇总到主账户的同一个 S3 桶中。但是,您需要为此服务主体 config.amazonaws.com 和您的次要账户授予对主账户 S3 桶的写访问权限。

功能

  • 当进行更改时,例如对安全组或桶访问控制列表的更改 —> 作为事件被 AWS Config 捕获

  • 将所有内容存储在 S3 桶中

  • 根据设置,一旦发生更改,它可能会触发一个 lambda 函数或安排 lambda 函数定期查看 AWS Config 设置

  • Lambda 反馈给 Config

  • 如果规则被破坏,Config 会启动一个 SNS

Config 规则

Config 规则是帮助您在资源中实施特定合规检查和控制的好方法,并允许您为每种资源类型采用理想的部署规范。每个规则本质上是一个 lambda 函数,在调用时评估资源并执行一些简单的逻辑以确定规则的合规结果。每次对支持的资源进行更改时AWS Config 将检查您设置的任何 config 规则的合规性。 AWS 有许多预定义规则,属于安全范畴,可以直接使用。例如,Rds-storage-encrypted。它检查您的 RDS 数据库实例是否激活了存储加密。Encrypted-volumes。它检查是否有任何附加状态的 EBS 卷被加密。

  • AWS 管理规则:一组预定义规则,涵盖了许多最佳实践,因此在设置自己的规则之前,浏览这些规则总是值得的,因为可能已经存在该规则。

  • 自定义规则:您可以创建自己的规则以检查特定的自定义配置。

每个区域的 config 规则限制为 50 个,超过需要联系 AWS 以增加限制。 不合规结果不会被删除。

支持 HackTricks

Last updated