返回首页

Cloud DNS 中的 NXDOMAIN 攻击:区域迁移

Cloud DNS 中异常 NXDOMAIN 流量案例:指标分析、通过 yc CLI 导出区域、转换为 zone file 并迁移。监控和记录审查建议,以防止再次发生。

Cloud DNS 中的 NXDOMAIN 爆发:区域如何迁移
Advertisement 728x90

Cloud DNS 异常 NXDOMAIN 流量分析:迁移实战与经验总结

2026年3月,Cloud DNS 中的一个公共 DNS 区域遭遇异常流量:NXDOMAIN 响应查询从每秒 0.57 次激增至每秒 2720 次。总负载跃升至每秒 2951 次查询,导致账单费用急剧上升。由于技术支持未能及时提供分析,我们不得不紧急将该区域迁移至外部托管服务。

监控数据显示,NXDOMAIN 查询量远超 NOERROR 查询。鉴于缺乏业务事件关联、流量模式重复出现且服务商未给出合理解释,该流量被判定为异常。

异常详情

3月22日正常基准数据:

Google AdInline article slot
  • A 记录 NOERROR 查询:每秒 9.38 次
  • A 记录 NXDOMAIN 查询:每秒 0.57 次
  • 总计:每秒 9.96 次查询

3月25日异常数据:

  • A 记录 NXDOMAIN 查询:每秒 2720.29 次
  • A 记录 NOERROR 查询:每秒 231.14 次
  • 总计:每秒 2951.43 次查询

该区域包含标准记录:A、CNAME、MX、TXT、NS,以及 DKIM、DMARC、ACME 等服务记录。首次告警出现在 3月7日至10日,主要事件发生在 3月24日至31日。

流量被归类为异常的依据包括:NXDOMAIN 查询占主导且无合理原因、事件反复发生、以及技术支持未予回应。

Google AdInline article slot

技术支持响应与财务影响

联系技术支持未获实质帮助:对方未分析流量,仅回复需等待同事处理。费用随对不存在域名的查询量成比例增加。

解决方案:在准备迁移的同时提交索赔。我们选择了支持区域文件导入的外部 DNS 托管服务。

迁移步骤

  • 导出记录:
yc dns zone list-records example-zone --format json > zone-records.json

JSON 结构示例:

Google AdInline article slot
{
  "record_sets": [
    {
      "name": "*.service.example-company.ru.",
      "type": "A",
      "ttl": "300",
      "data": [
        "203.0.113.10"
      ]
    },
    {
      "name": "_dmarc.example-company.ru.",
      "type": "TXT",
      "ttl": "300",
      "data": [
        "\"v=DMARC1; p=none; sp=none; rua=mailto:[email protected]\""
      ]
    }
  ]
}
  • 将 JSON 转换为 BIND 区域文件:
  • 使用 @ 表示源域名
  • 移除原服务商的 NS 记录
  • 解包多行 TXT 记录
  • 检查 CNAME、ACME、DMARC 记录
  • 排除 SOA 记录

区域文件示例:

$TTL 1d
example-company.ru. IN SOA ns1.provider.example. hostmaster.ns1.provider.example. (
        1
        14400
        3600
        604800
        10800
)

@       A       203.0.113.10
app     A       203.0.113.20
www     CNAME   infra.example-company.ru.

监控与准备建议

面向中高级 DevOps 和 SRE 工程师:

  • 按响应代码监控指标:NOERROR、NXDOMAIN、负载峰值。
  • 准备区域导出/转换脚本。
  • 迁移前审查记录:NS、TXT(ACME/DKIM)、私有 IP。

分开处理工单:技术分析与财务索赔分别提交。

若遇异常且无响应——启动备用方案:导出、迁移、记录所有操作。

核心经验

  • 监控 NXDOMAIN 查询可避免账单意外。
  • 通过 yc dns zone list-records --format json 导出是迁移关键步骤。
  • 从区域文件中排除服务商 NS 记录,避免冲突。
  • 审查 TXT/ACME 记录:移除过时条目。
  • 并行提交工单加速问题解决。

— Editorial Team

Advertisement 728x90

继续阅读