跳转到内容
搜索文档

概览

最后更新 查看 MarkdownAgent 设置

随机前缀攻击是指有人向极不可能存在但仍与你的主域名(example.com)关联的子域(12345.example.comabcdefg.example.com)发送大量流量。

通常,对每个随机子域(或前缀)的 DNS 查询不会重复,因此解析器或任何其他代理无法缓存,始终到达权威 nameserver。基于源 IP 的速率限制或阻止查询可能引入大量误报,因为随机前缀攻击通常通过公共解析器进行。这使得此类攻击特别有效且难以缓解。


攻击特征

对不存在域名的查询

如果请求仅涉及不存在的域名,NXDOMAIN 错误将仅由 com. 的顶级域名(TLD)nameserver 提供。这意味着查询永远不会到达权威 nameserver。

    flowchart TD
      accTitle: Random prefix attacks diagram
      A[End user query to <code>example.com</code>] --"1)"--> B[<code>1.1.1.1 resolver</code>]
      B --"2)"--> C[<code>com.</code> TLD NS]
      C --"3)" <code>NXDOMAIN error</code>--> B
      B --"4)" <code>NXDOMAIN error</code>--> A
      D[Authoritative NS]

对不存在子域名的查询

这些攻击之所以成功,是因为它们针对子域名,这需要域权威 nameserver 的响应。

    flowchart TD
      accTitle: Random prefix attacks diagram
      A[End user query to <code>random.example.com</code>] --"1)"--> B[<code>1.1.1.1 resolver</code>]
      B -- "2)" --> C[<code>com.</code> TLD NS]
      C -- "3)" Query Authoritative NS --> B
      B -- "4)" --> D[Authoritative NS]
      D --"5)" <code>NXDOMAIN error</code>--> B
      B --"6)" <code>NXDOMAIN error</code>--> A

针对现有域名子域名的攻击,resolver 被迫针对权威 nameserver 完全解析,因为这些随机子域名可能未被 resolver 或任何其他代理缓存。如果攻击者发送足够多的此类查询,且权威 nameserver 无法处理查询负载,它将变得无响应甚至崩溃,导致其托管的所有 zone 宕机,不仅仅是受攻击的 zone。

此攻击难以缓解有几个原因。从权威 nameserver 的角度来看,攻击者看起来是 Cloudflare(1.1.1.1),因为这是查询的来源。阻止 Cloudflare 不是选项,因为这会阻止合法流量。

解决方案

当您启用随机前缀攻击缓解时,Cloudflare 监控传入查询以检测潜在的随机前缀攻击。

当我们检测到攻击时,我们将暂时停止查询您的上游 nameserver 以获取子域名、子子域名等。Cloudflare 然后将响应缓存的响应(如果其 TTL 尚未过期)。

这篇文档对您有帮助吗?