DNS反射放大攻击分析

前阵子业务上碰到了DDOS攻击,正好是DNS反射型的,之前只是听过,没自己处理过,仔细学习了一番之后做点记录。

简介

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响应数据包大小的阈值,直接丢弃超大的响应数据包

尾巴

希望以后不要碰上这种攻击,双休还得加班修复。以上全部!