每个网站都有可能会遭受到攻击,现在的互联网服务器遭受的最多的是DDOS攻击,本文总结了一些DNS服务器会遇到的DDOS攻击类型,以及相应的预防措施。

[1]的作者将DDOS的攻击分为三种类型:

  • 大数据洪水攻击(Volume Based Attacks):这种攻击的目标是通过使网络服务器所在的网路的带宽超负载,使你的服务器对外服务能力下降,甚至无法对外服务。这种攻击常见的有UDP floods, ICMP floods,欺骗性报文攻击等。这种攻击一般用Gbps来衡量。
  • 协议攻击(Protocol Attacks):这种攻击的目标是通过消耗网络服务器、路由器、交换机、防火墙、负载均衡等设备的资源,使你的服务器对外服务能力下降,甚至无法对外服务。这种攻击常见的有SYN floods,IP碎片攻击,Ping of Death,Smurf DDOS攻击等。这种攻击一般用pps(packet per second)来衡量。
  • 应用层攻击(Application Layer Attacks):这种攻击的目标是使服务器的软件产生运行错误而停止对外服务。

下面会扁平地一一介绍各种攻击,不会根据分类来介绍。

- UDP floods

UDP是一种无连接(connectionless)无状态(sessionless)的传输协议,攻击者会向目标服务器的任意端口(port)发送大量的UDP报文,目标服务器收到这些UDP报文后,会查看有没有相应的服务监听这个请求端口,如果没有服务监听这个请求端口,则向请求者发送ICMP Destination Unreachable报文。目标服务器在发送大量的ICMP报文上会消耗过多的服务器资源,从而使得目标服务器对外服务过慢,甚至停止服务。

UDP floods攻击防御的常用办法是过滤与所提供服务的包大小差别太大的请求包,或者限速,某一个请求IP所请求的UDP包的类型每秒不能超过一定的阈值,超过则丢弃。

- DNS 放大DDOS攻击

  这种攻击依然是利用了UDP协议的无连接无状态的特点,用户伪造一个IP地址向DNS服务器发起请求,DNS服务器处理后会将结果返回到伪造的IP所在的网络。如果这个DNS请求请求的是某个zone下面的所有资源记录(dig ANY www.xxx.com ),DNS服务器返回的数据包就可能特别大,大量的大包发向伪造IP所在的网络,就有可能阻塞那边的网络,或者消耗大量的服务器资源。因为DNS服务器返回的是一个合法的DNS消息,所以对于网络人员来说,对这种攻击的防御

目前很多的DNS服务器只负责解析一个domain中的域名,关闭递归查询可以使你的DNS服务器不会成为DNS放大攻击中的傀儡,BIND9中的option{recursion no;};可以关闭递归;如果你的服务器还想提供递归功能的话,可以只对特定IP段的查询提供递归功能,BIND9中可以像下面这样设置:

options {
  allow-query { any; };
  allow-recursion { corpnets; };
};

可喜的是,BIND9.8及以上的版本为用户提供了限速的功能:

rate-limit {
    responses-per-second 5;
    window 5;
};

- DNS Cache 污染

这个可能不属于DDOS攻击,但是也把它放在这里。

Cache污染是指权威域名服务器返回给递归域名服务器的资源记录被黑客劫持,换成了他们的资源记录,这个资源记录会在递归域名服务器中存在TTL时间,在这个时间内,用户的DNS请求得到的就是虚假的合法信息。通过这种方法,黑客可以把一个网站的访问引流到另一个网站。

  这篇文章详细介绍了DNS cache污染是如何工作的。

  上面文章的作者提出的预防的解决办法是亡羊补牢,当发现这种攻击时,用TCP发起DNS请求。。。。汗。还有中方法是发现Cache污染的时候刷新(flush)一遍cahce,  

实际上,DNS整套协议在流转的过程中的每个环节都有可能遭受攻击,DNS协议的几种操作和可能存在的安全威胁见这里(第四节)。

下图是Internet网络上面遭受的攻击种类,这些攻击涉及到了四层到七层的所有常用的协议。

防患未然才是最有效的预防方法,时刻对安全保持一颗敬畏的心才会做好事情。

Enjoy~

DNS服务器能遭受到的DDNS攻击类型的更多相关文章

  1. 域名注册域名解析域名绑定 dns服务器解析 域名记录的添加 记录类型含义@ www 访问域名请求过程

    创建一个web应用,简言之就是访问一个域名,可以到达一个地方,这个地方就是你存放供别人查看的文件的地方 就像一条绳,从这头拉一下,可以拉出来另一头的东西 主要有两个部分: 域名 虚拟主机(空间) 1. ...

  2. 《DNS攻击防范科普系列2》 -DNS服务器怎么防DDoS攻击

    在上个系列<你的DNS服务真的安全么?>里我们介绍了DNS服务器常见的攻击场景,看完后,你是否对ddos攻击忧心重重?本节我们来告诉你,怎么破局!! 首先回顾一下DDoS攻击的原理.DDo ...

  3. 配置域从DNS服务器以及缓存DNS服务器

    一.域从DNS服务器的作用 我们在之前上一篇随笔里有提到,DNS服务器一般有三种类型,一个是Primary DNS Server(主DNS服务器),一个是Secondary DNS Server(从D ...

  4. 玩转DNS服务器——Bind服务

    合理的配置DNS的查询方式 实验环境: 虚拟机:VMware® Workstation 15 Pro 均使用NAT连接   网段为192.168.1.0/24 DNS 服务器 ---- Centos ...

  5. 《DNS攻击防范科普系列1》—你的DNS服务器真的安全么?

    DNS服务器,即域名服务器,它作为域名和IP地址之间的桥梁,在互联网访问中,起到至关重要的作用.每一个互联网上的域名,背后都至少有一个对应的DNS.对于一个企业来说,如果你的DNS服务器因为攻击而无法 ...

  6. 【转】《从入门到精通云服务器》第四讲—DDOS攻击

    上周咱们深入分析了云服务器的配置问题,好了,现在手上有了云服务器之后,我们又不得不提它:DDOS攻击.这是所有运维者的心头痛,也是任何公司听闻后都将心惊胆战的强大对手.下面我们将用浅显易懂的方式讲述什 ...

  7. 配置域主DNS服务器

    一.DNS服务器的类型 ①Primary DNS Server(Master) 一个域的主服务器保存着该域的zone配置文件,该域所有的配置.更改都是在该服务器上进行,本篇随笔要讲解的也是如何配置一个 ...

  8. powershell加win的dns服务器,解决网站负载均衡问题

    用我发明的powershell填坑法,加windows的dns服务器.从调整dns服务器解析ip时间段的角度,解决网站负载均衡问题. ------------------------win2012r2 ...

  9. DNS服务器:主要介绍DNS的服务原理以及安装及其主从配置

    DNS服务器:主要介绍DNS的服务原理以及安装及其主从配置 一.DNS简介 1.DNS    DNS是域名系统(Domain Name System)的简称,它是一个将域名和IP相互映射的分布式数据库 ...

随机推荐

  1. mysql找到数据的存储位置

    本来是想找mysql数据库文件中的sql脚本文件的,结果发现运行了sql脚本文件后,你删除了,就没有sql语句了,那么我们分析一下在数据库路径下面找到的文件又是什么呢? 1.先找mysql中data的 ...

  2. magento中Model创建以及该Model对于数据库的增删改查

    本文是按照magento英文文档照做与翻译的. Model层的实现是mvc框架的一个巨大的部分.它代表了你的应用的数据,或者说大多数应用没有数据是无用的.Magento的Model扮演着一个重要的角色 ...

  3. Python:每日一题001

    题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? **程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. 个人解 ...

  4. loadtxt()函数的糟心历程

    原计划:导入一个csv文件,然后算出平均值 import numpy as np c=np.loadtxt('d:\python36\data.csv', delimiter=',', usecols ...

  5. C# 多线程编程,传参,接受返回值

    C# 多线程编程,传参,接受返回值 今天将多线程的知识有回顾了下,总结了几点: 新建一个线程(无参数,无返回值) Thread th = new Thread(new ThreadStart(Prin ...

  6. Java程序员职业生涯规划

    一.规划 工作3年了,感觉自己的技术现在到了一个瓶颈,在做一些重复性的业务性的工作,没有长进,提高太慢:因此停下脚步对自己的职业生涯做了一个规划,并为之努力奋斗: 20-27岁:技术积累阶段在这 5 ...

  7. Crontab定时执行Oracle存储过程

    Crontab定时执行Oracle存储过程 需求描述 我们有一个Oracle的存储过程,里面是每个月需要执行一下,生成报表,然后发送给业务部门,这一个功能我们有实现在系统的前台界面(如图1-1),但是 ...

  8. Leeetcode--581. Shortest Unsorted Continuous Subarray

    Given an integer array, you need to find one continuous subarray that if you only sort this subarray ...

  9. 解决 asp.net core 中下载 exe 文件返回 404

    在 StartUp 中的 Configure 方法添加如下代码即可 app.UseStaticFiles(new StaticFileOptions() { ContentTypeProvider = ...

  10. Postgres通用翻页函数

    CREATE OR REPLACE FUNCTION fun_turnpage( PageSize INT, PageIndex INT, FldSort VARCHAR, StrCondition ...