DNS服务器能遭受到的DDNS攻击类型
每个网站都有可能会遭受到攻击,现在的互联网服务器遭受的最多的是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攻击类型的更多相关文章
- 域名注册域名解析域名绑定 dns服务器解析 域名记录的添加 记录类型含义@ www 访问域名请求过程
创建一个web应用,简言之就是访问一个域名,可以到达一个地方,这个地方就是你存放供别人查看的文件的地方 就像一条绳,从这头拉一下,可以拉出来另一头的东西 主要有两个部分: 域名 虚拟主机(空间) 1. ...
- 《DNS攻击防范科普系列2》 -DNS服务器怎么防DDoS攻击
在上个系列<你的DNS服务真的安全么?>里我们介绍了DNS服务器常见的攻击场景,看完后,你是否对ddos攻击忧心重重?本节我们来告诉你,怎么破局!! 首先回顾一下DDoS攻击的原理.DDo ...
- 配置域从DNS服务器以及缓存DNS服务器
一.域从DNS服务器的作用 我们在之前上一篇随笔里有提到,DNS服务器一般有三种类型,一个是Primary DNS Server(主DNS服务器),一个是Secondary DNS Server(从D ...
- 玩转DNS服务器——Bind服务
合理的配置DNS的查询方式 实验环境: 虚拟机:VMware® Workstation 15 Pro 均使用NAT连接 网段为192.168.1.0/24 DNS 服务器 ---- Centos ...
- 《DNS攻击防范科普系列1》—你的DNS服务器真的安全么?
DNS服务器,即域名服务器,它作为域名和IP地址之间的桥梁,在互联网访问中,起到至关重要的作用.每一个互联网上的域名,背后都至少有一个对应的DNS.对于一个企业来说,如果你的DNS服务器因为攻击而无法 ...
- 【转】《从入门到精通云服务器》第四讲—DDOS攻击
上周咱们深入分析了云服务器的配置问题,好了,现在手上有了云服务器之后,我们又不得不提它:DDOS攻击.这是所有运维者的心头痛,也是任何公司听闻后都将心惊胆战的强大对手.下面我们将用浅显易懂的方式讲述什 ...
- 配置域主DNS服务器
一.DNS服务器的类型 ①Primary DNS Server(Master) 一个域的主服务器保存着该域的zone配置文件,该域所有的配置.更改都是在该服务器上进行,本篇随笔要讲解的也是如何配置一个 ...
- powershell加win的dns服务器,解决网站负载均衡问题
用我发明的powershell填坑法,加windows的dns服务器.从调整dns服务器解析ip时间段的角度,解决网站负载均衡问题. ------------------------win2012r2 ...
- DNS服务器:主要介绍DNS的服务原理以及安装及其主从配置
DNS服务器:主要介绍DNS的服务原理以及安装及其主从配置 一.DNS简介 1.DNS DNS是域名系统(Domain Name System)的简称,它是一个将域名和IP相互映射的分布式数据库 ...
随机推荐
- ajax的另一种成功和失败回调函数
第一种: function engline(){ var oldmsg = $('#lineso').val() if(oldmsg == null || oldmsg == '' || oldmsg ...
- 操作系统学习笔记(二) 页式映射及windbg验证方式
页式映射 本系列截图来自网络搜索及以下基本书籍: <Windows内核设计思想> <Windows内核情景分析> <WINDOWS内核原理与实现> 一个32位虚拟地 ...
- Delphi过程和函数中变量的作用域
变量的作用域是指变量能被某一子程序识别的范围. 全局变量和局部变量.全局变量是指在程序的type区定义的变量,而局部变量是在过程或函数的定义部分声明的变量.全局变量在整个程序中都有意义,局部变量只在它 ...
- ----关于css中常见单位----
1.px 像素,绝对单位长度,可设定固定的长度大小.(像素是相对于显示器屏幕分辨率而言) 所有浏览器都显示为一样大小. eg: html: <p>这是一段正常段落</p> &l ...
- 深入C#的String类
- 秒杀系统-DAO
DAO(Data Access Object) 数据访问对象 首先需要创建秒杀库存表和秒杀成功明细表,如下所示: CREATE DATABASE seckill; use seckill; CREAT ...
- Maths | 二次型求偏导
- 小程序快捷键(mac中)
快捷键 格式调整 - Ctrl+S:保存文件 - Ctrl+[, Ctrl+]:代码行缩进 - Ctrl+Shift+[, Ctrl+Shift+]:折叠打开代码块 - Ctrl+C Ctrl ...
- 【git 报错】Could not read from remote repository.Please make sure you have the correct access rights.
我们在使用git clone 或其他命令的时候,有时候会遇到这类问题,如图: and the repository exists. fatal: Could not read from remote ...
- array_flip()函数
array_flip() 函数用于反转/交换数组中所有的键名以及它们关联的键值. array_flip() 函数返回一个反转后的数组,如果同一值出现了多次,则最后一个键名将作为它的值,所有其他的键名都 ...