收集 Akamai DNS 日志

支持的平台:

此解析器会处理 Akamai DNS 日志。它会提取时间戳、来源 IP 和端口、查询、DNS 记录类型和响应详情等字段。然后,它会将这些字段映射到 UDM,处理各种 DNS 记录类型和潜在的 SPF 记录。解析器会根据是否存在主要信息将事件分类为 NETWORK_DNSGENERIC_EVENT

准备工作

  • 确保您拥有 Google SecOps 实例。
  • 确保您拥有对 AWS IAM 和 S3 的超级用户访问权限。
  • 确保您的 Akamai 账号有权访问日志传送服务。

配置 Amazon S3 存储分区

  1. 按照以下用户指南创建 Amazon S3 存储分区创建存储分区
  2. 保存存储分区的名称区域,以备日后参考。
  3. 按照以下用户指南创建用户创建 IAM 用户
  4. 选择创建的用户
  5. 选择安全凭据标签页。
  6. 点击访问密钥部分中的创建访问密钥
  7. 选择第三方服务作为用例
  8. 点击下一步
  9. 可选:添加说明标记。
  10. 点击创建访问密钥
  11. 点击下载 .csv 文件,然后保存访问密钥密钥,以备日后参考。
  12. 点击完成
  13. 选择权限标签页。
  14. 权限政策部分中,点击添加权限
  15. 选择添加权限
  16. 选择直接附加政策
  17. 搜索并选择 AmazonS3FullAccess 政策。
  18. 点击下一步
  19. 点击添加权限

在 Akamai 中配置日志传送服务

  1. 登录 Akamai 控制中心。
  2. 前往数据服务下的日志传送服务
  3. 点击添加新配置
  4. 配置名称字段中,为您的配置提供一个名称(例如“将边缘 DNS 日志导出到 S3”)。
  5. 选择 Edge DNS 作为日志源
  6. 选择 AWS S3 作为传送目标
  7. 提供以下详细信息:
    • 存储分区名称:您的 S3 存储分区的名称。
    • 区域:存储分区托管的 AWS 区域。
    • 访问密钥 ID:IAM 用户访问密钥 ID。
    • 私有访问密钥:IAM 用户的私有访问密钥。
    • 可选:指定目录结构。(例如:logs/akamai-dns/YYYY/MM/DD/HH/)。
    • 可选:设置文件命名惯例。(例如:edge-dns-logs-{timestamp}.log)。
  8. 选择要添加的日志格式
    • DNS 查询
    • DNS 响应
  9. 选择投放频率
    • 选项包括每小时、每天或达到特定文件大小(例如 100MB)时。
  10. 可选:点击添加过滤条件,根据特定条件(例如主机名或记录类型)包含或排除特定日志。
  11. 查看配置详情,然后点击保存并启用

在 Google SecOps 中配置 Feed 以提取 Akamai DNS 日志

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

    • 区域:Amazon S3 存储分区所在的区域。
    • S3 URI:存储分区 URI。

      • s3://BUCKET_NAME

      替换以下内容:

      • BUCKET_NAME:存储分区的名称。
    • URI 是:根据日志流配置(单个文件 | 目录 | 包含子目录的目录)选择 URI_TYPE

    • 来源删除选项:根据您的偏好选择删除选项。

    • 访问密钥 ID:有权访问 S3 存储分区的用户访问密钥。

    • 私有访问密钥:有权访问 S3 存储分区的用户私钥。

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

    • 提取标签:要应用于此 Feed 中的事件的标签。

  8. 点击下一步

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

UDM 映射表

日志字段 UDM 映射 逻辑
read_only_udm.network.dns.questions.class 如果类别为“IN”,请将其设置为 1。否则,尝试转换为无符号整数。
column11 read_only_udm.target.hostname 如果包含主机名且不包含“ip4”“="”“.net”或“10 mx0”等特定模式,则会被映射。还用于根据各种模式提取 IP 地址、电子邮件地址和 DNS 权威数据。
column11 read_only_udm.target.ip 如果 column11 与 SPF 记录中的 IP 地址模式匹配,则从中提取。
column11 read_only_udm.target.user.email_addresses 如果 column11 与 DMARC 记录中的电子邮件地址模式匹配,则从中提取。
column11 read_only_udm.network.dns.authority.data 如果 column11 与各种记录类型中的域名模式匹配,则从中提取。
column11 read_only_udm.network.dns.response_code 如果 column11 包含“NXDOMAIN”,则设置为 3。
column2 read_only_udm.principal.ip 如果是有效的 IP 地址,则会进行映射。
column3 read_only_udm.principal.port 如果是有效整数,则会进行映射。
column4 read_only_udm.network.dns.questions.name 直接映射。
column6 read_only_udm.network.dns.questions.type 根据 type 的值进行映射,使用条件逻辑来分配相应的数值。
column8 read_only_udm.network.sent_bytes 转换为无符号整数并进行映射。
read_only_udm.metadata.event_timestamp 由从 column1 中提取的日期时间字段构建而成。
read_only_udm.event_type 如果存在 principal.ip,则设置为 NETWORK_DNS;否则,设置为 GENERIC_EVENT
read_only_udm.product_name 已硬编码为 AKAMAI_DNS
read_only_udm.vendor_name 已硬编码为 AKAMAI_DNS
read_only_udm.dataset 已硬编码为 AKAMAI_DNS
read_only_udm.event_subtype 已硬编码为 DNS

更改

2024-05-28

  • bug 修复:添加了 gsub 函数,用于从日志消息中移除双引号。
  • 添加了 Grok 模式,以便在映射之前验证 IP 地址和端口值。