收集 AWS Route 53 日志

支持的语言:

本文档介绍了如何配置 AWS CloudTrail 以将 AWS Route 53 DNS 日志存储在 S3 存储桶中,以及如何将日志从 S3 注入到 Google Security Operations。Amazon Route 53 提供 DNS 查询日志记录功能,并支持通过健康检查来监控资源。Route 53 与 AWS CloudTrail 集成,后者是一项服务,可提供用户、角色或 AWS 服务在 Route 53 中执行的操作记录。

准备工作

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

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

如何配置 AWS Cloudtrail 和 Route 53

  1. 登录 AWS 控制台。
  2. 搜索 Cloudtrail
  3. 如果您还没有轨迹,请点击创建轨迹
  1. 提供轨迹名称
  2. 选择 Create new S3 bucket(您也可以选择使用现有的 S3 存储桶)。
  3. 提供 AWS KMS 别名,或选择现有的 AWS KMS 密钥
  4. 将其他设置保留为默认值,然后点击下一步
  5. 选择事件类型,确保已选择管理事件(这些事件将包含 Route 53 API 调用)。
  6. 点击下一步
  7. 检查并创建中检查设置。
  8. 点击创建试验
  9. 在 AWS 控制台中,搜索 S3
  10. 点击新创建的日志存储桶,然后选择 AWSLogs 文件夹。
  11. 点击复制 S3 URI 并保存。

配置 AWS IAM 用户

  1. 在 AWS 控制台中,搜索 IAM
  2. 点击用户
  3. 点击添加用户
  4. 为用户提供名称(例如 chronicle-feed-user)。
  5. 选择 Access key - Programmatic access(访问密钥 - 以程序化方式访问)作为 AWS 凭据类型。
  6. 点击 Next: Permissions
  7. 选择 Attach existing policies directly
  8. 选择 AmazonS3ReadOnlyAccessAmazonS3FullAccess
  1. 点击 Next: Tags
  2. 可选:根据需要添加任何标记。
  3. 点击下一步:检查
  4. 检查配置,然后点击 Create user
  5. 复制已创建用户的访问密钥 ID 和私有访问密钥。

设置 Feed

您可以通过两种不同的入口点在 Google SecOps 平台中设置 Feed:

  • SIEM 设置 > Feed
  • 内容中心 > 内容包

通过“SIEM 设置”>“Feed”设置 Feed

如需为相应产品系列中的不同日志类型配置多个 Feed,请参阅按产品配置 Feed

如需配置单个 Feed,请按以下步骤操作:

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

    • 区域:Amazon S3 存储桶所在的区域。
    • S3 URI:存储桶 URI。
      • s3:/BUCKET_NAME
        • BUCKET_NAME 替换为您的 S3 存储桶的实际名称。
    • URI is a(URI 是):选择目录(包括子目录)
    • 源删除选项:根据您的提取偏好设置选择删除选项。
    • 访问密钥 ID:有权从 S3 存储桶读取数据的用户的访问密钥。

    • 私有访问密钥:具有从 S3 存储桶读取权限的用户的私有密钥。

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

    • 注入标签:要应用于此 Feed 中事件的标签。

  9. 点击下一步

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

设置来自内容中心的 Feed

为以下字段指定值:

  • 区域:Amazon S3 存储桶所在的区域。
  • S3 URI:存储桶 URI。
    • s3://your-log-bucket-name/
      • your-log-bucket-name 替换为您的 S3 存储桶的实际名称。
  • URI is a(URI 是):选择目录(包括子目录)
  • 源删除选项:根据您的提取偏好设置选择删除选项。
  • 访问密钥 ID:有权从 S3 存储桶读取数据的用户的访问密钥。

  • 私有访问密钥:具有从 S3 存储桶读取权限的用户的私有密钥。

高级选项

  • Feed 名称:用于标识 Feed 的预填充值。
  • 来源类型:用于将日志收集到 Google SecOps 中的方法。
  • 资产命名空间与 Feed 关联的命名空间
  • 提取标签:应用于相应 Feed 中所有事件的标签。

UDM 映射表

日志字段 UDM 映射 逻辑
account_id read_only_udm.principal.resource.product_object_id 与查询相关联的 AWS 账号 ID。
firewall_domain_list_id read_only_udm.security_result.rule_labels.value 所查询网域所属的网域列表的 ID。
firewall_rule_action read_only_udm.security_result.action 与查询匹配的防火墙规则执行的操作。可能的值包括“ALLOW”“BLOCK”或“UNKNOWN_ACTION”(如果操作无法识别)。
firewall_rule_group_id read_only_udm.security_result.rule_id 与查询匹配的防火墙规则组的 ID。
logEvents{}.id read_only_udm.principal.resource.product_object_id 日志事件的唯一 ID。如果不存在“account_id”,则用作后备。
logEvents{}.message 系统会根据此字段的格式将其解析为其他 UDM 字段。
logEvents{}.timestamp read_only_udm.metadata.event_timestamp.seconds 记录 DNS 查询的时间。
messageType 此字段用于确定日志消息的结构。
所有者 read_only_udm.principal.user.userid 日志所有者的 AWS 账号 ID。
query_class read_only_udm.network.dns.questions.class DNS 查询的类别。
query_name read_only_udm.network.dns.questions.name 所查询的域名。
query_timestamp read_only_udm.metadata.event_timestamp.seconds 发出 DNS 查询的时间。
query_type read_only_udm.metadata.product_event_type DNS 查询的类型。
rcode read_only_udm.metadata.description DNS 查询的响应代码。
区域 read_only_udm.principal.location.name 查询的来源 AWS 区域。
srcaddr read_only_udm.principal.ip 发出 DNS 查询的客户端的 IP 地址。
srcids.instance read_only_udm.principal.hostname 发出 DNS 查询的客户端的实例 ID。
srcids.resolver_endpoint read_only_udm.security_result.rule_labels.value 处理查询的解析器的端点 ID。
srcids.resolver_network_interface read_only_udm.security_result.rule_labels.value 处理查询的解析器的网络接口 ID。
srcport read_only_udm.principal.port 发出 DNS 查询的客户端的端口号。
transport read_only_udm.network.ip_protocol 用于 DNS 查询的传输协议。
版本 read_only_udm.metadata.product_version Route 53 解析器查询日志格式的版本。
不适用 read_only_udm.metadata.event_type 硬编码为“NETWORK_DNS”。
不适用 read_only_udm.metadata.product_name 硬编码为“AWS Route 53”。
不适用 read_only_udm.metadata.vendor_name 硬编码为“AMAZON”。
不适用 read_only_udm.principal.cloud.environment 硬编码为“AMAZON_WEB_SERVICES”。
不适用 read_only_udm.network.application_protocol 硬编码为“DNS”。
不适用 read_only_udm.network.dns.response_code 使用查找表从“rcode”字段映射。
不适用 read_only_udm.network.dns.questions.type 使用查找表从“query_type”字段映射。
不适用 read_only_udm.metadata.product_deployment_id 使用 grok 模式从“logevent.message_data”字段中提取。
不适用 read_only_udm.network.dns.authority.name 使用 grok 模式从“logevent.message_data”字段中提取。
不适用 read_only_udm.security_result.rule_labels.key 根据可用字段,设置为“firewall_domain_list_id”“resolver_endpoint”或“resolver_network_interface”。
不适用 read_only_udm.security_result.action_details 如果“firewall_rule_action”不是“ALLOW”或“BLOCK”,则设置为“firewall_rule_action”的值。

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