收集 AWS Config 日志

支持的平台:

本文档介绍了如何创建新的 S3 存储分区来存储 CloudTrail 日志,以及如何创建 IAM 用户以从 AWS 检索日志 Feed。AWS Config 可详细显示您 AWS 账号中 AWS 资源的配置。这包括资源之间的相互关系以及它们过去的配置方式,以便您了解配置和关系随时间的推移而发生了怎样的变化。

准备工作

  • 确保您拥有 Google SecOps 实例。
  • 确保您拥有对 AWS 的特权访问权限。

配置 CloudTrail 和 AWS S3 存储分区

  1. 登录 AWS 管理控制台。
  2. 前往 Amazon S3 控制台
  3. 在 AWS 控制台中,搜索 Cloudtrail
  4. 点击创建小路
  5. 提供跟踪名称
  6. 选择 Create new S3 bucket(您也可以选择使用现有的 S3 存储分区)。
  7. AWS KMS 别名提供名称,或选择现有的 AWS KMS 密钥。

  8. 点击下一步

  9. 选择事件类型,然后添加数据事件

  10. 点击下一步

  11. 检查设置,然后点击创建轨迹

  12. 在 AWS 控制台中,搜索 S3 存储分区

  13. 点击新创建的日志存储分区,然后选择 AWSLogs 文件夹。

  14. 点击复制 S3 URI 并保存。

配置 AWS Config API 调用日志记录

  1. 在 AWS 中,依次前往 AWS Config > 设置 AWS Config
  2. 选择存储分区类型(选择现有存储分区详细信息或创建新存储分区)。
  3. 选择所有所需的 AWS 管理规则,然后点击下一步以选择存储分区。
  4. 如需详细了解规则类型,请参阅 AWS Config,以便根据您的要求选择适当的规则:
    • 合规性规则:用于评估资源的配置,以确保其符合合规性标准或监管要求。
    • 配置规则:用于评估资源的配置,以确保其符合所需的配置标准。
    • 性能规则:用于评估资源的配置,以确保资源针对性能进行了优化。
    • 安全规则:用于评估资源的配置,以确保其符合安全标准或要求。
  5. 点击创建配置
  6. 前往 Amazon S3
  7. 点击新创建的日志存储分区,然后选择文件夹 AWSLogs
  8. 点击复制 S3 URI 并保存。

配置 AWS IAM 用户

  1. 在 AWS 控制台中,搜索 IAM
  2. 点击用户
  3. 点击添加用户
  4. 为用户提供一个名称(例如 chronicle-feed-user)。
  5. 选择 Access key - Programmatic access(访问密钥 - 以程序化方式访问)作为 AWS 凭据类型。
  6. 点击 Next: Permissions
  7. 选择 Attach existing policies directly
  8. 选择 AmazonS3ReadOnlyAccessAmazonS3FullAccess
  1. 点击 Next: Tags
  2. 可选:根据需要添加任何标记。
  3. 点击下一步:检查
  4. 检查配置,然后点击 Create user
  5. 复制已创建用户的访问密钥 ID 和 Secret 访问密钥。

在 Google SecOps 中配置 Feed 以提取 AWS Config 日志

  1. 依次前往 SIEM 设置 > Feed
  2. 点击新增
  3. Feed 名称字段中,输入 Feed 的名称(例如“AWS 配置日志”)。
  4. 选择 Amazon S3 作为来源类型
  5. 选择 AWS Config 作为日志类型
  6. 点击下一步
  7. 为以下输入参数指定值:

    • 区域:Amazon S3 存储分区所在的区域。
    • S3 URI:存储分区 URI。
      • s3:/BUCKET_NAME
        • BUCKET_NAME 替换为存储分区的实际名称。
    • URI 是:根据日志流配置(单个文件 | 目录 | 包含子目录的目录)选择 URI_TYPE。
    • 来源删除选项:根据您的偏好选择删除选项。
    • 访问密钥 ID:有权访问 S3 存储分区的用户访问密钥。
    • 私有访问密钥:有权访问 S3 存储分区的用户私有密钥。
    • 资源命名空间资源命名空间
    • 提取标签:要应用于此 Feed 中的事件的标签。
  8. 点击下一步

  9. 最终确定界面中查看新的 Feed 配置,然后点击提交

UDM 映射

日志字段 UDM 映射 逻辑
ARN target.resource.id 该值取自 ARN 字段。
awsAccountId principal.user.userid 该值取自 awsAccountId 字段。
awsRegion target.asset.location.country_or_region 该值取自 awsRegion 字段。
configurationItem.awsAccountId principal.user.userid 该值取自 configurationItem.awsAccountId 字段。
configurationItem.configurationItemCaptureTime target.asset.attribute.creation_time 该值取自 configurationItem.configurationItemCaptureTime 字段,并转换为时间戳。
configurationItem.configurationItemStatus target.asset.attribute.labels.value 该值取自 configurationItem.configurationItemStatus 字段。该键设置为“配置项状态”。
configurationItem.relationships.name additional.fields.value.list_value.values.string_value 该值取自 configurationItem.relationships.name 字段。该键设置为“configurationItem.relationships.resource_names”。
configurationItem.relationships.resourceId additional.fields.value.list_value.values.string_value 该值取自 configurationItem.relationships.resourceId 字段。该键设置为“configurationItem.relationships.resource_ids”。
configurationItem.relationships.resourceType additional.fields.value.list_value.values.string_value 该值取自 configurationItem.relationships.resourceType 字段。键设置为“configurationItem.relationships.resource_types”。
configurationItem.resourceId target.resource.id 该值取自 configurationItem.resourceId 字段。
configurationItem.resourceType target.resource.resource_subtype 该值取自 configurationItem.resourceType 字段。
不适用 metadata.event_type 如果 configurationItemDiff.changeType 为“UPDATE”,则 metadata.event_type 会设为“RESOURCE_WRITTEN”。如果 configurationItemDiff.changeType 为“CREATE”,则 metadata.event_type 设为“RESOURCE_CREATION”。如果 configurationItem.configurationItemStatus 为“OK”或“ResourceDiscovered”,则 metadata.event_type 会设为“RESOURCE_READ”。如果 configurationItem.configurationItemStatus 为“ResourceDeleted”,则 metadata.event_type 会设为“RESOURCE_DELETION”。如果不满足上述任何条件,则 metadata.event_type 会设为“GENERIC_EVENT”。
不适用 metadata.log_type 设置为“AWS_CONFIG”。
不适用 metadata.product_name 设置为“AWS Config”。
不适用 metadata.vendor_name 设置为“AMAZON”。
不适用 target.asset.attribute.cloud.environment 设置为“AMAZON_WEB_SERVICES”。
不适用 target.resource.resource_type 设置为“VIRTUAL_MACHINE”。

变化

2024-02-22

  • 将之前存储在与“configurationItem.relationships”相关的特定字段中的数据移到了名为“additional.fields”的更通用字段。

2022-05-27

  • 解析器现在会明确将其输出标记为来自“AWS Config”。

2022-03-30

  • 改进了解析器处理“relationship.resourceId”信息的方式,使其适用于更多日志类型。

需要更多帮助?向社区成员和 Google SecOps 专业人士寻求解答。