DNS反射放大攻击分析——DNS反射放大攻击主要是利用DNS回复包比请求包大的特点,放大流量,伪造请求包的源IP地址为受害者IP,将应答包的流量引入受害的服务器

简介:

DNS反射放大攻击分析

摘自:http://www.shaojike.com/2016/08/19/DNS%E6%94%BE%E5%A4%A7%E6%94%BB%E5%87%BB%E7%AE%80%E5%8D%95%E5%88%86%E6%9E%90/

简介

DNS反射放大攻击主要是利用DNS回复包比请求包大的特点,放大流量,伪造请求包的源IP地址为受害者IP,将应答包的流量引入受害的服务器。

简单对比下正常的DNS查询和攻击者的攻击方式:

正常DNS查询:
源IP地址 —–DNS查询—-> DNS服务器 —–DNS回复包—-> 源IP地址

DNS攻击:
伪造IP地址 —–DNS查询—-> DNS服务器 —–DNS回复包—-> 伪造的IP地址(攻击目标)

分析

从服务器上抓了一些攻击包,根据这些数据包可以来看看这种攻击都是什么特点。

  • 全部是大量的DNS响应请求(Response请求)

147159808627181.jpg

  • 通常里面包含一些不存在或者生僻的域名,经过循环查询从而放大DNS流量

147159840859200.jpg

  • 会将将 OPT RR 字段中的 UDP 报文大小设置为很大的值(如 4096)

147159870918672.jpg

通过这样放大了攻击流量。发送的 DNS 查询请求数据包大小一般为 60 字节左右,而查询返回结果的数据包大小通常为 3000 字节以上,因此,使用该方式进行放大攻击能够达到 50 倍以上的放大效果。

  • 大量的流量都来自正常的DNS服务器

攻击者通过伪造IP向正常的DNS服务器发送这些恶意的查询请求,将流量引入受害者的服务器,受害者查不到攻击者的真实IP

解决方案

    1. 如果没有必要可以关闭DNS服务(废话么不是
    2. 如果有DNS服务,做好响应限制,DNS服务不应对互联网上的域名解析服务,而只响公司内部网络DNS解析请求
    3. 限制DNS响应数据包大小的阈值,直接丢弃超大的响应数据包

DNS反射放大攻击

        DNS反射放大攻击的原理也是类似的。网络上有大量的开放DNS解析服务器,它们会响应来自任何地址的解析请求。我们发出的解析请求长度是很小的,但是收到的结果却是非常大的,尤其是查询某一域名所有类型的DNS记录时,返回的数据量就更大,于是可以利用这些解析服务器来攻击某个目标地址的服务器,而且是利用被控制的机器发起伪造的解析请求,然后解析结果返回给被攻击目标。由于DNS解析一般是UDP请求,不需要握手,源地址属性易于伪造,而且部分“肉鸡”在平时本来就是合法的IP地址,我们很难验证请求的真实性和合法性。DNSSEC是一种可以防止缓存投毒的机制,另外,如果DNS本身抗压能力不行,而且对方请求量过大的话,也会影响到DNS本身的服务。目前此类攻击的规模在数百Gbps级别。




















    本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/bonelee/p/7271984.html,如需转载请自行联系原作者


    目录
    打赏
    0
    0
    0
    0
    64
    分享
    相关文章
    |
    1月前
    |
    阿里云linux服务器使用脚本通过安全组屏蔽异常海外访问ip
    公网网站可能会遭受黑客攻击导致访问异常,使用此脚本可以屏蔽掉异常IP 恢复访问。也可自行设置定时任务定期检测屏蔽。
    153 28
    在Linux服务器中遇到的立即重启后的绑定错误:地址已被使用问题解决
    总的来说,解决"地址已被使用"的问题需要理解Linux的网络资源管理机制,选择合适的套接字选项,以及合适的时间点进行服务重启。以上就是对“立即重启后的绑定错误:地址已被使用问题”的全面解答。希望可以帮你解决问题。
    107 20
    DNS服务器地址大全
    DNS(域名系统)是互联网的“电话簿”,将域名解析为IP地址。选择优质DNS服务器可提升网络速度、降低延迟。以下是全球及中国各运营商的DNS服务器列表,包括公共DNS(如Google DNS、Cloudflare DNS)、中国电信、联通、移动等。根据地理位置、稳定性、安全性与隐私保护等因素选择适合的DNS服务器,优化上网体验。
    370 5
    |
    22天前
    |
    MCP 实战:用 Go 语言开发一个查询 IP 信息的 MCP 服务器
    随着 MCP 的快速普及和广泛应用,MCP 服务器也层出不穷。大多数开发者使用的 MCP 服务器开发库是官方提供的 typescript-sdk,而作为 Go 开发者,我们也可以借助优秀的第三方库去开发 MCP 服务器,例如 ThinkInAIXYZ/go-mcp。 本文将详细介绍如何在 Go 语言中使用 go-mcp 库来开发一个查询 IP 信息的 MCP 服务器。
    83 0
    YashanDB更换服务器IP
    本文来自YashanDB官网,主要介绍当单机部署的数据库集群中服务器IP发生变更时,管理员如何使用`yasboot ipchange`命令完成数据库层面的IP更换操作。以一主两备环境为例,详细描述了更换`yasom`、`yasagent`和`yasdb` IP的具体步骤,包括操作顺序、命令示例以及验证方法,确保数据库服务恢复正常运行。操作需按顺序执行,并满足YashanDB的部署要求。
    静态IP代理与动态IP代理:提升速度与保障隐私的技术解析
    本文探讨了静态IP代理和动态IP代理的特性和应用场景。静态IP代理通过高质量服务提供商、网络设置优化、定期更换IP与负载均衡及性能监控提升网络访问速度;动态IP代理则通过隐藏真实IP、增强安全性、绕过封锁和提供独立IP保障用户隐私。结合实际案例与代码示例,展示了两者在不同场景下的优势,帮助用户根据需求选择合适的代理服务以实现高效、安全的网络访问。
    96 1
    深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
    虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
    132 11
    HttpGet 请求的响应处理:获取和解析数据
    HttpGet 请求的响应处理:获取和解析数据
    Spring MVC中的请求映射:@RequestMapping注解深度解析
    在Spring MVC框架中,`@RequestMapping`注解是实现请求映射的关键,它将HTTP请求映射到相应的处理器方法上。本文将深入探讨`@RequestMapping`注解的工作原理、使用方法以及最佳实践,为开发者提供一份详尽的技术干货。
    505 2
    如何防止DNS缓存中毒攻击(一)
    DNS缓存中毒也称为DNS欺骗
    110 10

    相关产品

  1. 云解析DNS
  2. 推荐镜像

    更多