根域名服务器(root DNS Servers)会被DDoS打垮么?
域名服务作为互联网的基础设施,它的重要性不言而喻。目前全球的十三个根域名服务器和成千上万的授权域名服务器承担着超过万亿次的DNS查询,默默为全世界的网民做域名解析服务。
这样重要的基础设施,必然是全世界黑客的目标。
2002年10月21日,全球的十三台根域名服务遭受了持续将近一个小时的攻击,这些攻击形式多样,主要集中为:ICMP攻击、TCP SYN攻击、fragmented TCP攻击和UDP攻击。这次攻击导致了一些跟域名服务器瘫痪。
之后全世界的科学家们痛则思痛,对当时的根域名服务做了大量的防护工作。
2007年2月6日,黑客们又对根域名服务器发起了几次疯狂的攻击,此时的ROOT DNS SERVERS已经很健壮了,对正常服务没有造成什么影响。
根域名服务器采取了一些什么样的措施,使得DDoS攻击不会造成根域名服务器的全线瘫痪呢?
原因一:积极的反应
今天在公司内网看到公司的清洗软件前段时间抗住了对一个网页高达6Gbps(每秒6Gbit)的攻击,最后攻击者看到没有效果,只能灰溜溜夹尾巴收工,而我们的这个页面呢?用户访问感觉不到任何异常(顺便赞一下我们优秀的工程师同学们)。
俗话说:“道高一尺,魔高一丈”,如果黑客真的优秀,就不会做黑客了。优秀的大型网站不缺少优秀的工程师,所以也不缺少优秀的防攻击预案。当攻击来的时候,检测软件会检测到网络异常,并采取相应的清洗策略,把异常的攻击流量阻挡在正常服务器之外。这样普通的用户可能只会感觉到一小段时间的访问缓慢,当清洗开始后,就跟正常访问无异了。
清洗的办法,常用有:1)通过某种统计标准发现异常流量,限制某个IP的查询次数,或者直接拒绝为该IP服务;2)攻击流量会有一定的规律,比如包大小是特定的(比如768字节),则将该大小的包blocked(当然要确保该包大小跟正常请求的包大小不一样才可以用这种策略)。
原因二:十三台根域名服务器的多样性
十三台根域名服务器都可以解析根域名(.com, .net等),而且这些根域名服务器由不同的组织管理。它们唯一相同的是解析根域名的功能,其它的,比如说硬件环境;使用的域名服务器软件;安全策略等等都不一样,因为攻击都是有针对性的攻击,所以这样又无形中增加了攻击者的攻击难度。
原因三:Anycast
Anycast可以使一组提供DNS解析服务的主机通过一个对外的IP地址标识,这些主机可以位于不同的地址。这样当对某一个域名服务器的流量增加的时候,通过Anycast我们可以将攻击流量分发到各主机上。现在的根域名服务器都采用了Anycast技术,比如f-root,它后面就有四五十台主机在服务。
原因四:fat pipes
根域名服务器都位于全球的骨干网上,而不是在边缘网络中(你们家的宽带位于边缘网络中,你们小区的用户都在双十一购物狂欢节的时候一起抢东西,就会觉得巨慢无比:-) ),所以想通过打大流量堵塞根域名服务器的网络的黑客,你还是早点洗洗睡吧。
原因五:gTLD(generic Top-Level DNS Server) 域名服务器 和 缓存
根域名服务器只服务根域名,根域名服务器下面还有gTLD服务器,比如为所有.com后缀做域名解析的服务器。而且Local DNS会有缓存,在TTL期内不会对相同域名做重复请求。所以用发起DNS请求的方式攻击根域名服务器的话,基本上是不可能的,因为层层的缓存足以使到达根域名服务器的流量微乎其微。
参考资料:
1,http://en.wikipedia.org/wiki/Distributed_denial_of_service_attacks_on_root_nameservers
2,http://en.wikipedia.org/wiki/Anycast
根域名服务器(root DNS Servers)会被DDoS打垮么?的更多相关文章
- 根域名服务器 根服务器一般指根域名服务器 (DNS)
Why There Are Only 13 DNS Root Name Servers -------------------------------------------------------- ...
- rest-assured的根路径(root path)和URL编码(URL Encoding)
一.根路径(Root path) 为了避免在body方法中使用重复的路径来断言,我们可以指定一个根路径(root path),比如: 我们以前的写法是: when(). get("/some ...
- 根运动 (Root Motion) – 工作原理
http://blog.csdn.net/myarrow/article/details/45505085 1. 基本概念 在Unity3D动画中,模型的位置.角度经常会发生变化,我们需要决定是否将模 ...
- Best free and public DNS servers of 2019
1. OpenDNSPrimary, secondary DNS servers: 208.67.222.222 and 208.67.220.220 2. CloudflarePrimary, se ...
- 使用多个DNS供应商以缓解DDoS攻击
随着不安全物联网(IoT)设备的激增,针对域名系统(DNS)供应商的分布式拒绝服务(DDoS)攻击在数量和规模上正在不断增加.这些攻击随之影响依赖于这些供应商进行域名解析的网站.虽然DNS供应 ...
- Vue父子组件传值之——访问根组件$root、$parent、$children和$refs
Vue组件传值除了prop和$emit,我们还可以直接获取组件对象: 根组件: $root // 单一对象 表示当前组件树的根 Vue 实例,即new Vue({...根组件内容}).如果当前实例没有 ...
- 《DNS攻击防范科普系列2》 -DNS服务器怎么防DDoS攻击
在上个系列<你的DNS服务真的安全么?>里我们介绍了DNS服务器常见的攻击场景,看完后,你是否对ddos攻击忧心重重?本节我们来告诉你,怎么破局!! 首先回顾一下DDoS攻击的原理.DDo ...
- 【Linux】Could not resolve: www.test.com (Could not contact DNS servers)
在请求微信小程序服务时候报错了 从这个报错,可以很明显的发现是域名解析不了 1 故障排查:因为代码里调用的是curl,所以测试一下curl是否能够正常解析dns 果然不行, 2 解决办法: vi /e ...
- 如何证明一个数的数根(digital root)就是它对9的余数?
数根就是不断地求这个数的各位数之和,直到求到个位数为止.所以数根一定和该数模9同余,但是数根又是大于零小于10的,所以数根模9的余数就是它本身,也就是说该数模9之后余数就是数根. 证明: 假设有一个n ...
随机推荐
- iOS高德地图SDK定位和搜索附近信息的具体使用
1.显示地图.定位.显示当前位置. 导入你需要的功能的头文件,申明全局变量,代理方法等等. 初始化地图,在控制器即将显示额时候打开定位和跟踪用户,这里对参数不懂的话康忙进去都有注释. 对了.i ...
- UI与开发的必备神器!— iDoc一键适配不同平台尺寸(iDoc201902-2新功能)
一.自动换算不同平台尺寸在一个项目从设计到开发的过程中,为了适配不同设备,一份设计稿,UI需要花大量的时间去制作各种尺寸的切图,耗时耗力. 那有没有一种高效的办法,让UI只需要设计一份设计稿就可以了呢 ...
- ----关于posotion的sticky与fixed的区别----
sticky 出现在正常流当中,不能设置定位,随页面滚动 (sticky = relative + fixed) fixed 不出现在正常流当中,能设置定位,随页面滚动 eg: html: <p ...
- maven打包自定义jar到maven仓库
mvn install:install-file -Dfile=F:/Sdk4j.jar -DgroupId=com.sdk4j -DartifactId=sdk4j -Dversion=1.0 -D ...
- SQLite3命令操作大全
SQLite3命令操作大全 SQLite库包含一个名字叫做sqlite3的命令行,它可以让用户手工输入并执行面向SQLite数据库的SQL命令.本文档提供一个样使用sqlite3的简要说明. 一.ql ...
- 第40章:MongoDB-集群--Replica Sets(副本集)---副本集的管理
①以单机模式启动成员 由于很多维护的工作需要写入操作,所以不合适在副本集中操作,可以以单机模式启动成员,也就是不要使用副本的选项,就跟以前启动单独的服务器一样.一般使用一个跟副本集配置中不一样的端口号 ...
- Android-broadcast静态动态广播
广播的静态和动态类型 静态广播: 1.继承之broadcastreceiver public class MyStaticBroadcastReceiver extends BroadcastRece ...
- JDBC创建链接的几种方式
首先,使用java程序访问数据库的前提 数据库的主机地址(ip地址) 端口 数据库用户名 数据库用户密码 连接的数据库 代码: private static String url = "jd ...
- windows 批处理语言学习
程序员应该根植于心的一个理念是:重复的工作交给代码.windows上的批处理脚本就是这种理念的体现. 批处理bat能做的事很多,自动配置vs工程中的代码依赖环境,调用其它程序处理数据.自动编译代码等等 ...
- 背水一战 Windows 10 (86) - 文件系统: 获取文件夹的属性, 获取文件夹的缩略图
[源码下载] 背水一战 Windows 10 (86) - 文件系统: 获取文件夹的属性, 获取文件夹的缩略图 作者:webabcd 介绍背水一战 Windows 10 之 文件系统 获取文件夹的属性 ...