收集 AWS 密钥管理服务日志

支持的平台:

本文档介绍了如何将 AWS Key Management Service (KMS) 日志提取到 Google 安全运营中心。AWS KMS 是一项完全托管式服务,可让您创建和控制用于加密数据的加密密钥。此集成有助于监控和审核加密密钥的使用情况。

准备工作

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

配置 Amazon S3 和 IAM

  1. 按照以下用户指南创建 Amazon S3 存储分区创建存储分区
  2. 保存存储分区的名称区域,以备日后使用。
  3. 按照以下用户指南创建用户:创建 IAM 用户
  4. 选择创建的用户
  5. 选择安全凭据标签页。
  6. 点击访问密钥部分中的创建访问密钥
  7. 选择第三方服务作为用例
  8. 点击下一步
  9. 可选:添加说明标记。
  10. 点击创建访问密钥
  11. 点击下载 CSV 文件,保存访问密钥密钥以供日后使用。
  12. 点击完成
  13. 选择权限标签页。
  14. 权限政策部分中,点击添加权限
  15. 选择添加权限
  16. 选择直接附加政策
  17. 搜索并选择 AmazonS3FullAccess 政策。
  18. 点击下一步
  19. 点击添加权限

为 AWS KMS 配置 CloudTrail

  1. 登录 AWS Management Console
  2. 在搜索栏中输入 CloudTrail,然后从服务列表中选择该服务。
  3. 点击创建小路
  4. 提供轨迹名称(例如 KMS-Activity-Trail)。
  5. 选中为组织中的所有账号启用复选框。
  6. 输入之前创建的 S3 存储分区 URI(格式应为:s3://your-log-bucket-name/),或创建新的 S3 存储分区。
  7. 如果启用了 SSE-KMS,请为 AWS KMS 别名提供名称,或选择现有的 AWS KMS 密钥
  8. 您可以将其他设置保留为默认设置。
  9. 点击下一步
  10. 在“事件类型”下,选择管理事件数据事件
  11. 点击下一步
  12. 检查并创建中检查设置。
  13. 点击创建小路
  14. 可选:如果您创建了新存储分区,请继续执行以下流程:
    1. 前往 S3
    2. 找到并选择新创建的日志存储分区。
    3. 选择文件夹 AWSLogs
    4. 点击复制 S3 URI 并保存。

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

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

    • 区域:Amazon S3 存储分区所在的区域。
    • S3 URI:存储分区 URI。
      • s3://your-log-bucket-name/
        • your-log-bucket-name 替换为存储分区的实际名称。
    • URI 是:选择目录包含子目录的目录
    • 来源删除选项:根据您的偏好选择删除选项。

    • 访问密钥 ID:有权访问 S3 存储分区的用户访问密钥。

    • 私有访问密钥:有权访问 S3 存储分区的用户私有密钥。

    • 资源命名空间资源命名空间

    • 提取标签:要应用于此 Feed 中的事件的标签。

  8. 点击下一步

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

UDM 映射表

日志字段 UDM 映射 逻辑
data.detail.awsRegion principal.location.country_or_region 直接从原始日志中的 data.detail.awsRegion 字段映射。
data.detail.eventCategory security_result.category_details 直接从原始日志中的 data.detail.eventCategory 字段映射。
data.detail.eventName metadata.product_event_type 直接从原始日志中的 data.detail.eventName 字段映射而来。此字段会根据以下逻辑确定 metadata.event_type 值:如果 eventName 为“Decrypt”或“Encrypt”,则 event_type 为“USER_RESOURCE_ACCESS”;如果 eventName 为“GenerateDataKey”,则 event_type 为“USER_RESOURCE_CREATION”;否则 event_type 为“GENERIC_EVENT”。
data.detail.requestID additional.fields.key 值在解析器代码中硬编码为“requestID”。
data.detail.requestID additional.fields.value.string_value 直接从原始日志中的 data.detail.requestID 字段映射。
data.detail.requestParameters.encryptionAlgorithm security_result.detection_fields.key 值在解析器代码中硬编码为“encryptionAlgorithm”。
data.detail.requestParameters.encryptionAlgorithm security_result.detection_fields.value 直接从原始日志中的 data.detail.requestParameters.encryptionAlgorithm 字段映射。
data.detail.resources.ARN target.resource.id 直接从原始日志中的 data.detail.resources.ARN 字段映射。
data.detail.resources.type target.resource.resource_subtype 直接从原始日志中的 data.detail.resources.type 字段映射。
data.detail.userIdentity.sessionContext.attributes.mfaAuthenticated principal.user.attribute.labels.key 在解析器代码中,该值已硬编码为“mfaAuthenticated”。
data.detail.userIdentity.sessionContext.attributes.mfaAuthenticated principal.user.attribute.labels.value 直接从原始日志中的 data.detail.userIdentity.sessionContext.attributes.mfaAuthenticated 字段映射。
data.detail.userIdentity.sessionContext.sessionIssuer.principalId principal.user.userid 直接从原始日志中的 data.detail.userIdentity.sessionContext.sessionIssuer.principalId 字段映射。
data.detail.userIdentity.sessionContext.sessionIssuer.userName principal.user.user_display_name 直接从原始日志中的 data.detail.userIdentity.sessionContext.sessionIssuer.userName 字段映射。
data.detail.userIdentity.type principal.user.attribute.roles.name 直接从原始日志中的 data.detail.userIdentity.type 字段映射。
data.id metadata.product_log_id 直接从原始日志中的 data.id 字段映射。
data.time metadata.event_timestamp.seconds 从原始日志中的 data.time 字段解析出的时间戳的秒值。
不适用 metadata.event_type 此字段由解析器逻辑根据 data.detail.eventName 的值派生而来:如果 eventName 为“Decrypt”或“Encrypt”,则 event_type 为“USER_RESOURCE_ACCESS”;如果 eventName 为“GenerateDataKey”,则 event_type 为“USER_RESOURCE_CREATION”;否则 event_type 为“GENERIC_EVENT”。
不适用 metadata.log_type 在解析器代码中,该值已硬编码为“AWS_KMS”。
不适用 metadata.product_name 值在解析器代码中硬编码为“AWS Key Management Service”。
不适用 metadata.vendor_name 解析器代码中将值硬编码为“AMAZON”。
不适用 principal.asset.attribute.cloud.environment 值在解析器代码中硬编码为“AMAZON_WEB_SERVICES”。

变化

2022-05-27

  • 增强功能:
  • 将 metadata.product_name 中存储的值修改为“AWS 密钥管理服务”。

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