随着不安全物联网(IoT)设备的激增,针对域名系统(DNS)供应商的分布式拒绝服务(DDoS)攻击在数量和规模上正在不断增加。这些攻击随之影响依赖于这些供应商进行域名解析的网站。虽然DNS供应商采取了各种方法来保护自己免受此类攻击,但网站保护自身的方法之一是使用多个DNS供应商。

  
 2016年发生了史上最大规模之一的DDoS攻击,这一攻击是针对DNS供应商Dyn的。此次攻击前后有三波,它通过已感染Mirai恶意软件的物联网设备组成的僵尸网络进行攻击。许多公司都受到此次攻击的影响,比如Amazon、Paypal、Reddit和Github。该攻击导致Dyn无法响应由其域名服务器解析的域名的有效DNS查询,以至于终端用户无法访问相关域名。

    据Dyn技术副总裁Phil Stanhope所说,此次Dyn攻击事件还包括一个基于TCP SYN
cookie的攻击,该攻击利用了Linux内核的一个错误。SYN cookie是一种用于缓解SYN flood攻击的方法,SYN
flood攻击通过连续发送TCP SYN请求来耗尽目标系统的资源。然而,SYN cookie也有自己的问题,在Linux
3.x版本中,一个系统级别的锁用于生成SYN
cookie。由于这个级别的锁定,无论内核实际数量多少,系统均如单核系统一样运行,从而降低了其实际处理能力。Linux
4.x版本通过使用针对各个CPU内核的局部锁来解决这个问题。

  
 DNS供应商采用了各种方法来防止攻击,比如清理(scrubbing)。清理是通过第三方来过滤所有流量。第三方以提供保护为服务,清除恶意流量,使合法流量通过并到达最终目的地。许多厂商提供这样的服务,比如Akamai、AT&T、Verizon和Arbor
Networks。

  
 对某个网站或域名的任何HTTP(或其他协议)请求,都需进行DNS查询,以将域名解析为一个或多个IP地址。该请求穿行于域名中各个级别的授权服务器的多个解析器。例如,对www.infoq.com的请求,首先是根服务器,然后再查询.com的顶级域名(TLD)服务器,最后查询infoq.com的授权服务器。整个过程中的解析器可能会缓存结果,以便更快地进行后续响应。缓存可以由DNS响应中的生存时间(TTL)值控制。针对infoq.com授权服务器的DDoS攻击可能使得这些授权服务器无法响应有效查询,并且最终导致整个网站无法访问。

    一般来说,DNS服务器冗余可以防止此类中断。也就是说任何商业DNS供应商都将为一个既定域名提供多个DNS服务器。dig或drill命令可用于查看域名服务器记录(下面以infoq.com为例)。

    但是,如果某个供应商遭到DDoS攻击,那么可能其所有的域名服务器都会受到影响。因此使用多个DNS供应商有助于解决这一问题。

  
 要使用多个DNS供应商,必须允许编辑各个DNS供应商的域名服务器记录,以便所有记录都可以作为响应的一部分进行发送。另外,每个供应商都将拥有多个域名服务器,并且各供应商的所有域名服务器的顺序是打乱的。这样对一个供应商的失败请求会引起对另一个供应商的请求,而不是一直在尝试第一个供应商的所有其他域名服务器,因为这些服务器可能也是失效的。

    确保DNS可靠性的其他方法还有Anycast,在这个方法中,多个域名服务器具有相同IP地址。进行DNS查询时,数据包被传送到最近的域名服务器。在失效的情况下,数据包由底层路由协议自动传送到最近的有效域名服务器。

  
 设置正确的TTL非常重要,这样即使记录由服务于响应的中间服务器进行缓存,也可以实现发生故障时切换到辅助服务器。正如Stanhope在Velocity的演讲中所说,未来NetOps、DevOps、SecOps和SRE团队之间需要更多的协作来缓解这种攻击。

使用多个DNS供应商以缓解DDoS攻击的更多相关文章

  1. 如何缓解DDOS攻击

    1.减少攻击面 (a) reduce the number of necessary Internet entry points,(b) eliminate non-critical Internet ...

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

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

  3. DDOS SYN Flood攻击、DNS Query Flood, CC攻击简介——ddos攻击打死给钱。限网吧、黄网、博彩,,,好熟悉的感觉有木有

    摘自:https://zhuanlan.zhihu.com/p/22953451 首先我们说说ddos攻击方式,记住一句话,这是一个世界级的难题并没有解决办法只能缓解 DDoS(Distributed ...

  4. 使用iptables缓解DDOS及CC攻击

    使用iptables缓解DDOS及CC攻击 LINUX  追马  7个月前 (02-09)  465浏览  0评论 缓解DDOS攻击 防止SYN攻击,轻量级预防 iptables -N syn-flo ...

  5. 敌情篇 ——DDoS攻击原理

    敌情篇 ——DDoS攻击原理 DDoS攻击基础 DDoS(Distributed Denial of Service,分布式拒绝服务)攻击的主要目的是让指定目标无法提供正常服务,甚至从互联网上消失,是 ...

  6. DDoS攻击与防御(4)

    在发生DDoS攻击的情况下,可以通过一些缓解技术来减少攻击对自身业务和服务的影响,从而在一定程度上保障业务正常运行.缓解DDoS攻击的主要方法是对网络流量先进行稀释再进行清洗. 1.攻击流量的稀释 1 ...

  7. 游戏行业DDoS攻击解决方案

    行业综述 根据全球游戏和全球移动互联网行业第三方分析机构Newzoo的数据显示:2017年上半年,中国以275亿美元的游戏市场收入超过美国和日本,成为全球榜首. 游戏行业的快速发展.高额的攻击利润.日 ...

  8. 服务器被ddos攻击?分析如何防止DDOS攻击?

    上周知名博主阮一峰的博客被DDOS攻击,导致网站无法访问而被迫迁移服务器的事情,引起了广大网友的关注及愤慨,包括小编的个人博客也曾接受过DDOS的“洗礼”,对此感同身受.所以,本文我们一起来了解下DD ...

  9. 阿里云:游戏行业DDoS攻击解决方案

    转自:http://www.gamelook.com.cn/2018/01/319420 根据全球游戏和全球移动互联网行业第三方分析机构Newzoo的数据显示:2017年上半年,中国以275亿美元的游 ...

随机推荐

  1. Spring之SpringMVC的RequestToViewNameTranslator(源码)分析

    前言 SpringMVC如果在处理业务的过程中发生了异常,这个时候是没有一个完整的ModelAndView对象返回的,它应该是怎么样处理呢?或者说应该怎么去获取一个视图然后去展示呢.下面就是要讲的Re ...

  2. Javascript多线程引擎(四)

    Javascript多线程引擎(四)--之C语言单继承 因为使用C语言做为开发语言, 而C语言在类的支持方面几乎为零, 而Javascript语言的Object类型是一个非常明显的类支持对象,所以这里 ...

  3. ModelBinder——ASP.NET MVC Model绑定的核心

    ModelBinder——ASP.NET MVC Model绑定的核心 Model的绑定体现在从当前请求提取相应的数据绑定到目标Action方法的参数.通过前面的介绍我们知道Action方法的参数通过 ...

  4. 定义 ICache 接口,以及实现默认的 ASP.NET 缓存机制

    本文定义 ICache 接口,以及实现默认的 ASP.NET 缓存机制(即通过 System.Web.Caching.Cache)来缓存,将来也可以通过扩展,替换默认实现. 下面直接贴代码了: ICa ...

  5. Easyui布局

    Easyui入门视频教程 第03集---Easyui布局 Easyui入门视频教程 第03集---Easyui布局 目录 -----------------------   Easyui入门视频教程 ...

  6. Scala中的语言特性是如何实现的(3) -- Trait

    我的新博客地址:http://cuipengfei.me/blog/2013/10/13/scala-trait/ 我在Coursera上跟了一门叫做Functional Programming Pr ...

  7. MVC一些需要注意的问题

    不使用MVC,不知道MVC的好处,但是也会有一些坑,需要注意一下: 比如控件中添加HTML5自定义属性,以为是这样: @Html.TextBox("date",Model.Date ...

  8. DirectX And Com

    Windows游戏编程读书笔记(5)——初识DirectX和COM 一.COM 1.什么是COM对象 一个COM对象事实上是一个或一套实现了大量接口的C++类 2.COM的优点 不用重新编译你的程序就 ...

  9. Scrum与高效能人士

    Scrum与高效能人士的执行4原则   分享了高效能人士的执行4原则,发现它和Scrum非常相近,可以形成互补. Scrum框架: 高效能人士的执行4原则框架: Scrum与4原则 Sprint Ba ...

  10. Quartz表达式生成器

    Java版的Quartz表达式生成器,同时适用于Quartz.net(免费下载) Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2 ...