写点什么

Mark Jeftovic 访谈录:easyDNS 的架构与攻击防御

2016 年 1 月 28 日

编者的话

DNS 是互联网的基石之一,如何持续提供高质量 DNS 服务,是业界一直探寻的方向。easyDNS 的创始人 Mark Jeftovic 在接受 LuxSci 公司的采访时,介绍了 easyDNS 的架构与攻击防御措施。

正文

自 1999 年以来,LuxSci 一直与 easyDNS 在提供 DNS 及域名注册服务等方面进行着合作。由于业务量巨大,我们推出了“企业 DNS”门户网站,LuxSci 及其客户可以通过该网站管理自己的域名。由于这些年来 easyDNS 一直提供高质量的 DNS 服务和支持业务,管理态度友好务实,LuxSci 也因此与 easyDNS 始终保持着合作关系。LuxSci 相信,通过与 easyDNS 的合作,能够给客户提供质量最高、稳定性最好的 DNS 服务。DNS 服务对企业来说至关重要,如果企业的 DNS 出了问题,那么其他业务也就无法开展。

目前,LuxSci 将 DNS 及域名注册服务作为其电子邮件和网页寄存服务的附加内容提供给客户,价格很有竞争力,而且提供的服务包含所有可以直接从 easyDNS 获取的功能。另外,LuxSci 还会帮助客户完成 DNS 和域名注册时的设置工作,并在客户修改配置时进行协助,最大程度地减小出错的几率。正是因为如此,LuxSci 的技术支持备受赞誉。LuxSci 的客户也可以选择自主管理 DNS,只要使用用户名登录就可以随时管理自己的 DNS。

Mark Jeftovic 是 easyDNS 最初的创始人和架构师之一,现在是 easyDNS 公司的唯一所有者。LuxSci 希望通过此次对 Mark 的采访,让大家更好地了解 easyDNS。

LuxSci:Mark,您能简单地介绍一下 easyDNS 公司的发展历程吗?

Mark Jeftovic:我们最初是另外一家公司。1994 年到 1996 年间,我们做了许多定制网页开发的项目,也是最早一批使用 SQL 后端制作动态网站的公司之一。由于 LAMP(Linux-Apache-MySQL-PHP)环境在当时还十分罕见,因此每当我们拿到一个新客户的项目,一般都需要将客户的网站转移到我们自己的服务器上。

我们在修改 DNS、锁定或解锁客户的域名时总是遇到问题。这是因为客户虽然购买了域名,但却没有管理权限。域名的管理只能靠互联网服务提供商(ISP)、虚拟主机提供商或是其他第三方机构。

就像我们说过的那样,为了让客户能够“用自己的网页浏览器方便地”管理自己的域名,我们希望搭建一个域名管理平台并给客户提供一个操作面板,这便是我们最初的想法。1996 年左右,我们开始构建系统。到了 1998 年,系统已经准备好上线了。当我们将系统上线后,域名管理业务也便蓬勃发展起来。2000 年前后,我们关闭了先前的公司,专心运作 easyDNS。

大概在 2000 年的时候,ICANN 开放了域名注册并引入竞争机制,因此,我们也应运成为了一家 OpenSRS 的分销商。2001 年,CIRA 开放.CA 域名的注册,我们获得了 CIRA 的代理注册认证。2003 年,我们获得了 ICANN 的官方认可。

LuxSci:easyDNS 支持多少个域名呢?在多少个国家提供域名服务呢?

Mark Jeftovic:去年,我们收购了另一家 DNS 提供商 Zoneedit 公司。如果把 Zoneedit 和 easyDNS 管理的域名数目加起来,总数大概是三十万。我们的客户来自超过 100 个国家,easyDNS 每天需要响应大约十亿次的 DNS 请求。

LuxSci:easyDNS 为用户提供了几种不同的 DNS 服务器,比如 dns1.easydns.com、dns2.easydns.net、 dns3.easydns.org 等。这些域名背后的服务器或是其地理位置有什么区别?为什么使用了不同的顶级域名(com、net、org 等)?

Mark Jeftovic:这些域名未来很可能变动、重叠或重组,不过目前,它们的区别如下:

  • dns1.easydns.com 使用的是一个 4 节点的任播链系统,节点分别设在圣荷西、芝加哥、阿姆斯特丹以及东京。
  • dns2.easydns.net 使用的是 Cloudflare 公司的任播 CDN(内容分发网络),但我无法确切地告诉你这其中到底有多少个节点。我们始终希望拥有多个 DDoS 缓解措施,因此在一年前,我们结束了使用 Prolexic 的服务,并开始与 Cloudflare 公司合作。
  • dns3.easydns.org 使用的是一个混合式任播集群系统,由我们自己开发,一些节点由 easyDNS 的主要 DDoS 缓解方案提供商 Staminus 公司所提供。我们的硬件设备直接寄放在位于加州、纽约、阿姆斯特丹的 Staminus 清洗中心。其余的节点则通过 HostVirtual 公司的网络部署。在一次 DDoS 攻击发生时,我们会放弃 HostVirtual 网络上的广播,所有传输只经过 Staminus 的节点。
  • dns4.easydns.info 使用的是另一家独立供应商 Community DNS 的服务。Community DNS 提供许多区域性的网络域名服务,DNS4 则使用了该公司网络上的 6 节点任播系统。

LuxSci:将 DNS 服务器设在不同的国家是如何提高 DNS 服务质量的呢?

Mark Jeftovic:对于 DNS 来说,冗余是个好东西。如果将名称服务器(Name Server)的信息进行广播(甚至不必用到任播的方法),当网络中的某些地方出现故障时,仍然会有一些服务器可以接收到任意节点发出的请求。在多接入数据中心协同定位时,上述机制的运行效果最佳。所以,一个数据中心几乎不太可能完全从互联网中断开。

DNS 算法的工作原理是,一台名称服务器在初始时给所有的名称服务器发送请求信息,计算响应时间。之后再发送请求时,则发送给响应时间最短的名称服务器(大意是这样,细节还有很多)。当你把你的名称服务器进行广播后,你就得到了最佳的 DNS 请求定向信息。

当多个名称服务器响应同一个 IP 地址的网络中加入任播后,那么,在一个名称服务器进行第一次响应时间检测时,该名称服务器的请求会经过任播节点,而任播节点已经拥有了包含访问当前节点最短路径的路由表,所以将会获得 2 次最佳定向信息:一次是由“最近”的任播链节点发回,另一次则是从任播链最先应答的某一处发回。

LuxSci:DNS 服务的可靠性和故障发生时的恢复能力是其最重要的性能。过去的几年里,有很多次比较严重的针对 easyDNS 以及其他公司的分布式拒绝服务攻击,同时也有其他类型的攻击。这些攻击的强度和频率似乎有增长的趋势。您认为针对 DNS 提供商的 DDoS 攻击确实在增加吗?您如何看待这种趋势?

Mark Jeftovic:在我们的《主动式名称服务器白皮书》中,我们给出了一张显示 DDoS 攻击强度随时间变化的图表。这幅图表中预测 2020 年时,DDoS 攻击强度将会达到 1.2TB(Terrabyte,十万亿比特)。我认为这个预测还过于乐观,去年的 NTP 反射攻击就已经达到了每秒 300 GB。

这便是为什么我认为抵抗 DDoS 攻击最明智的方法是获取并维护“DNS 马赛克”。“DNS 马赛克”始终与给定的 DDoS 攻击向量有差别,对所有非 DDoS 攻击对象都适用。事实上,大多数 DDoS 主要造成的是间接伤害。例如其他人受到了 DDoS 攻击,而受害者和你的服务提供商相同,那么你更有可能会因此受到影响,而不是自身作为目标直接遭受 DDoS 攻击。

DNS 故障会立即使网络瘫痪,所以 DNS 是最常见的攻击目标。移除了攻击目标的名称服务器,也就没有了可以攻击的目标,便从根本上遏制了攻击。

LuxSci:在 DDoS 攻击发生时,easyDNS 如何确保可以继续提供服务?

Mark Jeftovic:我们拥有多个服务提供商,这使得我们的 DDoS 缓解控制措施,甚至我们自己的 DNS 都能有冗余(详见下一个问题)。

如果必须保证每时每刻都能百分之百地有可用的 DNS,那么就需要使用多 DNS 的解决方案,通过一致性策略维护当前网域(zone)的 DNS 交互数据,并可以在运行中切换 DNS。

这正是我们所做的工作。我们有一项正在申请专利的服务——“主动式名称服务器”,可以在名称服务器层上实现故障转移。我们的重点在名称服务器上,而不是在主机名失效时,于给定网域内转移主机名的故障。我们的做法是,在名称服务器出现故障时,自动调取备份的名称服务器开始工作。

我们使用亚马逊 Route 53 和 Zoneedit 作为备份(你也可以根据自己需要设置更多的备份池)。当我们遭受 DDoS 攻击时,我们只用简单地将备份名称服务器加入到授权名单中,或者完全切换到使用备份名称服务器的模式。这个过程完全自动,效果很好。这些年来甚至在遭受非常严重的 DDoS 攻击,easyDNS 名称服务器都受到了非常大的影响时,easyDNS 的控制系统和辅助服务(如电子邮件、转发功能等)仍然可以正常工作。

LuxSci:为了避免针对 DNS 提供商的 DDoS 攻击所带来的影响,用户们可以做些什么?

Mark Jeftovic:地理冗余和网络冗余之后,冗余的下一个层次是多提供商冗余。正如我刚才所说的那样,我们自己就和合作的其他 DNS 提供商进行了整合,我们的客户也可以使用这些提供商的服务。

因此,如果你同时在使用 easyDNS 和亚马逊 Route 53 的服务,你只需要在一个控制面板上操作就可以整合自己的网域。我们也进行了 Linode.com、Digital Ocean 还有 Google’s cloud DNS 的整合,不过目前还都是测试版。

你还可以做的一件事是监视,然后在不同的名称服务器池和提供商之间切换,并使这个过程自动化。不过这是我们的“主动式名称服务器”解决方案要做的工作,我们也称之为“ Plan B DNS ” 。

LuxSci:新闻报道过许多 DNS 污染攻击的事件。easyDNS 考虑过 DNS 污染相关的问题吗?您认为在防止用户受到此类攻击方面,未来可以采取哪些措施?

Mark Jeftovic:DNS 污染攻击主要针对的是递归名称服务器或域名解析器,并非权威 DNS 服务器。显而易见,这不是我们的主要矛盾。easyDNS 支持 DNSSEC,可以帮助客户避免 DNS 污染的影响。

但是我发现最近一段时间,更容易实现的破坏是入侵提供商管理控制系统,要么通过软件漏洞,要么通过社会工程学的途径侵入。侵入后,就可以轻松接管目标 DNS。因此我们建议,在所有有条件的地方,始终开启全账号事件警报和双重认证。

LuxSci:DNSSEC(DNS Security)是一种 DNS 安全认证的机制,但还没有在实际应用中产生足够吸引力。easyDNS 支持 DNSSEC 吗?您怎样看待 DNSSEC 以及其他解决相同问题的技术的未来?

Mark Jeftovic:easyDNS 支持 DNSSEC,而且我们认为它是 DNS 发展中必然会出现的安全机制,尽管现在它还有很多缺陷。我个人认为,恶意的密钥滚动发生的频率更高,对网域的危害大于缓存污染。

LuxSci:许多域名注册商(比如 Network Solutions 等)也为客户提供 DNS 服务。与这类公司相比,easyDNS 的优势是什么?

Mark Jeftovic:我常给别人讲一个笑话:“免费 DNS 不干活时也免费。”免费的 DNS 虽然不收费,但却时常故障,无法保证长时间稳定工作。大多数网络用户、虚拟主机、互联网服务提供商、甚至域名注册商,都不会提前考虑 DNS 的重要性。直到 DNS 服务器出现问题,他们才开始意识到要好好改善 DNS 服务。DNS 对于互联网至关重要,因而我们的宗旨便是:“DNS 如春雨,润物细无声。”

LuxSci:像 UltraDNS 等顶尖 DNS 企业也在竞争同 LuxSci 等服务提供商的合作。在这场竞争中,easyDNS 的优势又是什么呢?

Mark Jeftovic:最近有一种说法是,我们公司给出的服务价格更有竞争力。这种说法比较奇怪,因为在和域名注册商对比时,easyDNS 的服务通常都被评价为“昂贵但值得拥有”。虽然注册商不仅以极其低廉的价格出售域名,还附带提供 DNS 服务,但是,我们拥有任播 DNS 技术,还针对 DDoS 部署了防御措施,而且价格也并非昂贵到难以承担。

LuxSci:easyDNS 近期有重要的新功能发布吗?

Mark Jeftovic:主要的新功能就是 DNS 整合和主动式名称服务器。主动式名称服务器这项功能由我们公司最先发明,属于世界首创。

我们刚刚完成了第二版的 GeoDNS,目前正在用 PHP.net 进行在线测试,今年秋天就可以发布了。

我们同时也在开发其他几样产品,但都还处在非常原始的阶段。

阅读原文:《 Interview with Mark Jeftovic, CEO of easyDNS

编后语

《他山之石》是 InfoQ 中文站新推出的一个专栏,精选来自国内外技术社区和个人博客上的技术文章,让更多的读者朋友受益,本栏目转载的内容都经过原作者授权。文章推荐可以发送邮件到 editors@cn.infoq.com。


感谢魏星对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。

2016 年 1 月 28 日 16:531087
用户头像

发布了 268 篇内容, 共 101.4 次阅读, 收获喜欢 17 次。

关注

评论

发布
暂无评论
发现更多内容

云原生架构-可观测性之 Prometheus 服务自动发现

云原生实验室

搭建网站/APP最全准备攻略

前嗅大数据

小程序 建站 APP发布

AWS 助力贝壳VR看房走出国门,升级全球居住服务新体验

亚马逊云科技 (Amazon Web Services)

AWS

大咖直播 | Elasticsearch 应用监控管理平台搭建实战

小小的一朵云

大数据 elasticsearch Elastic Stack 监控管理平台

牵头成立“现代计算联盟”,强大如谷歌也需要组团打怪吗?

脑极体

Shell脚本命令常用技巧

MySQL从删库到跑路

shell脚本编写

Elasticsearch 新机型发布,性能提升30%

小小的一朵云

大数据 elasticsearch Elastic Stack

Apache顶级项目ShardingSphere — SQL Parser的设计与实现

京东数科风险算法与技术

数据库 开源 中间件

互联网应用系统常见问题与方案

raox

极客大学架构师训练营

第13周作业

饭桶

建信金科大咖访谈:金融衍生品定价与建行实践

金科优源汇

金融科技 金融创新

内存问题探微

AI乔治

Java 架构 编程语言 内存 多线程与高并发

图文回顾丨北京「解构云原生:企业数字化转型新支点」沙龙

RancherLabs

k8s rancher

云南区块链电子发票全面推广啦!

CECBC区块链专委会

区块链 纳税人

传统巨头抢占区块链场景高地 医疗、汽车、金融成为热门赛道

CECBC区块链专委会

区块链 金融

信任的传递——为什么我们需要第三方授权?

ThoughtWorks洞见

证书 身份认证

几种常见的研发管理体系,哪种更适合你?

菜根老谭

敏捷开发 研发管理 CMMI IPD

Java中多线程安全问题实例分析

叫练

Java 多线程 什么是多线程 多线程与高并发

面向全场景模块化设计 京东智联云的服务器部署有多灵活?

京东科技开发者

服务器 云主机

附PPT丨AI和云原生时代的数据库进化之路

dbaplus社群

数据库 云原生

告别消费主义的双12,是华为云12.12会员节真正的意义

脑极体

如何在数智化时代少走弯路? 这里有100个案例可以借鉴

京东科技开发者

DevOps 云原生

浅谈JDK并发包下面的分治思想及分治思想在高并发场景的运用

AI乔治

Java 架构 jdk 分布式 多线程与高并发

记一次MapReduce的内存溢出

AI乔治

Java mapreduce 架构 内存溢出

自建本地电话告警系统

周楠

运维 物联网 监控告警

这才是你需要的C/C++Linux学习路线!

赖猫

c++ Linux 后台开发 服务器开发

住建部等六部门:广泛运用区块链等技术,建设智慧物业管理服务平台

CECBC区块链专委会

物业生活

第十三周学习总结

饭桶

EMAS远程日志 - 移动端问题排查利器

应用研发平台EMAS

阿里云 运维 日志 监控告警 应用

静态代码分析工具评估指标及方法

maijun

即构实时音视频多中心调度设计

ZEGO即构

演讲经验交流会|ArchSummit 上海站

演讲经验交流会|ArchSummit 上海站

Mark Jeftovic访谈录:easyDNS的架构与攻击防御-InfoQ