DNS Request Flood防御原理

DNS Request Flood防御原理
介绍DNS Request flood攻击和防御原理。
DNS交互过程
通常情况下,我们在上网访问网页的时候,输入的网址都是域名,比如www.huawei.com,这个请求的域名会发送到DNS缓存服务器,以请求其对应的IP地址。如果DNS缓存服务器上有此域名和IP地址的映射关系,DNS缓存服务器就会将查询到的IP地址返回给客户端。
当DNS缓存服务器查找不到该域名与IP地址对应关系时,它会向授权DNS服务器发出域名查询请求。为了减少Internet上DNS的通信量,DNS缓存服务器会将查询到的域名和IP地址对应关系存储在自己的本地缓存中。后续再有主机请求该域名时,DNS缓存服务器会直接用缓存区中的记录信息回应,直到该记录老化,被删除。如图1所示。
图1 DNS交互过程

图片.png

常见的DNS Flood攻击一般都是攻击者向DNS服务器发送大量的不存在的域名解析请求,导致DNS缓存服务器不停向授权服务器发送解析请求,最终导致DNS缓存服务器瘫痪,影响对正常请求的回应。
防御原理(针对缓存服务器)
DNS服务器支持TCP和UDP两种协议的查询方式,但是大多数的查询都是使用UDP查询的,UDP提供无连接服务,传输速度快,可以降低服务器的负载。也有特殊情况需要通过TCP方式查询,其中之一,就是DNS服务器可以设定使用TCP连接。当客户端向DNS服务器发起查询请求时,DNS回应报文里有一个TC标志位,如果TC标志位置1,就表示需要通过TCP方式查询。FW就是利用这一机制针对缓存服务器防御DNS Flood攻击。如图2所示。
图2 缓存服务器源认证报文交互过程

图片.png

在源认证过程中FW会触发客户端以TCP报文发送DNS请求,用以验证源IP的合法性,但在一定程度上会消耗DNS缓存服务器的TCP连接资源。
这种方式可以很好的防御针对缓存服务器的DNS请求攻击,但是在现网使用过程中,并不是所有场景都适用。因为在源探测过程中,FW会要求客户端通过TCP方式发送DNS请求,但是并不是所有的客户端都支持以TCP方式发送DNS请求,所以这种方式在使用过程中也有限制。如果有正常客户端不支持以TCP方式发送DNS请求,使用此功能时,就会影响正常业务。
防御原理(针对授权服务器)
对于授权服务器的DNS Request Flood攻击,可采用授权服务器源认证(即重定向方式)。重定向只针对访问受攻击域名的源IP地址实施,以减少误判和避免对正常业务的访问延时。
如图3所示,FW基于目的地址对DNS Request报文的速率进行统计,当DNS Request报文的速率超过阈值时,启动重定向。
    FW返回给请求源一个别名地址,如果请求源是虚假源,则不会回应重定向报文,认证不通过,报文丢弃。
    如果请求源是真实源,则重新请求FW发送的重定向地址。认证通过,FW将此真实源加入白名单。
    FW再次重定向正确的地址,请求源重新请求正确地址,报文命中白名单,直接通过FW,到达授权服务器,完成报文交互。
图3 授权服务器源认证报文交互过程

图片.png

1、本站资源长期持续更新。
2、本资源基本为原创,部分来源其他付费资源平台或互联网收集,如有侵权请联系及时处理。
3、本站大部分文章的截图来源实验测试环境,请不要在生产环境中随意模仿,以免带来灾难性后果。

转载请保留出处:  www.zh-cjh.com珠海陈坚浩博客 » DNS Request Flood防御原理

作者: cjh


手机扫一扫,手机上查看此文章:

一切源于价值!

其他 模板文件不存在: ./template/plugins/comment/pc/index.htm

未雨绸缪、居安思危!

数据安全、有备无患!

注意操作、数据无价!

一切源于价值!