将 AWS 日志注入 Google 安全运维套件

本文档详细介绍了将 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 安全运维套件会读取发送到 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 安全操作实例的基本步骤。这些步骤介绍了如何使用 Amazon S3 作为 Feed 来源类型,或视需要使用 Amazon S3 和 Amazon SQS 作为 Feed 来源类型。

配置 AWS CloudTrail 和 S3

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

  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 安全运营团队将使用该用户来访问 SQS 队列(如果使用)和 S3 存储桶。

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

创建 Feed

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

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

  1. 在导航栏中,依次选择 Settings(设置)、SIEM Settings(SIEM 设置)和 Feed
  2. Feed 页面上,点击新增
  3. 添加 Feed 对话框中,使用来源类型对话框选择 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 安全运营团队就只会每次扫描特定日期的日志:
      
          s3://aws-cloudtrail-logs-XXX-1234567/AWSLogs/1234567890/CloudTrail/us-east-1/{{datetime("yyyy/MM/dd")}}/
      
          
    2. 对于 URI IS A,请选择 Directories including subdirectoryies(目录包含子目录)。在源删除选项下选择相应的选项。这应与您之前创建的 IAM 用户帐号的权限一致。
    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 安全运营团队将使用该用户从 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 安全运维团队应在读取日志后清除 S3 存储分区,以优化 AWS S3 存储费用,将使用 AmazonS3FullAccess。点击下一步:标记

    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 安全运维团队每次只会扫描特定日期的日志:

    
    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 VPCS (AWS_EC2_VPCS)
  • AWS Identity and Access Management (IAM) (AWS_IAM)

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

  1. 在导航栏中,选择 Settings(设置)、SIEM Settings(SIEM 设置),然后选择 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