美国半个互联网瘫痪对开发者使用DNS的启发
版权声明:本文由腾讯云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的启发的更多相关文章
- 美图App的移动端DNS优化实践:HTTPS请求耗时减小近半
本文引用了颜向群发表于高可用架构公众号上的文章<聊聊HTTPS环境DNS优化:美图App请求耗时节约近半案例>的部分内容,感谢原作者. 1.引言 移动互联网时代,APP 厂商之间的竞争非常 ...
- 全球2/3的DNS瘫痪 顶级域名根服务器故障
1月21日下午消息,据多家DNS服务商透露,今日下午3点,全国所有通用顶级域的根出现异常,导致部分国内用户无法访问.com域名网站,对全国互联网链接造成系统性影响. 根服务器主要用来管理互联网的主 ...
- 互联网从此没有 BAT
根据 Wind 数据截止2019年8月30日,中国十大互联网上市公司排名中,百度排名第 6 位市值 365 亿美元,阿里巴巴排名第一市值高达 4499 亿美元,腾讯排名第二市值 3951 亿美元. 1 ...
- 开发者应该掌握 WebSocekt 协议的知识
文章介绍 WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,它的出现使客户端和服务器之间的数据交换变得更加简单.WebSocket 通常被应用在实时性要求较高的场景,例如赛事数据. ...
- 搭乘“AI大数据”快车,肌肤管家,助力美业数字化发展
经过疫情的发酵,加速推动各行各业进入数据时代的步伐.美业,一个通过自身技术.产品让用户变美的行业,在AI大数据的加持下表现尤为突出. 对于美妆护肤企业来说,一边是进入存量市场,一边是疫后的复苏期,一边 ...
- 谈互联网开放平台:“去中心化”大势所趋 zz
文/磐石之心 几天前与好友聊到众筹咖啡馆的事情,他向我讲述了一个非常具有特色的众筹咖啡馆案例.而这个案例也引发我对当前互联网开放.去中心和集权的一些思考,今天就简单写出来与大家分享. 一个无赚钱目的的 ...
- 【Sharing】开发与研发
[声明]此文为转载,只为收藏. 按:这几天我一直在写这篇东西,本来是胸有成竹,没想到后来越写越发现自己在这个题目下有太多话想说,而以我现在的能力又不能很好地概括总结,以至于越写越长,文章结构也变得混乱 ...
- 真实世界里的钢铁侠-特斯拉汽车创始人埃隆·马斯克(Elon Musk)
真实世界里的钢铁侠--特斯拉汽车公司和SpaceX公司总裁马斯克(31岁).当我们得意于「站在山上踢几块石头下去」或是「站在风口上的猪」的成功理论的时候,我们真的成功了吗?我们到底创造了什么?改变了什 ...
- 补习系列(12)-springboot 与邮件发送【华为云技术分享】
目录 一.邮件协议 关于数据传输 二.SpringBoot 与邮件 A. 添加依赖 B. 配置文件 C. 发送文本邮件 D.发送附件 E. 发送Html邮件 三.CID与图片 参考文档 一.邮件协议 ...
随机推荐
- IOSanimationDidStop
-animationDidStop:finished: 方法中的flag参数表明了动画是自然结束还是被打断,我们可以在控制台打印出来.如果你用停止按钮来终止动画,它会打印NO,如果允许它完成,它会打印 ...
- R 给data.frame(dataframe)添加一列
x<-data.frame(apple=c(1,4,2,3),pear=c(4,8,5,2)) x # apple pear # 1 1 4 # 2 4 8 # 3 2 5 # 4 3 2 x$ ...
- Django——model字段类型 2
Django 通过models实现数据库的创建.修改.删除等操作,Django中model作为数据资源指定了字段以及一些相应的功能,通常每个model对应数据库中的一张表,(每个model都是从dja ...
- 访问者模式,visitor
定义: 表示作用于某对象结构中的各个元素的操作. 可以在不改变各元素的类的前提下定义作用于这些元素的新操作. 前提: 适用于数据结构(Element)相对稳定的系统,这样visitor中的方法就是稳定 ...
- 使用httpclient时候,出现“Too many open files”问题
最近接触的sendHttpPostRequest的问题比较多,近期碰到了关于 "java.net.SocketException: Too many open files" 的问题 ...
- Simulating a Freight robot in Gazebo
Installation Before installing the simulation environment, make sure your desktop is setup with a st ...
- T-SQL排名函数
提到排名函数我们首先可能想到的是order by,这个是排序,不是排名,排名需要在前面加个名次序号的,order by是没有这个功能的.还可能会想到identity(1,1),它也给了一个序号,但是不 ...
- git fork
http://help.github.com/fork-a-repo/ 概要: 克隆别人的代码库到自己的项目中,可以作为子模块的形式使用,或二次开发 操作流程: 在开源项目中点击fork按钮,稍等一会 ...
- android上让我放弃使用wstring来操作中英文字符串 转
android上让我放弃使用wstring来操作中英文字符串 2013-08-07 16:37:24| 分类: cocos2d|举报|字号 订阅 项目需要,需要对中英文字符串进行遍历修改等, ...
- 使用Maven构件Web应用
一个典型的WAR文件会有如下目录结构: Maven的WEB项目结构: jetty-maven-plugin默认很好地支持了Maven的项目结构.在通常情况下,我们只需要直接在IDE中修改源码,IDE能 ...