版权声明:本文由腾讯云DNSPod团队原创文章,转载请注明出处: 
文章原文链接:https://www.qcloud.com/community/article/174

来源:腾云阁 https://www.qcloud.com/community

美国时间的10月21日清晨7点开始,美国Dynamic Network Service公司的DNS服务器遭受了大规模分布式拒绝式服务(DDos:Distributed Denial of Service)攻击,Dyn公司是美国的主要DNS服务商,DDos攻击导致Dyn的DNS解析服务瘫痪,用户无法解析到目标网站的IP地址,引起Twitter、Tumblr、Spotify、Airbnb、Github、PayPal等众多站点无法访问,美国国土安全局、FBI也开始调查此事。

来自智能设备的DDos攻击

DDos攻击是互联网中常见的一种攻击手段,黑客向某些服务器、个人PC、智能设备植入DDos攻击程序后,控制所有机器同一时间对目标网站发起流量攻击,被攻击的网站瞬间带宽被占用,正常用户则无法访问,此次Dyn公司遭受的攻击大量则来自物联网设备,日常生活中日益增多的智能设备,被黑客利用其中的安全漏洞作为DDos攻击中的肉鸡,攻击方式简单直接又野蛮粗暴,黑客作案成本低、门槛低,已经成为一条高度成熟的产业链。

各类型DNS服务的防攻击能力

目前国内提供域名授权解析服务主要的分为以下几种类型,每种类型都有各自的优缺点,这里主要谈论解析安全相关问题。

一.域名注册商附带DNS

授权DNS解析服务作为域名注册商的附带服务,一般只提供基本的解析服务,不会或很少提供附加服务,典型如新网、易名中国等,目前是主要存在以下特点。

  • 域名DNS受到攻击时不能提供抗攻击服务。
  • 稳定性难以保证,DNS解析服务经常出现异常。
  • 域名鱼龙混杂,受攻击可能性很高,可能会影响正规域名的解析。
  • 非核心业务,受重视程度不够,出现安全问题的响应不够及时。
  • 解析服务器配置存在安全隐患,如开启域传送、any查询等,容易造成内部信息泄露或被利用作为反射放大攻击。
    企业和开发者们,如果是为重要的业务进行解析,尽量不要选择这类型的DNS服务。

二.专业域名解析服务提供商

专注提供域名授权解析及相关服务的第三方企业,国内此类服务商腾讯云DNSPod、新万网解析、DNS.com、cloudxns等,此类企业因为专一性很高,所以针对DNS遇到的各类安全问题通常都有比较完善的解决方案,且有专业的DNS团队来解决突发的安全问题。
以腾讯云DNSPod为例,为近125万用户、1100万域名提供服务,日处理DNS请求超过350亿次,据统计,平均每日都会有超过30次的攻击,并且历经了各种类型的DNS攻击,所以针对DNS遇到的各类安全问题通常都有比较完善的解决方案,且有专业的DNS团队来解决突发的安全问题,下面介绍几个典型案例:

常规DDos攻击:2009年5.19断网

和这次Dyn攻击事件非常相似,当年由于暴风影音的DNS机制缺陷,解析失败会无限重试,而且全国装机量非常大,被DDos攻击后递归DNS失败,导致运营商DNS被压垮,南方大范围断网。
攻击类型:DNS FLOOD、SYN FLOOD等
首选策略:CNAME防护(主动探测)或IP重传(被动探测)
备选策略:IP限速、域名限速、黑名单等

DNS反射放大攻击:2013.3.19 欧洲反垃圾邮件组织Spamhaus攻击

攻击类型:ANY/TXT/MX等记录类型放大
首选策略:源端口过滤、源IP过滤/限速
备选策略:禁止any查询、黑名单等

递归DNS反射放大攻击:2014.12.10-12.12 国内递归DNS被大规模攻击

全国范围内的网络异常,攻击源有共同特征,包含大量物联网设备,和此次Dyn攻击事件的攻击源类似。
攻击类型:随机子域名方式
首选策略:域名响应限速、域名请求限速
备选策略:机器学习过滤随机域名、停止泛解析、源IP限速等

并且通过多年的防攻击历史经验,腾讯云DNSpood沉淀了丰富的技术方案:

  • 自主研发第六代DNS服务器(DKDNS),辅以强大的Intel 82599EB 10GE网卡和DPDK开发套件,单机测试最高性能达到了1820万QPS,线上性能1100万QPS,并以8台服务器为一组组成了多个四层负载均衡集群,专制各种DDoS。
  • 针对DDos攻击,建立了包括大带宽、大规模分布式部署、专用防护设备、多种针对性防护策略、高性能DNS服务处理程序在内的防护体系,针对同时多个域名攻击支持高达200G的域名攻击防护能力, 历史处理域名攻击峰值超过600G,针对单域名攻击的DDoS防护能力超过1T
  • 宙斯盾防护系统全覆盖,并创建了多种专利防护算法,对不同的攻击形式采用针对性的防护策略和算法

三.企业自建DNS

目前规模较大、资源充足的公司会选择自建DNS,仅供本公司业务使用,不会被其他域名的DNS攻击影响,目前BIND(Berkeley Internet Name Domain)是目前世界上应用最为广泛的开放源码的DNS服务器软件。
关注DNS安全的开发者可能已经了解到,近期DNS服务器软件BIND的CVE-2016-2776漏洞被发现会导致远程拒绝式服务(Dos:Denial of Service)攻击,上个月才得以修复,而利用该漏洞构建特定的访问却能导致BIND主进程的崩溃。所以自建DNS也有一定的安全风险,需要关注以下几点:

  • 增加基础设施和安全设施的投入,增加带宽,部署更多的防护设备,以应对更大和更复杂的攻击。
  • 有条件的尽量开启DNSSEC支持,防止被劫持和修改
  • 关闭域传送,防止内部解析信息泄露
  • 使用开源解析软件的需要隐藏版本号和操作系统版本信息等,尽量使用最新的稳定版本,减少受攻击的可能性。
  • 各地运营商的递归DNS设置访问地区限制,减少被利用进行攻击的可能。
    然而关键仍然是有自己的DNS维护团队,进行专业的维护。

总结:DNS行业正在面临越来越严重的安全威胁,我们应积极采取措施进行应对,最后,仍然是需要完善法律法规,并对进行攻击者加大打击力度,必要时进行法律制裁。

美国半个互联网瘫痪对开发者使用DNS的启发的更多相关文章

  1. 美图App的移动端DNS优化实践:HTTPS请求耗时减小近半

    本文引用了颜向群发表于高可用架构公众号上的文章<聊聊HTTPS环境DNS优化:美图App请求耗时节约近半案例>的部分内容,感谢原作者. 1.引言 移动互联网时代,APP 厂商之间的竞争非常 ...

  2. 全球2/3的DNS瘫痪 顶级域名根服务器故障

    1月21日下午消息,据多家DNS服务商透露,今日下午3点,全国所有通用顶级域的根出现异常,导致部分国内用户无法访问.com域名网站,对全国互联网链接造成系统性影响.   根服务器主要用来管理互联网的主 ...

  3. 互联网从此没有 BAT

    根据 Wind 数据截止2019年8月30日,中国十大互联网上市公司排名中,百度排名第 6 位市值 365 亿美元,阿里巴巴排名第一市值高达 4499 亿美元,腾讯排名第二市值 3951 亿美元. 1 ...

  4. 开发者应该掌握 WebSocekt 协议的知识

    文章介绍 WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,它的出现使客户端和服务器之间的数据交换变得更加简单.WebSocket 通常被应用在实时性要求较高的场景,例如赛事数据. ...

  5. 搭乘“AI大数据”快车,肌肤管家,助力美业数字化发展

    经过疫情的发酵,加速推动各行各业进入数据时代的步伐.美业,一个通过自身技术.产品让用户变美的行业,在AI大数据的加持下表现尤为突出. 对于美妆护肤企业来说,一边是进入存量市场,一边是疫后的复苏期,一边 ...

  6. 谈互联网开放平台:“去中心化”大势所趋 zz

    文/磐石之心 几天前与好友聊到众筹咖啡馆的事情,他向我讲述了一个非常具有特色的众筹咖啡馆案例.而这个案例也引发我对当前互联网开放.去中心和集权的一些思考,今天就简单写出来与大家分享. 一个无赚钱目的的 ...

  7. 【Sharing】开发与研发

    [声明]此文为转载,只为收藏. 按:这几天我一直在写这篇东西,本来是胸有成竹,没想到后来越写越发现自己在这个题目下有太多话想说,而以我现在的能力又不能很好地概括总结,以至于越写越长,文章结构也变得混乱 ...

  8. 真实世界里的钢铁侠-特斯拉汽车创始人埃隆&#183;马斯克(Elon Musk)

    真实世界里的钢铁侠--特斯拉汽车公司和SpaceX公司总裁马斯克(31岁).当我们得意于「站在山上踢几块石头下去」或是「站在风口上的猪」的成功理论的时候,我们真的成功了吗?我们到底创造了什么?改变了什 ...

  9. 补习系列(12)-springboot 与邮件发送【华为云技术分享】

    目录 一.邮件协议 关于数据传输 二.SpringBoot 与邮件 A. 添加依赖 B. 配置文件 C. 发送文本邮件 D.发送附件 E. 发送Html邮件 三.CID与图片 参考文档 一.邮件协议 ...

随机推荐

  1. DBCP连接Oracle,数据库重启后现OALL8 is in an inconsistent state异常

    最近,DBCP连接Oracle,数据库重启后现OALL8 is in an inconsistent state异常. 版本说明 commons-dbcp-1.4.jar commons-pool-1 ...

  2. mfc线程

    1.生成线程 方式1. HANDLE hthread; //线程句柄 hthread=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)threadFunc,NU ...

  3. VS2015使用技巧 打开代码片段C#部分

    镇场诗: 大梦谁觉,水月中建博客.百千磨难,才知世事无常. 今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ 1. ...

  4. JAVA数字想加并输出

    Java课后作业博文 1.设计思想:JAVA里面的Scnner类可以将用户输入的各种字符转化为其他类型.例如 Scanner sc = new Scanner(System.in); int a =  ...

  5. 手机开机画面制作工具(LogoBuilder)

    手机开机画面制作工具(LogoBuilder) 本人想在自己的设备中采用其他设备上开机的logo,首先需要此设备上的logo.bin,然后用LogoBuilder解压出来,具体步骤如下: 1.     ...

  6. Page_Load 事件

    Page_Load 事件是众多 ASP.NET 可理解的事件之一.Page_Load 事件会在页面加载时被触发,然后 ASP.NET 会自动调用子例程 Page_Load<%@ Page Lan ...

  7. 分别向Set集合以及List集合中添加"A"、"a"、"c"、"C"、"a",观察重复值"a"能否添加成功

    package lianxi; import java.util.*; public class JhSet { public static void main(String[] args) { Se ...

  8. 【Unity3D游戏开发】GameObject.Find()、Transform.Find查找隐藏对象 (十)

    GameObjectFindTransformFind查找游戏对象 前置条件 相关API 1 GameObjectFind 2 TransformFind 3 其他查找 实际测试 即使隐藏root节点 ...

  9. 【翻译】《深入解析windows操作系统第6版下册》第10章:内存管理

    [翻译]<深入解析windows操作系统第6版下册>第10章:内存管理(第一部分) [翻译]<深入解析windows操作系统第6版下册>第10章:内存管理(第二部分) [翻译] ...

  10. CurlSharp

    https://github.com/masroore/CurlSharp clone版本库之后,在本地使用,会遇到找不到dll的情况 编译EasyGet项目之后,进行调试,会提示 System.Ba ...