DNS 服务器欺骗请求放大 DDoS 是一种基于反射的体积分布式拒绝服务攻击。攻击者利用开放式 DNS 解析器的功能,用小查询换得大响应,从而消耗目标网站的带宽和资源。
这种攻击的原理是,攻击者利用攻击者和目标 Web 资源之间的带宽消耗差异,通过发送小的查询导致较大的响应,恶意用户可以从更少的资源中获取更多收益。通过使僵尸网络中的每个僵尸程序都发出相似的请求来倍增此放大倍数,攻击者既不会被检测到,又会从大大增加攻击流量中受益。
DNS 放大可分为四个步骤:
- 攻击者使用受感染的端点将具有欺骗性 IP 地址的 UDP 数据包发送到 DNS 递归。数据包上的欺骗地址指向受害者的真实 IP 地址。
- 每个 UDP 数据包都会向 DNS 解析器发出请求,通常会传递一个参数(例如 “ANY”),以接收最大的响应。
- 收到请求后,DNS 解析器通过响应来尝试提供帮助,它向欺骗的 IP 地址发送较大的响应。
- 目标服务器的 IP 地址会收到响应,并且周围的网络基础架构会被大量的流量淹没,从而导致拒绝服务。
尽管一些请求不足以破坏网络基础设施,但是当此序列跨多个请求和 DNS 解析器进行扩展时,目标接收到的数据放大可能会很大,最终到时拒绝服务。
二、攻击原理及过程
1. 攻击原理
所有放大攻击都利用攻击者和目标 Web 资源之间的带宽消耗差异,恶意用户通过发送小查询获得大量响应。具体来说,DNS 服务器欺骗请求放大 DDoS 攻击利用了这种带宽消耗差异,攻击者发送小的查询请求到 DNS 解析器,而 DNS 解析器会返回大量的响应数据。攻击者通过操纵僵尸网络中的受感染端点,将带有欺骗性 IP 地址的 UDP 数据包发送到 DNS 解析器,使得 DNS 解析器误以为请求来自目标受害者,从而向目标受害者的 IP 地址发送大量响应,消耗目标的带宽和资源。
2. 攻击过程
DNS 服务器欺骗请求放大 DDoS 攻击过程分为四个步骤:
- 攻击者使用受损端点发送带有欺骗性 IP 地址的 UDP 数据包到 DNS recursor。在这个步骤中,攻击者利用僵尸网络中的受感染端点,将 UDP 数据包发送出去。数据包上的欺骗地址指向受害者的真实 IP 地址,使得 DNS 解析器在接收到请求后,会将响应发送到目标受害者的 IP 地址。
- DNS 解析器向欺骗的 IP 地址发送大量响应。每个 UDP 数据包都会向 DNS 解析器发出请求,通常会传递一个参数(例如 “ANY”),以接收最大的响应。DNS 解析器在收到请求后,会尝试通过响应提供帮助,向欺骗的 IP 地址发送大量的响应数据。
- 目标的 IP 地址接收响应。由于攻击者将欺骗的 IP 地址设置为目标受害者的 IP 地址,所以目标受害者的 IP 地址会接收到来自 DNS 解析器的大量响应。
- 导致网络基础设施不堪重负。目标服务器的 IP 地址接收响应后,周围的网络基础架构会被大量的流量淹没,从而导致拒绝服务。虽然一些请求不足以破坏网络基础设施,但是当此序列跨多个请求和 DNS 解析器进行扩展时,目标接收到的数据放大可能会很大,最终导致网络基础设施不堪重负。
三、修复方法
1. 关闭出口路由器 DNS 代理功能
一般在 AD 设备上面关闭出口路由器 DNS 代理功能,关闭后重新扫描未报出漏洞,问题解决。具体操作可参考以下步骤:首先确定出口路由器的型号和配置方式,然后查找相关的 DNS 代理设置选项,通常可以在网络设置或高级设置中找到。关闭该功能后,建议进行一次全面的漏洞扫描,以确保问题得到彻底解决。
2. 限制 DNS 解析器
限制 DNS 解析器仅响应来自可信源的查询,减少开放式 DNS 解析器的总数,使其成为任何类型放大攻击的不良工具。可以通过以下方法实现:定义访问控制列表(ACL),指定可信的源 IP 地址或网络范围,只有来自这些地址的查询才会被 DNS 解析器响应。例如,可以在 DNS 服务器的配置文件中设置允许递归查询的 IP 地址范围,如 “acl customer-a { A.A.A.A/X;};acl customer-b { B.B.B.B/Y; C.C.C.C/Z;};options {directory "/var/named";allow-recursion { customer-a; customer-b;};}”。此外,还可以调整防火墙设置,仅允许来自可信源的 UDP 端口 53 的请求通过,如 “iptables -A INPUT -s A.A.A.A/X -p udp --dport 53 -j ACCEPT;iptables -A INPUT -s B.B.B.B/Y -p udp --dport 53 -j ACCEPT;iptables -A INPUT -s C.C.C.C/Z -p udp --dport 53 -j ACCEPT;iptables -A INPUT -p udp --dport 53 -j DROP”。
3. 源 IP 验证
Internet 服务提供商(ISP)拒绝任何内部流量欺骗的 IP 地址,阻止欺骗数据包离开网络。由于攻击者僵尸网络发送的 UDP 请求必须具有欺骗受害者 IP 地址的源 IP 地址,因此降低基于 UDP 的放大攻击有效性的关键组件是 ISP 拒绝任何内部流量欺骗的 IP 地址。如果从网络内部发送一个数据包,其源地址使其看起来像是在网络外部发起的,那么它可能是一个欺骗性数据包,可以被丢弃。Cloudflare 强烈建议所有提供商实施入口过滤,有时会联系那些不知不觉地参与 DDoS 攻击并帮助他们实现漏洞的 ISP。
四、总结
DNS 服务器欺骗请求放大 DDoS 攻击危害较大,但通过以上修复方法,可以有效降低被攻击的风险,提高网络安全性。
关闭出口路由器 DNS 代理功能、限制 DNS 解析器仅响应来自可信源的查询以及进行源 IP 验证这三种修复方法各有其优势。关闭出口路由器 DNS 代理功能操作相对简单,一般在 AD 设备上进行设置后,重新扫描未报出漏洞即可解决问题。限制 DNS 解析器可以减少开放式 DNS 解析器的总数,使其成为任何类型放大攻击的不良工具,通过定义访问控制列表和调整防火墙设置,能够有效控制响应的来源。源 IP 验证则是由 Internet 服务提供商拒绝任何内部流量欺骗的 IP 地址,阻止欺骗数据包离开网络,降低基于 UDP 的放大攻击有效性。
在实际应用中,可以根据具体情况选择合适的修复方法,或者结合多种方法共同使用,以最大程度地保护网络安全,防止 DNS 服务器欺骗请求放大 DDoS 攻击带来的不良影响。
墨者安全 防护盾
墨者安全作为专业级别安全防护专家,在应对 Webshell 风险隐患方面展现出了卓越的能力。其拥有全面的检测机制,能够精准识别 Webshell 的各种类型和变体,无论是复杂的大马,还是隐蔽的内存马,都难逃其敏锐的监测。
墨者安全防护盾具备强大的实时监控功能,对服务器的各项活动进行 7*24 小时不间断的监视。一旦发现任何可疑的 Webshell 活动迹象,立即发出警报,并迅速采取隔离和清除措施,将风险扼杀在萌芽状态。
在防护策略上,墨者安全防护盾采用了多层次的防御体系。不仅能够在网络层面阻挡外部的恶意访问和攻击,还能深入系统内部,对服务器的文件系统、进程等进行深度检查和保护,确保 Webshell 无法植入和运行。
同时,墨者安全防护盾拥有快速的应急响应能力。当 Webshell 攻击事件发生时,专业的安全团队能够迅速介入,进行深入的分析和处理,最大程度减少攻击带来的损失,并帮助用户快速恢复服务器的正常运行。
墨者安全防护盾还注重用户教育和培训,为用户提供关于 Webshell 防范的专业知识和最佳实践,帮助用户提升自身的安全意识和防范能力,共同构建坚实的网络安全防线。