赶紧修复DNS服务器!

虽然近日针对欧洲反垃圾邮件组织Spamhaus发动的大规模DDoS攻击其危害程度不如早期传闻声称的那么大,但是此事件值得关注的原因在于,它们暴露了互联网众多根本薄弱环节当中的几个。其中一个就是开放式DNS解析器,这种解析器为一种名为DNS放大(DNS amplification)的攻击手法提供了可趁之机。而这种攻击手法具体指,目标服务器每向外发送1个字节,攻击者就向这些服务器发送多达100个字节的网络拥塞流量。

既有技术专长又有影响力的有关组织会不会开始以一种整体性、实质性的方式解决这些不足,从而提高互联网的安全性,这仍需拭目以待。遗憾的是,恐怕需要发生破坏性和危害性更大的安全事件才会促使有关组织积极行动起来。

卡巴斯基安全新闻网站Threat Post刊登了一篇精彩的报道(详见http://threatpost.com/en_us/blogs/open-dns-resolvers-center-stage-massive-ddos-attacks-032813),深入浅出地介绍了开放式解析器、DNS放大攻击及其在针对Spamhaus的DDoS攻击中扮演的角色:

这方面息息相关的一个根本性、普遍性的问题与开放式DNS解析器被用来针对瑞士这家反垃圾邮件组织发动DDoS攻击有关。开放式解析器在送回DNS答复之前并不对数据包发送者的IP地址进行验证。因此,攻击者骗过受害者IP地址后,就能够向受害者发送大量的攻击流量,攻击流量与请求流量之比达到了100:1。诸如此类的DNS放大攻击最近被黑客行动主义者、敲诈勒索者以及上了黑名单的网站主机所使用,而且大获成功。

开放式DNS解析器项目组织的Jared Mauch告诉Threat Post,参与Spamhaus攻击的僵尸网络使用了30000多个独特的DNS解析器,"如果实施一起更大范围的攻击,这些解析器的共同威力可能会被不法分子用来让这个全球网络的大部分系统陷入瘫痪。"

据Threat Post声称,解决办法就是:"开放式DNS解析器项目组织及其他组织(如DNS服务提供商Afilias)建议实施源地址验证机制。现已存在的IETF RFC, BCP-38(详见http://tools.ietf.org/html/bcp38)具体明确了如何使用源地址验证机制,以及如何建立这种架构,以挫败IP源地址欺骗手法。"

另外,系统管理员Trevor Pott在The Register网站上发表了一篇内容翔实的博文(详见http://www.theregister.co.uk/2013/03/28/i_accidentally_the_internet/),他坦诚自己无意中沦为了DDoS攻击的帮凶,起因是"他在搭建位于其网络边缘上的一台DNS服务器时,犯下了一个简单的配置错误。"他称之为充当路由器的"边缘洗涤器"(edge scrubber),它向数据中心里面的服务器和路由器分发IP地址。它还代表网络上的所有其他设备,"起到了各种"枯燥粗活"的功能"。它是数据中心/本地网络时间服务器、外部DNS服务器、边缘服务器和带宽限制器。

他表示,问题在于,他忘了禁用服务器上的递归查询,这使得他那台服务器成了被DNS放大攻击利用的一个工具。他解释:"DNS服务器能够以两种基本方式当中的一种方式来配置。在一种可能的配置下,DNS服务器只为它负责服务的对象提供域名服务(命令式)。在另一种配置下,DNS服务器除了提供那些域名服务外,还在更广泛的互联网上寻找它原本无权管理的任何域(递归式)。正是递归式DNS服务器让互联网得以正常运行。它们也是一种攻击途径。"

他详细地解释了如何修复他那台服务器存在的配置问题。简而言之,问题源自于这种假定:BIND(实现DNS协议的系统)在默认情况下禁用递归;解决办法需要"指令BIND只受理来自其数据中心里面的服务器的递归请求。"