您的位置: 新闻资讯 > 行业动态 > 正文

什么是 DNS 反射流量攻击?原理拆解 + 两类角色的防护实战(图文)


来源:mozhe 2026-10-28


DNS 反射放大攻击(DRDoS)不需要庞大的攻击资源,却能以一进一出"几十倍"的流量放大把业务打瘫。本文拆解攻击原理与放大机制,并分别讲清"被攻击的业务方"和"被利用的 DNS 服务器"两类角色的自查与防护方法。

一、开篇:一次"别人打我,却从你家出门"的攻击

DDoS 攻击手法五花八门,而反射流量攻击(Reflection Attack,也叫 DRDoS)是性价比最高、也最难防的一类。它不需要攻击者拥有庞大的肉鸡网络,只需要借"第三方服务器的嘴"说话——而 DNS 服务器,正是历史上被利用得最多、放大效果最猛的一种反射源。

这篇文章讲清楚三件事:

  1. DNS 反射攻击的原理是什么,流量是怎么"变大"的;
  2. 如果你是被攻击的一方,怎么判断、怎么防;
  3. 如果你的 DNS 服务器被人当成了反射源(这往往发生在毫不知情的情况下),怎么处理、怎么避免再被利用。

二、先弄懂两个概念:反射与放大

2.1 反射:让第三方替攻击者"开火"

常规 DDoS 攻击中,攻击流量直接从攻击源发往目标,源地址相对可见,也容易被溯源。反射攻击换了一个思路:

  • 攻击者伪造自己的来源 IP,把请求伪装成"来自受害者";
  • 大量正常服务器收到请求后,把响应全部发往"受害者";
  • 受害者收到的,是成千上万台正常服务器的"正常回复"——看起来没有一条是恶意的,但加起来足以打垮带宽。

一句话总结:攻击者的流量小,受害者的流量大,中间差值由反射服务器补齐。

2.2 放大:一去一回,流量翻几十倍

光有反射还不够狠,真正的杀伤力来自"放大"。DNS 协议有一个天然特性:请求很小,响应可以很大。

一条几十字节的查询请求,如果查询的是一个能返回海量记录的类型,响应可能达到数千字节。一进一出,流量被放大几十倍。配合 EDNS0 扩展(允许更大的 DNS 报文),部分记录类型的放大倍数可以达到 28 到 54 倍——攻击者发出 1 Gbps 的请求,受害者可能要承受几十 Gbps 的洪水。

反射 + 放大叠加,攻击者用极低的成本,就能制造出远超自身带宽的攻击流量。这就是 DNS 长期位居反射攻击源首位的根本原因。

2.3 一次攻击的完整链路(示意)

攻击者                    被利用的开放 DNS 服务器              受害者
   |                            |                              |
   |--- 伪造源IP的小请求 ------->|                              |
   |      (几十字节)            |--- 数KB的响应 -------------->|
   |                            |      (以为在正常服务)         |
   |                            |                              |== 带宽被打满

注意链路中的每一个 DNS 服务器都在执行"正常动作":收到查询、返回记录。它们既是帮凶,也是受害者。

三、为什么偏偏是 DNS?

条件 DNS 是否满足 说明
请求远小于响应 是 典型查询几十字节,响应可达数 KB
基于 UDP,无需握手 是 无连接状态,源 IP 极易伪造
大量可公网访问的服务器 是 历史上数百万台开放递归解析器暴露在公网
响应可叠加 是 多台服务器同时响应,流量线性叠加

四个条件全中。这也是为什么 2013 年 Spamhaus 遭受的 300 Gbps 攻击(当年震惊行业的事件)正是利用 DNS 反射放大完成的。类似的还有 NTP、Memcached、SSDP 等协议,其中 Memcached 放大倍数甚至上万倍——但论"暴露面广、历史案例多",DNS 依然是企业最该优先排查的一项。

四、自查:你是哪种角色?

被卷入 DNS 反射攻击的只有两种角色,处理方式完全不同,先对号入座。

角色一:被攻击的业务方(受害者)

典型现象:

  • 业务流量曲线毫无征兆地陡增,进出流量同时暴涨,且以 UDP 流量为主;
  • 流量来源 IP 极其分散,遍布全球,且多为 DNS 服务器(53 端口发出);
  • 网站间歇性打不开、丢包严重,但服务器 CPU、内存占用并不高——瓶颈在带宽和链路,不在主机;
  • 抓包可见大量来自 53 端口的 UDP 响应,而你根本没发起过这些查询。

快速判断:大量来源为 UDP 53 端口 的入站流量,基本可确定是 DNS 反射攻击;123(NTP)、11211(Memcached)等端口对应其他反射类型。

角色二:被利用的 DNS 服务器(反射源,往往不知情)

典型现象:

  • 服务器出站流量异常暴涨,入站查询量远超正常水平;
  • 你并没被"打",但带宽账单暴增,或被云厂商限速、封禁、警告;
  • 甚至收到其他企业的投诉或托管商的滥用通知;
  • 查询日志里出现大量来自陌生 IP 的查询,集中于能返回大响应的记录类型。

如果你在公网上运行着一台允许递归查询的 DNS 服务器,请立刻按第六节排查——全球仍有大量开放解析器在不知情地为攻击者"打工"。

五、防护实战(角色一):业务方怎么扛住反射攻击

反射攻击最难防的一点是:流量在到达你之前就已经"合法"了。所以防护思路不是"拦",而是"卸"——把攻击流量在到达业务源站之前卸载掉。

5.1 接入高防 IP / 流量清洗

  • 原理:域名解析指向高防节点,攻击流量先到清洗中心,正常流量回源;
  • 清洗中心基于来源端口、报文特征、频率指纹识别反射流量(例如直接过滤所有源端口为 53 的入站 UDP);
  • 这是反射攻击最直接有效的对策,尤其适合没有自建防护能力的中小企业。

5.2 隐藏源站 IP

  • 源站 IP 一旦暴露,攻击者可以绕过高防直接打源站,高防就形同虚设;
  • 做法:全站走 CDN、源站只允许 CDN 回源 IP 访问、历史 DNS 记录和证书日志里的旧 IP 一并处理。

5.3 协议与架构层面的"减负"

  • 能走 TCP 的业务不要裸跑 UDP:UDP 无连接、易伪造,是反射攻击的主战场;
  • 必备带宽冗余:日常水位控制在带宽上限的 30% 以内,为突发留出余量;
  • 考虑 Anycast 部署:把攻击流量分摊到全球多个节点,避免单点被打穿;
  • 和上游运营商建立沟通通道:大规模攻击发生时,运营商侧的上游限流比你自己机房里任何配置都有效。

5.4 应急响应顺序(被打的那一刻)

  1. 确认攻击类型和量级(来源端口、流量曲线);
  2. 通知托管商/云厂商安全团队,请求上游协助;
  3. 切换到高防或清洗线路(如果已备好预案,这一步只需改一条解析);
  4. 必要时对非核心业务临时黑洞路由,保住核心业务带宽;
  5. 留存流量证据,评估是否报案。
关键在第 3 步的前提:预案平时就备好。攻击进行中才去开通高防服务,切换窗口期业务已经在持续损失了。

六、防护实战(角色二):别让自己的 DNS 服务器成为帮凶

这一节针对运维着 DNS 服务器(自建权威 DNS、递归 DNS、或一台带 DNS 服务的云主机)的读者。你的服务器即使完全正常,也可能正在被利用。排查清单如下:

6.1 关闭对公网的递归查询(最重要的一条)

  • 权威 DNS:只回答自己管辖的域名,禁用递归(如 BIND 中的 recursion no;);
  • 递归 DNS:只服务自己的用户——企业内网解析器不应响应公网来源的递归请求;
  • 用"开放解析器检测"类在线工具(如 Open Resolver Project 的扫描库)自查一遍公网 IP,确认没有暴露。

6.2 限制大响应类型

  • 禁止公网对 ANY 类型的查询(多数现代 DNS 软件支持禁用 ANY 响应);
  • 关闭不必要的区域传送(AXFR),或严格限定允许传送的来源。

6.3 启用响应速率限制(RRL)

BIND、Knot 等主流 DNS 软件均支持 Response Rate Limiting:对同一来源的重复查询限速,超过阈值的响应丢弃或截断。这条配置的妙处在于:即使将来出现配置疏漏,RRL 也能大幅降低服务器作为反射源的放大输出。

6.4 架构收敛

  • DNS 服务器不必要的服务端口一律关闭,管理面与数据面分离;
  • 内网用户的递归解析放在内网,公网只留必要的权威服务;
  • 定期审计:把"公网是否暴露开放解析器"纳入季度安全巡检项。

七、一条必须讲清楚的法律红线

本文全部内容以检测、防护与合规运维为目的。

发起 DDoS 攻击、伪造流量、控制或租用攻击资源,均属违法犯罪行为。我国《刑法》第二百八十五条、第二百八十六条对非法侵入计算机信息系统、破坏计算机信息系统有明确量刑,实际判例中组织发起攻击者已被追究刑事责任。企业正确的做法是把预算花在清洗能力、架构冗余和预案演练上;业务遭受攻击造成重大损失时,应留存流量日志等证据,向公安机关报案。

八、常见问题(FAQ)

Q1:DNS 反射攻击和普通 DDoS 攻击有什么区别?
普通 DDoS 是攻击者直接向目标发包;反射攻击是攻击者伪造受害者 IP,让大量第三方正常服务器替他发包。区别在于:反射攻击的入站流量来自大量"正常"服务器,单条封禁无效,且攻击者成本更低、更难溯源。
Q2:放大倍数 28–54 倍是什么意思?
指响应报文与请求报文的大小之比。攻击者发 1 Gbps 的查询流量,经过多台 DNS 服务器反射后,受害端可能收到几十 Gbps。这就是小带宽攻击者能打出大流量的原因。
Q3:我的服务器 CPU 不高、进程正常,为什么网站打不开?
反射攻击打的是带宽和链路,不是主机资源。CPU、内存都正常但全网丢包,大概率是链路被打满,应立即查看流量曲线和来源端口,并联系托管商。
Q4:怎么判断我的 DNS 服务器正在被利用?
看出站流量是否异常暴涨、查询日志里是否有大量陌生来源的重复查询、是否收到托管商滥用通知。最直接的验证方式是用开放解析器检测工具扫一下自己的公网 IP。
Q5:上了高防 IP 就一劳永逸吗?
不是。高防节点防护的是"指向它的流量",如果源站 IP 通过历史解析记录、邮件头、证书日志泄露,攻击者可绕过高防直接打源站。高防必须配合"源站隐藏"使用。
Q6:云厂商说我出站流量异常,会封我的服务器吗?
会。大量云服务商对"被利用为反射源"的服务器会先限速、再封禁公网出入站,直到你整改。所以开放解析器问题不只是安全问题,也直接威胁业务连续性。
Q7:小公司有必要买高防吗?
看业务形态。如果业务完全依赖在线访问(电商、SaaS、游戏),一次几小时的攻击损失就可能超过全年高防费用;如果是内部系统,优先做好架构减负和运营商沟通通道,高防可作为预案。
Q8:除了 DNS,还有哪些协议会被用来做反射攻击?
常见的还有 NTP(123 端口)、SSDP(1900 端口)、Memcached(11211 端口,放大倍数最高)、CharGEN(19 端口)等。防护逻辑相通:识别来源端口、过滤伪造响应、隐藏源站、上游清洗。

关于墨者安全
墨者安全致力于安全防护、服务器高防、网络高防、ddos防护、cc防护、dns防护、防劫持、高防服务器、高防dns、网站防护等方面的服务,全网第一款指纹识别技术防火墙,自研的WAF指纹识别架构,提供任意CC和DDoS攻击防御

热门文章

X

7x24 小时

免费技术支持

15625276999


-->