网络安全 频道

让DNS服务器远离疯狂的DDoS攻击

    如何渡过危机

  你首先要做的是在你的DNS基础架构上加装设备,借此来监测是否正处在攻击之中。有好多公司根本不知道他们接收到的请求究竟是什么,所以他们就无法第一时间知道他们正在受到攻击。

  利用BIND的内置统计支持功能,便能轻易实现对请求的判断。比如,BIND域名服务器在执行mdc stats命令或者可配置统计区间的时候,会将数据注入其统计文件,我们可以依据数据来检视查询速率、套接字错误以及其它攻击迹象,如果不能确定攻击如何发展也不要担心,因为对DNS进行监测的部分目的就是要建立起一个标准,以此来判断何谓异常状态。

  下一步,让我们看一下面向互联网的基础设施。不要将自己囿于外部权威域名服务器;检查一下交换机、路由器、防火墙以及网络连接。检查是否有单点故障。要确定你是否可以方便并低成本地地避免出现问题。

  如果可能的话,需要将外部权威域名服务器所分布的广大区域列入你的考虑范围,这可帮你避免单点故障,同时在没有遭受攻击的情况下也对你大有裨益。递归域名服务器负责解决你所在地区的域名问题,它将查询距离最近的权威域名服务器。所以,跨区分布可以帮你向客户和代理商提供更好更优的性能。如果在某些地区你的客户分布比较集中,那就在这些客户附近配置一台权威域名服务器以做出快速响应。

  或许,抵御DDoS攻击的根本之道便是过度配置基础设施。好消息是,要实现域名服务器的过度配置已经不再贵不可及,一台性能优良的域名服务器一秒钟可以处理数十万条请求。

  究竟这种过度配置域名服务器要达到何种程度,这取决于:您在网上的价值?在面向网络的基础设施中,有没有其他组件有可能在域名服务器之前出问题?很显然,在边界路由器或者防火墙之后花大价钱部署优异DNS基础设施并不可取,因为它们有可能会在域名服务器之前失效,一有风吹草动,影响必现。

  了解一下现在最强大的DDoS对DNS设备的攻击技术,将对你大有裨益,如果目的不是为钱的话,这种攻击将超过100Gbps。

  利用Anycast技术同样也可以抗击DDoS攻击。Anycast技术允许多个服务器来共享某个单一IP地址,因此非常适合DNS。事实上,互联网根域名服务器已经使用Anycast技术多年,用以向全球提供根区域数据,同时这一技术也允许根目录与单一基于UDP的DNS 信息相匹配。

  要部署Anycast技术,需要在支撑域名服务器的主机上运行动态路由协议,如OSPF或BGP。路由过程会广播到相邻路由器并路由到一个新的虚拟IP地址。该地址你的域名服务器可以监听到。该路由过程应该足够智能,当本地域名服务器停止响应的时候路由过程也停止广播。你可以使用自建代码将路由守护程序添加到健康域名服务器上,或者购买一款产品来替你完成。Infoblox 公司的NIOS软件, 就包含了对Anycast的支持。

  那么Anycast是如何抵御DDoS攻击的呢?假设你有6个外部域名服务器,分属于两个Anycast群组(即三个服务器共用一个Anycast IP地址,剩下三个共用另外一个IP地址)。每个群组里有三个成员,分别来自美国、欧洲和亚洲。DDoS挂载在主服务器上,任何时候都可以通过网络上任何一个点将流量发送到群组里的任何一台服务器之上,发动攻击。除非攻击者能够将足够多的流量从北美、欧洲以及亚洲等地同时发送到你的基础设施上,否则他们无法取得成功。

  最后,有一种方法可同时利用广阔的地区分布及Anycast技术,而无需过多投入资金,那就是使用基于云的DNS 提供商,诸如像Dyn和Neustar这样的在其全球数据中心里运行Anycast域名服务器的公司。通过向其支付费用,你可以托管自己的空间并对你的数据请求做出答复。此外,你还可以继续保持对空间数据的直接控制,那就是让服务商配置域名服务器作为你空间的备用,然后将数据从一台由你指定和内容管理的主域名服务器上进行加载。在你运行主域名服务器时一定要确保其处于隐藏状态 (意味着没有域名服务器记录指向它),要不你就会面临风险:攻击者会将它看作单点故障从而实施攻击。在使用基于云的DNS提供商的时候你需要记住这一点:大多数费用或者至少部分费用是基于他们的域名服务器收到的来自你的空间数据的请求次数计算的。在DDoS攻击中,这些请求上会陡然增加,完全失去控制,且对你有百害而无一利。所以一定要确保他们提供抵御DDoS攻击的方案,但又不能由你来承担流量费用。 

0
相关文章