收集 AWS Route 53 日志

支持的平台:

本文档介绍了如何配置 AWS CloudTrail 以将 AWS Route 53 DNS 日志存储在 S3 存储分区中,并将日志从 S3 提取到 Google 安全运营中心。Amazon Route 53 提供 DNS 查询日志记录功能,并支持使用健康检查来监控资源。Route 53 已与 AWS CloudTrail 集成。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 和 Secret 访问密钥。

在 Google SecOps 中配置 Feed 以提取 AWS Route 53 日志

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

    • 区域:Amazon S3 存储分区所在的区域。
    • S3 URI:存储分区 URI。
      • s3:/BUCKET_NAME
        • BUCKET_NAME 替换为存储分区的实际名称。
    • URI 是:选择包含子目录的目录
    • 来源删除选项:根据您的偏好选择删除选项。
    • 访问密钥 ID:有权访问 S3 存储分区的用户访问密钥。
    • 私有访问密钥:有权访问 S3 存储分区的用户私有密钥。
    • 资源命名空间资源命名空间
    • 提取标签:要应用于此 Feed 中的事件的标签。
  8. 点击下一步

  9. 最终确定界面中查看新的 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”,则将其设置为该值。

变化

2024-10-22

  • 增强功能:将“answers”字段映射到“network.dns.answers”。

2024-10-17

  • 增强功能:在映射到 UDM 之前,向所有字段添加了 on_error。

2023-12-20

  • bug 修复:
  • 添加了 gsub,用于将“\"”替换为“#”,以将 SYSLOG 转换为 JSON。
  • 添加了 gsub,用于将“#”替换回“\"”。

2023-05-08

  • 增强功能:
  • 修改了查询 DNS 日志的 Grok 模式,以支持新的日志格式。
  • 处理包含多个事件的 JSON 日志。

2022-08-10

  • 移除了额外的大写更改块。

2022-07-22

  • 新创建的解析器。

需要更多帮助?向社区成员和 Google SecOps 专业人士寻求解答。