常见的DNS攻击与相应的防御措施

本文详细介绍了DNS请求洪水、回复洪水以及缓存投毒等攻击类型,以及对应的防御措施,包括TC源认证、被动防御、CNAME模式和会话检查。通过这些防御策略,可以有效地抵御DNS服务面临的各类安全威胁。
摘要由CSDN通过智能技术生成

DNS查询通常都是基于UDP的,这就导致了在查询过程中验证机制的缺失,黑客很容易利用该漏洞进行分析。DNS服务可能面临如下DNS攻击风险:

  1. 黑客伪造客户端源IP地址发送大量的DNS请求报文,造成DNS request flood攻击。

  2. 黑客伪造成授权服务器发送大量的DNS回应报文,造成DNS reply flood攻击。

  3. 黑客篡改某些网站的域名和IP地址对应关系,导致用户访问被导向至其他网站。

  4. 黑客向DNS服务器发送大量错误格式的DNS异常报文,或者发送大量超长DNS报文,导致DNS服务器处理这些报文时出现异常,拒绝正常服务。

接下来我们就重点介绍安全领域比较常见的一些DNS攻击以及相应的防御措施。

DNS Request Flood攻击与防御

DNS request flood 的攻击原理是黑客控制僵尸网络向DNS服务器发送大量不存在的域名的解析请求,最终导致服务器因大量DNS请求而超载,无法继续响应正常用户的DNS请求,从而达到攻击的目的。

在DNS request flood的攻击过程中,攻击源可能是虚假源, 也可能是真实源;攻击目标可能是DNS授权服务器,也可能是DNS缓存服务器。针对不同类型的攻击源,采取的防御方式也不同。

针对于虚假源攻击缓存服务器,Anti-DDoS系统防御DNS request flood攻击最初采用的方式是TC源认证方式。

TC源认证

DNS查询有TCP和UDP两种方式。通常情况下,DNS查询都是基于UDP的,此时TC标志位置为0,可以通过将TC标志位置为1来将UDP改为TCP方式。华为Anti-DDoS系统就是通过修改DNS报文中的TC标志位,对客户端进行源认证的。

TC源认证交互过程如下:

Anti-DDoS设备基于目的地址对DNS Request报文的速率进行统计,当DNS Request报文的速率超过阈值时,启动源认证机制:拦截DNS请求,将TC标志位置为1并进行回应,要求客户端以TCP方式重新发起DNS查询。

  • 如果这个源是虚假源,则Anti-DDoS系统不会正常响应这个DNS回应报文,更不会通过TCP方式重新进行DNS查询。

  • 如果是真实客户端发送的请求,则Anti-DDoS系统会重新发送SYN报文,请求建立3次握手。Anti-DDoS系统对客户端源进行TCP层面的认证。源认证通过后,客户端源IP地址被加入白名单。客户端重新请求建立3次握手,Anti-DDoS系统将客户端第2次发送的3次握手请求直接放行,发送给服务器。 客户端与服务器之间建立 3 次握手成功,并通过 TCP 方式完成本次 DNS查询。

我们再来结合一组抓包深入了解一下此过程。

① 客户端向DNS服务器第一次发送DNS请求报文,DNS请求报文基于UDP,TC标志位是0,请求的域名是www.×××.com。

② Anti-DDoS系统代替Web服务器进行回应,并将TC标志位设置为1,希望客户端通过TCP方式重新发起DNS查询。

<

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值