收集 Akamai DNS 日志
解析器版本: 4.0
本文档介绍了如何使用 Google Cloud Storage V2 将 Akamai DNS 日志注入到 Google Security Operations。
Akamai Edge DNS 是一项权威 DNS 服务,可提供快速、高可用性且安全的 DNS 解析。它利用 Akamai Intelligent Edge 平台从最近的接入点提供 DNS 响应,并提供内置的 DDoS 攻击保护和 DNSSEC 支持。您可以使用 Akamai DataStream 2 将 Edge DNS 查询日志流式传输到 Google Cloud Storage 存储桶,然后 Google SecOps 会提取这些日志。
准备工作
请确保满足以下前提条件:
- Google SecOps 实例
- 启用了 Cloud Storage API 的 GCP 项目
- 创建和管理 GCS 存储分区的权限
- 管理 GCS 存储分区的 IAM 政策的权限
- 具有 DataStream 访问权限的 Akamai Control Center 账号
- 包含 Edge DNS 和 DataStream 2 的 Akamai 合同
- 在您的 Akamai 账号中配置并处于活跃状态的 Edge DNS 区域
创建 Google Cloud Storage 存储桶
- 前往 Google Cloud 控制台。
- 选择您的项目或创建一个新项目。
- 在导航菜单中,前往 Cloud Storage > 存储分区。
- 点击创建存储桶 。
提供以下配置详细信息:
设置 值 指定存储桶的名称 输入一个全局唯一的名称(例如 akamai-dns-logs)位置类型 根据您的需求进行选择(区域、双区域、多区域) 位置 选择相应位置(例如 us-central1)存储类别 标准(建议用于经常访问的日志) 访问权限控制 统一(推荐) 保护工具 可选:启用对象版本控制或保留政策 点击创建 。
为 DataStream 2 创建 GCS 服务帐号
DataStream 2 需要具有写入权限的 GCS 服务帐号,才能将日志传送到您的存储桶。
创建服务帐号
- 在 GCP 控制台 中,前往 IAM 和管理 > 服务账号。
- 点击创建服务账号 。
- 提供以下配置详细信息:
- 服务账号名称:输入
akamai-datastream-sa - 服务账号说明:输入
Service account for Akamai DataStream 2 to write Edge DNS logs to GCS
- 服务账号名称:输入
- 点击创建并继续 。
- 在向此服务帐号授予对项目的访问权限 部分中,添加以下角色:
- 点击选择角色 。
- 搜索并选择 Storage Object Creator 。
- 点击继续 。
- 点击完成 。
创建并下载服务帐号密钥
- 在 GCP 控制台 中,前往 IAM 和管理 > 服务账号。
- 点击该服务帐号 (
akamai-datastream-sa)。 - 前往密钥 标签页。
- 点击添加密钥 > 创建新密钥。
- 选择 JSON 作为密钥类型。
- 点击创建 。
- 安全地保存下载的 JSON 密钥文件。配置 DataStream 2 时,您将需要服务账号名称 和私钥 值。
授予对 GCS 存储桶的 IAM 权限
向服务帐号授予对 GCS 存储桶的写入权限:
- 前往 Cloud Storage > 存储分区。
- 点击您的存储桶名称(例如
akamai-dns-logs)。 - 前往权限 标签页。
- 点击授予访问权限 。
- 提供以下配置详细信息:
- 添加主账号:输入服务帐号电子邮件地址(例如
akamai-datastream-sa@PROJECT_ID.iam.gserviceaccount.com) - 分配角色:选择 Storage Object Creator
- 添加主账号:输入服务帐号电子邮件地址(例如
- 点击保存 。
为 Edge DNS 配置 DataStream 2
DataStream 2 取代了旧版日志传送服务 (LDS),用于流式传输 Edge DNS 日志。使用 DataStream 2 创建一个数据流,用于收集 Edge DNS 查询日志并将其传送到您的 GCS 存储桶。
创建 Edge DNS 数据流
- 登录 Akamai Control Center。
- 前往 ☰ > COMMON SERVICES > DataStream。
- 点击创建信息流 。
- 从下拉列表中选择 Edge DNS 。
- 在配置 标签页中,提供以下配置详细信息:
- 显示名称:输入数据流的名称(例如
Edge DNS to GCS) - 群组:选择相关的账号控制群组
- 合同 ID:验证与该群组关联的合同编号
- 显示名称:输入数据流的名称(例如
- 在选择区域 中,选择您希望数据流收集日志数据的 Edge DNS 区域。
- 点击下一步 。
选择数据参数
在数据集 标签页中,选择您希望包含在数据流中的数据集字段。Edge DNS 提供以下字段:
数据元素 JSON 键 说明 纪元时间戳 timeStamp日志条目的 Unix 纪元时间戳 日期 date日志条目的世界协调时间 (UTC) 日期 解析器 IP requestIP发出请求的 DNS 解析器的 IP 地址 请求端口 requestPortDNS 解析器的端口号 请求名称 requestName请求的查询名称 类 dnsClass请求的 DNS 类 请求类型 requestType请求的 DNS 记录类型 EDNS0 标志 edns0FlagEDNS0 客户端子网 (ECS) 指标 EDNS0 大小 edns0SizeECS 字段大小(以字节为单位) DNSSEC 标志 dnssecFlagDNSSEC 指标 TCP 标志 tcpFlagTCP 指标 回答 answers请求查询名称的请求回答 时间 time日志条目的世界协调时间 (UTC) 点击下一步 。
配置 Google Cloud Storage 目标
- 在目标 标签页中,选择 Google Cloud Storage 。
提供以下配置详细信息:
- 显示名称:输入目标的名称(例如
GCS Edge DNS Logs) - 存储桶:输入 GCS 存储桶的名称(例如
akamai-dns-logs) - 项目 ID:输入您的 GCP 项目 ID
- 路径 (可选):输入日志文件的文件夹路径(例如
akamai-dns) - 服务账号名称:输入 JSON 密钥文件中的服务帐号名称 (
akamai-datastream-sa) 私钥:以 PEM 格式输入 JSON 密钥文件中的
private_key值,并使用换行符-----BEGIN PRIVATE KEY-----\nprivate_key_content\n-----END PRIVATE KEY-----\n
- 显示名称:输入目标的名称(例如
点击验证并保存 以测试与 GCS 存储桶的连接。
(可选)在传送选项 菜单中:
- 修改文件名 字段,以更改日志文件的前缀和后缀
- 更改推送频率 ,以每 30 秒或 60 秒接收捆绑日志
点击下一步 以前往摘要 标签页。
查看并激活
- 在摘要 标签页中,查看数据流配置。
- 点击激活信息流 。
- 等待数据流状态更改为 Active (这可能需要几分钟时间)。
验证日志传送
- 数据流处于活跃状态后,等待配置的推送频率间隔(30 秒或 60 秒)。
- 前往 Google Cloud 控制台。
- 前往 Cloud Storage > 存储分区。
- 点击您的存储桶名称(例如
akamai-dns-logs)。 - 前往路径文件夹(例如
akamai-dns/)。 - 验证是否正在创建新的日志文件。
如果日志文件未显示,请执行以下操作:
- 在 DataStream 信息中心内验证数据流状态是否为 Active
- 检查服务帐号是否具有对存储桶的 Storage Object Creator 权限
- 验证存储桶名称和项目 ID 在数据流配置中是否正确
- 在 DataStream 信息中心内检查是否存在验证错误
检索 Google SecOps 服务帐号
Google SecOps 使用唯一的服务帐号从您的 GCS 存储桶读取数据。您必须授予此服务帐号对您的存储桶的访问权限。
获取服务帐号电子邮件地址
- 前往 SIEM 设置 > Feed。
- 点击 Add New Feed 。
- 点击配置单个 Feed 。
- 在 Feed 名称 字段中,输入 Feed 的名称(例如
Akamai DNS Logs)。 - 选择 Google Cloud Storage V2 作为来源类型 。
- 选择 AKAMAI_DNS 作为日志类型 。
- 点击 Get Service Account 。
系统会显示一个唯一的服务帐号电子邮件地址,例如:
chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com复制此电子邮件地址,以便在下一步中使用。
点击下一步 。
为以下输入参数指定值:
存储桶网址:输入带有前缀路径的 GCS 存储桶 URI:
gs://akamai-dns-logs/akamai-dns/
来源删除选项:根据您的偏好选择删除选项:
- 永不:转移后永不删除任何文件(建议用于测试)。
- 删除已转移的文件:成功转移后删除文件。
删除已转移的文件和空目录:成功转移后删除文件和空目录。
文件最长保留时间:包含在过去指定天数内修改的文件(默认值为 180 天)
资产命名空间:资产命名空间
提取标签:要应用于此 Feed 中的事件的标签
点击下一步 。
在最终确定 屏幕中查看新的 Feed 配置,然后点击提交 。
向 Google SecOps 服务帐号授予 IAM 权限
Google SecOps 服务帐号需要对您的 GCS 存储桶具有 Storage Object Viewer 角色。
- 前往 Cloud Storage > 存储分区。
- 点击您的存储桶名称(例如
akamai-dns-logs)。 - 前往权限 标签页。
- 点击授予访问权限 。
- 提供以下配置详细信息:
- 添加主账号:粘贴 Google SecOps 服务帐号电子邮件地址
- 分配角色:选择 Storage Object Viewer
点击保存 。
UDM 映射表
| 日志字段 | UDM 映射 | 逻辑 |
|---|---|---|
timestamp |
metadata.event_timestamp |
从原始日志的 timestamp 字段解析。 |
source_ip |
principal.ip |
该值取自 source_ip 字段。 |
source_port |
principal.port |
该值取自 source_port 字段并转换为整数。 |
query |
network.dns.questions.name |
该值取自 query 字段。 |
query_type |
network.dns.questions.type |
该值取自 query_type 字段并映射到 DNS 记录类型。 |
response_code |
network.dns.response_code |
该值取自 response_code 字段。 |
metadata.event_type |
如果存在主账号信息,则设置为 NETWORK_DNS;否则设置为 GENERIC_EVENT。 |
|
metadata.product_name |
设置为 Akamai DNS。 |
|
metadata.vendor_name |
设置为 Akamai。 |
更新日志
需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。