将 AWS 日志注入 Google Security Operations

本文档详细介绍了将 AWS CloudTrail 日志和上下文数据注入到 Google Security Operations 的步骤。这些步骤也适用于从其他 AWS 服务(例如 AWS GuardDuty、AWS VPC Flow、AWS CloudWatch 和 AWS Security Hub)提取日志。

为了注入事件日志,配置会将 CloudTrail 日志定向到 Amazon Simple Storage Service (Amazon S3) 存储桶,您可以选择使用 Amazon Simple Queue Service (Amazon SQS) 队列。如果使用 Amazon SQS 队列,Google Security Operations 会读取发送到 Amazon SQS 队列的 Amazon S3 通知,并从 Amazon S3 存储桶中提取相应的文件。这实际上是 Amazon S3 Feed 的基于推送的版本,可用于实现更高的吞吐量。

本文档的第一部分提供了有关将 Amazon S3 用作 Feed 来源类型或者使用 Amazon S3 和 Amazon SQS 作为 Feed 来源(可选)的简要步骤。第二部分提供了更详细的步骤,以及使用 Amazon S3 作为 Feed 来源类型的屏幕截图。第二部分未介绍 Amazon SQS 的使用方法。第三部分介绍如何注入有关主机、服务、VPC 网络和用户的 AWS 上下文数据。

使用 SQS 从 S3 或 S3 注入日志的基本步骤

本部分介绍将 AWS CloudTrail 日志注入您的 Google Security Operations 实例的基本步骤。以下步骤介绍了如何使用 Amazon S3 作为 Feed 来源类型,或视情况使用 Amazon S3 和 Amazon SQS 作为 Feed 来源类型。

配置 AWS CloudTrail 和 S3

在此过程中,您需要配置要写入 S3 存储桶的 AWS CloudTrail 日志。

  1. 在 AWS 控制台中,搜索 CloudTrail
  2. 点击 Create trail
  3. 提供跟踪名称
  4. 选择 Create new S3 bucket。您也可以选择使用现有的 S3 存储桶。
  5. 提供 AWS KMS 别名,或选择现有的 AWS KMS 密钥
  6. 您可以将其他设置保留为默认值,然后点击 Next
  7. 选择事件类型,根据需要添加数据事件,然后点击下一步
  8. 检查并创建中检查设置,然后单击创建跟踪
  9. 在 AWS 控制台中,搜索 Amazon S3 Buckets
  10. 点击新创建的日志存储桶,然后选择文件夹 AWSLogs。然后点击复制 S3 URI 并保存,以便在后面的步骤中使用。

创建 SQS 队列

您可以选择使用 SQS 队列。如果您使用 SQS 队列,它必须是标准队列,而不是 FIFO 队列。

如需详细了解如何创建 SQS 队列,请参阅 Amazon SQS 使用入门

为您的 SQS 队列设置通知

如果您使用 SQS 队列,请在 S3 存储桶上设置通知,以写入您的 SQS 队列。请务必附加访问权限政策。

配置 AWS IAM 用户

配置一个 AWS IAM 用户,Google Security Operations 将使用该用户来访问 SQS 队列(如果使用)和 S3 存储桶。

  1. 在 AWS 控制台中,搜索 IAM
  2. 点击用户,然后在以下屏幕中点击添加用户
  3. 提供用户名(例如 chronicle-feed-userchronicle-feed-user),对于选择 AWS 凭据类型,选择访问密钥 - 程序化访问,然后点击下一步:权限
  4. 在下一步中,选择 Attach existing policies directly,然后根据需要选择 AmazonS3ReadOnlyAccessAmazonS3FullAccess。如果 Google Security Operations 应在读取日志后清除 S3 存储分区,将使用 AmazonS3FullAccess,以优化 AWS S3 存储费用。
  5. 作为上一步的建议替代步骤,您可以通过创建自定义政策进一步限制为仅可访问指定的 S3 存储桶。点击Create policy,然后按照 AWS 文档创建自定义政策。
  6. 应用政策时,请确保您已包含 sqs:DeleteMessage。 如果 sqs:DeleteMessage 权限未附加到 SQS 队列,Google Security Operations 无法删除消息。所有消息都会在 AWS 端累积,从而导致延迟,因为 Google Security Operations 反复尝试传输相同的文件。
  7. 点击 Next: Tags
  8. 添加任何所需标记,然后点击 Next: Review
  9. 检查配置,然后点击 Create user
  10. 复制已创建用户的 Access key IDSecret access key,以便在下一步中使用。

创建 Feed

完成上述步骤后,创建一个 Feed,将 AWS 日志从 Amazon S3 存储桶注入到您的 Google Security Operations 实例中。如果您还使用 SQS 队列,请在以下过程中选择 Amazon SQS(而不是 Amazon S3)作为来源类型。

要创建 Feed,请执行以下操作:

  1. 在导航栏中,依次选择 Settings(设置)、SIEM Settings(SIEM 设置),和 Feed(Feed)
  2. Feed 页面上,点击新增
  3. Add feed(添加 Feed)对话框中,使用 Source type(来源类型)对话框选择 Amazon S3Amazon SQS
  4. Log Type 菜单中,选择 AWS CloudTrail(或其他 AWS 服务)。
  5. 点击下一步
  6. 在相应字段中输入 Feed 的输入参数。

    如果来源类型为 Amazon S3:
    1. 选择区域并提供您之前复制的 Amazon S3 存储桶的 S3 URI。此外,您可以在 S3 URI 中附加以下内容:
      
          {{datetime("yyyy/MM/dd")}}
      
          
      如下例所示,以便 Google Security Operations 仅扫描特定日期的每次日志:
      
          s3://aws-cloudtrail-logs-XXX-1234567/AWSLogs/1234567890/CloudTrail/us-east-1/{{datetime("yyyy/MM/dd")}}/
      
          
    2. 对于 URI IS A,选择 Directories including subdirectoryies(目录包含子目录)。在来源删除选项 (Source Deletion Option) 下,选择适当的选项。这应该与您之前创建的 IAM User 帐号的权限一致。
    3. 提供您之前创建的 IAM 用户帐号的访问密钥 ID私有访问密钥

  7. 依次点击 NextFinish

从 S3 注入日志的详细步骤

配置 AWS CloudTrail(或其他服务)

完成以下步骤以配置 AWS CloudTrail 日志,并将这些日志写入在上一过程中创建的 AWS S3 存储桶:

  1. 在 AWS 控制台中,搜索 CloudTrail
  2. 点击 Create trail

    alt_text

  3. 提供跟踪名称

  4. 选择 Create new S3 bucket。您也可以选择使用现有的 S3 存储桶。

  5. 提供 AWS KMS 别名,或选择现有的 AWS KMS 密钥

    alt_text

  6. 您可以将其他设置保留为默认值,然后点击 Next

  7. 选择事件类型,根据需要添加数据事件,然后点击下一步

    alt_text

  8. 检查并创建中检查设置,然后单击创建跟踪

  9. 在 AWS 控制台中,搜索 Amazon S3 Buckets

    alt_text

  10. 点击新创建的日志存储桶,然后选择文件夹 AWSLogs。然后点击复制 S3 URI 并保存,以便在后面的步骤中使用。

    alt_text

配置 AWS IAM 用户

在此步骤中,我们将配置一位 AWS IAM 用户,Google Security Operations 将使用该用户从 AWS 获取日志 Feed。

  1. 在 AWS 控制台中,搜索 IAM

    alt_text

  2. 点击用户,然后在以下屏幕中点击添加用户

    alt_text

  3. 提供用户名(例如 chronicle-feed-userchronicle-feed-user),对于选择 AWS 凭据类型,选择访问密钥 - 程序化访问,然后点击下一步:权限

    alt_text

  4. 在下一步中,选择 Attach existing policies directly,然后根据需要选择 AmazonS3ReadOnlyAccessAmazonS3FullAccess。如果 Google Security Operations 应在读取日志后清除 S3 存储分区,将使用 AmazonS3FullAccess,以优化 AWS S3 存储费用。点击下一步:标记

    alt_text

  5. 作为上一步的建议替代步骤,您可以通过创建自定义政策进一步限制为仅可访问指定的 S3 存储桶。点击Create policy,然后按照 AWS 文档创建自定义政策。

    alt_text

  6. 添加任何所需标记,然后点击 Next: Review

  7. 检查配置,然后点击 Create user

    alt_text

  8. 复制已创建用户的 Access key IDSecret access key,以便在下一步中使用。

    alt_text

在 Google Security Operations 中配置 Feed 以提取 AWS 日志

  1. 转到 Google Security Operations 设置,然后点击 Feed
  2. 点击新增
  3. 来源类型部分选择 Amazon S3
  4. 对于 Log Type,选择 AWS CloudTrail(或其他 AWS 服务)。

alt_text

  1. 点击下一步
  2. 选择区域并提供您之前复制的 Amazon S3 存储桶的 S3 URI。此外,您可以将以下内容附加到 S3 URI:

    
    {{datetime("yyyy/MM/dd")}}
    
    

    如下例所示,以便 Google Security Operations 仅扫描特定日期每次的日志:

    
    s3://aws-cloudtrail-logs-XXX-1234567/AWSLogs/1234567890/CloudTrail/us-east-1/{{datetime("yyyy/MM/dd")}}/
    
    
  3. URI IS A 下,选择目录(包括子目录)。在来源删除选项下选择适当的选项,这应与我们之前创建的 IAM 用户账号的权限相匹配。

  4. 提供我们之前创建的 IAM 用户账号的访问密钥 ID私有访问密钥alt_text

  5. 点击下一步,然后点击完成

注入 AWS 上下文数据的步骤

如需注入有关 AWS 实体(例如主机、实例和用户)的上下文数据,请为以下每种日志类型创建一个 Feed(按说明和注入标签列出):

  • AWS EC2 主机 (AWS_EC2_HOSTS)
  • AWS EC2 实例 (AWS_EC2_INSTANCES)
  • AWS EC2 VPC (AWS_EC2_VPCS)
  • AWS Identity and Access Management (IAM) (AWS_IAM)

要为上面列出的每种日志类型创建 Feed,请执行以下操作:

  1. 在导航栏中,依次选择 Settings(设置)、SIEM Settings(SIEM 设置)和 Feed(Feed)。
  2. Feed 页面上,点击新增。系统随即会显示添加 Feed 对话框。
  3. 来源类型菜单中,选择第三方 API
  4. Log Type(日志类型)菜单中,选择 AWS EC2 Hosts(AWS EC2 主机)。
  5. 点击下一步
  6. 在相应字段中输入 Feed 的输入参数。
  7. 点击 Next,然后点击 Finish

有关为每种日志类型设置 Feed 的更多详细信息,请参阅以下 Feed 管理文档:

有关创建 Feed 的一般信息,请参阅 Feed 管理用户指南Feed Management API