随着不安全物联网(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. Microsoft .NET Pet Shop 简介

    最初研究 .NET Pet Shop 的目的是用 Microsoft .NET 实现 Sun 主要的 J2EE 蓝图应用程序 Sun Java Pet Store 同样的应用程序功能. 根据用 .NE ...

  2. Java泛型和集合之泛型介绍

    在声明一个接口和类的时候可以使用尖括号带有一个或者多个参数但是当你在声明属于一个接口或者类的变量的时候或者你在创建一个类实例的时候需要提供他们的具体类型.我们来看下下面这个例子 List<Str ...

  3. 输入 URL 到页面完成加载过程中的所有发生的事情?

    转到浏览器中输入URL给你一个页面后,.有些事情,你每天都在使用,学的是计算机网络知道是怎么回事.DNS解析然后页面的回馈,只是要讲好还是有难度. 之前fex团队的nwind专门写过这个问题的博客: ...

  4. 零基础学习iOS开发

    零基础学习iOS开发不管你是否涉足过IT领域,只要你对iOS开发感兴趣,都可以阅读此专题. [零基础学习iOS开发][02-C语言]11-函数的声明和定义 摘要: 在上一讲中,简单介绍了函数的定义和使 ...

  5. Android高仿雅虎天气(两)---代码结构分析

    版本已经升级到1.0.1 源码地址: GitHub:https://github.com/way1989/WayHoo OsChina:http://git.oschina.net/way/WayHo ...

  6. iis处理请求随记回顾

    ----http是无状态的, 每次http请求户不影响,都是独立的:不会记的上次请求: -------iis原理:输入地址--socket封装请求体报文--发送---iis解析封装响应体---返回: ...

  7. html5学习(一)--canvas画时钟

    利用空余时间学习一下html5. <!doctype html> <html> <head></head> <body> <canva ...

  8. [Java]利用拦截器和自定义注解做登录以及权限验证

    1.自定义注解 需要验证登录的注解 package com.etaofinance.wap.common; import java.lang.annotation.Documented; import ...

  9. iOS基础 - 单元测试

    单元测试(unit testing):对软件中最小可测试单元进行检查和验证.一般面向过程的语言中,基本单元为函数,面向对象的语言中,基本单元通常是类,其实对于一个手机上的app来说基本单元也可以是一个 ...

  10. js闭包和ie内存泄露原理

    也议 js闭包和ie内存泄露原理 可以, 但小心使用. 闭包也许是 JS 中最有用的特性了. 有一份比较好的介绍闭包原理的文档. 有一点需要牢记, 闭包保留了一个指向它封闭作用域的指针, 所以, 在给 ...