DNS Firewall Logs日志

DNS Firewall 没有单独的日志,当查询被 DNS Firewall 规则阻止时,DNS Firewall 字段会被添加到 Route 53 Resolver 查询日志中。

我们必须首先配置 Route 53 Resolver 查询日志记录,然后启用 DNS Firewall 规则,才能在日志中看到防火墙特定字段。有关更多信息,请参阅 为 DNS Firewall 配置 Resolver 查询日志记录 。已经提前配置好了这两个logging:

image-20260228202343575

image-20260228202404387

查看日志

  1. 导航到 CloudWatch 控制台
  2. 选择 Logs > Log groups
  3. 查找 Route 53 Resolver 日志组(dev-egress-query-loggingprod-egress-query-logging
  4. 选择一个日志组并选择一个日志流以查看条目

image-20260228202439156

Logs Insights分析


我们也可以手动分析 DNS 查询日志以识别可疑模式,让我们来看看如何使用 CloudWatch Logs Insights 检测潜在的 DNS 隧道行为。

导航到 CloudWatch 控制台,选择 Logs > Logs Insights,并同时选择两个 Route 53 Resolver 查询日志组(dev-egress-query-loggingprod-egress-query-logging)。

DNS 隧道通常涉及在单个父域下查询许多唯一子域,以窃取数据或建立命令与控制通道。此查询可识别被查询的唯一子域数量异常多的域:

fields @timestamp, query_name
| filter query_type = "A" or query_type = "AAAA"
| parse query_name /(?<subdomain>[^.]+)\.(?<domain>[^.]+\.[^.]+)$/
| stats count() as queryCount, count_distinct(subdomain) as uniqueSubdomains by domain
| filter uniqueSubdomains > 10
| sort by uniqueSubdomains desc

该查询提取父域并统计被查询的唯一子域数量。由于我们尚未生成任何 DNS 隧道流量,此查询暂时不会返回结果。