收集 AWS VPC Transit Gateway 流日志

支持的语言:

本文档介绍了如何使用 CloudWatch Logs 和 Kinesis Data Firehose 将 AWS VPC Transit Gateway 流日志注入到 Google Security Operations。传输网关流日志可捕获传输网关附件中的详细网络流量元数据。此集成会将这些日志流式传输到 Google SecOps,以进行监控和安全分析。

准备工作

请确保满足以下前提条件:

  • Google SecOps 实例
  • 对 AWS 的特权访问权限

启用 Transit Gateway 流日志(到 CloudWatch 日志)

  1. 登录 AWS 控制台
  2. 前往 VPC > 传输网关(或传输网关连接)。
  3. 选择目标资源。
  4. 依次点击操作 > 创建流日志
  5. 提供以下配置详细信息:
    • 目标位置:选择发送到 CloudWatch Logs
    • 日志组:选择或创建日志组(例如 /aws/tgw/flowlogs)。
    • IAM 角色:选择可写入 CloudWatch Logs 的角色。
    • 最大聚合间隔:选择 1 分钟(推荐)或 10 分钟
    • 日志记录格式:选择默认(如果需要其他字段,请选择自定义)。
  6. 点击创建流日志

在 Google SecOps 中配置 Feed 以注入 Transit Gateway 流日志

  1. 依次前往 SIEM 设置> Feed
  2. 点击 + 添加新 Feed
  3. Feed 名称字段中,输入 AWS Transit Gateway Flow Logs — CloudWatch via Firehose
  4. 选择 Amazon Data Firehose 作为来源类型
  5. 选择 Amazon VPC 传输网关流日志作为日志类型
  6. 点击下一步
  7. 为以下输入参数指定值:
    • 拆分分隔符:可选 n
    • 资源命名空间资源命名空间
    • 注入标签:应用于此 Feed 中事件的标签。
  8. 依次点击下一步 > 提交
  9. 在 Feed 详细信息中,点击生成密钥,然后复制密钥
  10. 端点信息中复制 Feed HTTPS 端点网址
  11. Google Cloud 控制台> API 和服务 > 凭据 > 创建凭据 > API 密钥中,创建 API 密钥将其限制为仅限 Chronicle API。复制 API 密钥

配置 Amazon Kinesis Data Firehose(直接向 Google SecOps 发送数据)

  1. AWS 控制台中,依次前往 Kinesis > Data Firehose > 创建交付流
  2. 提供以下配置详细信息:
    • 来源:选择直接 PUT 或其他来源
    • 目的地:选择 HTTP 端点
    • HTTP 端点网址:输入 ENDPOINT_URL?key=API_KEY(使用上一步中的 Feed HTTPS 端点网址和 API 密钥)。
    • HTTP 方法:选择 POST
    • 访问密钥:粘贴 Feed 中生成的密钥。
    • 缓冲提示:将缓冲区大小设置为 1 MiB,将缓冲间隔设置为 60 秒
    • 压缩:选择已停用
    • S3 备份:选择已停用
    • 重试日志记录设置保留为默认值。
  3. 点击创建交付数据流。(示例名称:cwlogs-to-secops

配置 IAM 权限并订阅日志组

  1. AWS 控制台中,依次前往 IAM > 政策 > 创建政策 > JSON 标签页
  2. 输入以下政策:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "firehose:PutRecord",
            "firehose:PutRecordBatch"
          ],
          "Resource": "arn:aws:firehose:<region>:<account-id>:deliverystream/cwlogs-to-secops"
        }
      ]
    }
    
    • <region><account-id> 替换为您的 AWS 区域和账号 ID。
  3. 为政策命名 CWLtoFirehoseWrite,然后点击创建政策

  4. 依次前往 IAM > 角色

  5. 点击 Create role

  6. 选择 Custom trust policy(自定义信任政策),然后输入以下内容:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "Service": "logs.<your-region>.amazonaws.com"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    
  7. 将政策 CWLtoFirehoseWrite 附加到角色。

  8. 将角色命名为 CWLtoFirehoseRole,然后点击创建角色

  9. 依次前往 CloudWatch > 日志 > 日志组

  10. 选择您之前启用的传输网关日志组

  11. 打开订阅过滤条件标签页,然后点击创建

  12. 选择 Create Amazon Kinesis Data Firehose subscription filter

  13. 配置以下内容:

    • 目标:交付数据流 cwlogs-to-secops
    • 授予权限:角色 CWLtoFirehoseRole
    • 过滤条件名称:输入 all-events
    • 过滤模式:留空可发送所有事件。
  14. 点击开始直播

需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。