将 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 S3 的 Amazon S3 通知 SQS 队列,并从 Amazon S3 存储桶中拉取相应的文件。这是 实际上是 Amazon S3 Feed 的基于推送的版本,可用于 更高的吞吐量

本文档的第一部分提供了将 Amazon S3 用作 Feed 来源类型,或者使用将 Amazon SQS 作为 Feed 的 Amazon S3 来源类型。第二部分提供了更详细的步骤,并提供了相关屏幕截图, 使用 Amazon S3 作为 Feed 来源类型。使用 Amazon SQS 的内容不在 第二部分第三部分介绍如何注入 AWS 上下文 有关主机、服务、VPC 网络和用户的数据。

使用 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-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符合以下情况,Google Security Operations 无法删除消息: 权限。所有消息都会在 这导致出现延迟,因为 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: <ph type="x-smartling-placeholder">
      </ph>
    1. 选择区域并提供您之前复制的 Amazon S3 存储桶的 S3 URI。此外,您可以在 S3 URI 中附加以下内容:

      <pre>
      
      {{datetime("yyyy/MM/dd")}}
      
      </pre>
      
      As in the following example, so that Google Security Operations would scan logs each time only for a particular day:
      
      <pre>
      
      s3://aws-cloudtrail-logs-XXX-1234567/AWSLogs/1234567890/CloudTrail/us-east-1/{{datetime("yyyy/MM/dd")}}/
      
      </pre>
      

    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-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