当前位置: 首页 > 产品中心 > 运营商DNS > Recursor
Recursor

Recursor是集智能DNS,DNS软件安全防护,数据控制,DNS解析加速为一体的DNS数据控制层面的软件。
授权服务器的重点是配置和发布DNS数据。递归服务器的重点是去授权服务器寻找需要的DNS记录。缓存服务器的重点是高速回复用户DNS应答。目前国内很多运营商已经基本实现了授权与缓存的分离,但泰策的Recursor已经实现了缓存与递归的分离,具有以下优势:
● 提高系统的安全性。
● 实现控制层面与数据层面的分离。
● 为DNS增加新的功能后不影响用户请求的速度。
● 提升整体DNS系统的性能。


        DNS(Domain Name Server,即域名系统)是互联网上的关键应用,它直接关系到用户的最终体验,互联网的大规模发展对现有DNS 系统的安全性,可扩展性,稳定性以及功能等方面提出了更高的要求。
  中国各大运营商近几年均在大力发展IDC业务,希望通过IDC减少网间结算流量,但是在实际业务中发现很多运营商的IDC引入的资源会因为DNS不配合导致本网内部用户不访问IDC的内部资源,使得IDC资源利用不充分。
  近几年关于DNS的网络事件时有发生,主要是集中在DNS安全和用户访问控制二个方面。
  在传统的域名系统中,DNS服务器往往承担着多种功能,包括对管理域名的授权数据的发布,对外发起递归请求以及响应用户的DNS请求等。
  这样的架构,一方面在安全性上有漏洞,易于遭受攻击;另一方面,由于各个功能包括授权、递归和缓存等有着不同的业务逻辑和特点,多种功能集于一体,也不利于对不同的业务逻辑进行有针对性的处理,从而导致系统效率不高。
  授权服务器的重点是配置和发布DNS数据。递归服务器的重点是去授权服务器寻找需要的DNS记录。缓存服务器的重点是高速回复用户DNS应答。
  目前国内很多运营商已经基本实现了授权与缓存的分离,但是还未实现缓存与递归的分离。
  缓存与递归的分离主要有以下几点好处:
  ● 提高系统的安全性。
  ● 实现控制层面与数据层面的分离,各部分完成自己的内容,控制层方便的实施策略控制,数据层实现高速的DNS应答。
  ● 为DNS增加新的功能后不影响用户请求的速度。
  ● 提升整体DNS系统的性能。

        智能DNS
        该功能实现智能DNS功能,在递归结果包含本网内部的IP地址和非本网IP地址时仅回复内部的地址,该功能帮助运营商减少网间结算流量。
        DNS安全
        1. 服务失败攻击保护
        有的应用程序在得到DNS的否定应答后会连续不断的发出同样的请求,如果安装该类型软件(比如暴风影音,QQ影音)的用户太多也会对DNS服务器造成效果类似DDoS的攻击影响。      
        为解决这个问题,我们对RFC2308中描述的Negative Cache扩展进行了实现。通过让用户缓存服务失败和网络失败的DNS应答,避免类似这样的事件发生。具备该功能的前提下,暴风事件就不会导致网络失败,Negative Cache会让暴风保存失败的解析记录,确保暴风不会连续不断的发出DNS请求。
        2. 缓存中毒保护
        我们的DNS系统做了如下有针对性的防护手段:
        隐藏递归IP,隐藏递归端口黑客不易发现
        端口随机,理论上提供216随机端口
        随机Query ID,ID号可达216   
        采用0X20+技术
        3. 重点域名监控
        对重点域名(通过接口定义,可为配置文件,也可为单个记录)的资源记录进行监测,同时定义重点域名对应的IP地址群(经过人工校验后确认的数据),当有变化的时候,且变化后的内容不在给定的IP地址群中,则输出日志,发送告警信息。或者变化后的内容不包含IP地址群中指定的IP,则输出日志,发送告警信息。
        该功能用于对重点域名进行监控,具备该功能后,前面描述的Baidu被劫持事件会在第一时间被发现。
        4. 递归攻击保护
        DNS服务器在做递归请求时,需要占用服务器更多的资源,所以DNS服务软件会对递归并发数进行限制,当并发数达到设定的数值后系统就不在处理新的递归请求,这样黑客就会利用发送大量的递归请求来耗尽DNS服务器的递归资源,导致用户的DNS递归解析失败。
         面对这种攻击,我们的DNS软件特别设计了一套递归淘汰机制,该机制可在递归资源饱和时通过递归淘汰算法计算出可能是黑客发出的攻击递归请求,并释放这些递归资源,这项策略的意义在于当服务器遭受递归攻击时,能够使递归个数满足正常的用户递归请求,而不是被垃圾流量占用。
        用户保护
        Recursor一个重要功能是可作为运营商的内容控制平台,协助运营商提供最好的用户体验和服务质量。Recursor可对用户发起的DNS请求报文进行实时的域名控制,确保为用户提供一个干净的网络环境,事实上DNS是Internet业务的基础,Recursor通过检测DNS流量,在源头上将非法网站流量转发到相对应的告警平台。比如,如果用户请求某非法网站,我们系统可将它转发到相应的网络警察网站或某提醒网络,比如泰策科技提供的Navigator平台,Navigatior可以针对URL进行很好的筛选和判断,呈现设定的页面。非法的定义类型非常灵活,用户可根据自己的需求配置,比如色情,暴力等等。
        DNS性能优化
        这个功能确保热点域名的数据在缓存中保持最新数据,在预设的时间点更新,使用户不会在请求热点DNS请求时触发递归事件起到解析加速的作用。
        当需要对指定的域名在缓存中定期刷新时应用此策略。例如域名www.baidu.com的在缓存中的TTL为100秒,策略定义www.baidu.com的Cache刷新时间为10秒,这样当www.baidu.com在Cache中缓存了90秒以后就会刷新缓存中www.baidu.com的内容,并且www.baidu.com在缓存中的过期时间TTL重新置为100秒,这样保证www.baidu.com的资源记录永远在缓存中存在。
        错误域名转发
        目前运营商DNS服务器接收的域名请求有大约10%的是NXDOMAIN,NXDOMAIN的充分利用将会给运营商带来可观的利润,因此对NXDOMAIN域名请求的利用显得相当的重要。
        DNS对发现符合条件的错误域名直接返回重定向地址。从根本上摆了错误域名转发受浏览器限制的问题。同时转发策略还能针对域名的类型、用户群、域名前后缀实施不同的转发策略,配合域名导航平台Navigator,能实现对应用的识别,比如只转发HTTP的流量。
        数据统计
        Recursor可统计如下业务数据: 
A记录
PTR纪录
MX纪录
IPV6请求
每秒请求数
每秒应答数
正确应答
服务失败
错误域名数
递归请求
重复包
丢弃包
其他失败请求
解析成功率
IPV4请求
IPV6请求
IPV4回复
递归错误域名
服务失败数
格式错误数
其他错误递归请求数
EDNS0请求失败数
重试递归请求数
超时请求数
IPV4 NS 地址获取
IPV6 NS 地址获取
IPV4 NS 地址获取失败
IPV6 NS 地址获取失败
延时统计
递归成功率
智能策略/分钟
智能策略/秒
智能策略改变/秒
错误域名/秒
恶意域名/秒
服务失败/秒
CPU利用率
内存利用率
硬盘使用率


        Recursor是集智能DNS,DNS软件安全防护,数据控制,DNS解析加速为一体的DNS数据控制层面的软件,具有以下的优势:
     ● 通过DNS应答引导用户就近访问网络资源,起到加速网络访问和减少网间流量的作用。
     ● 通过对“服务失败的DNS应答包”进行特殊处理,有效的避免由于授权服务器不可达引发的类似DNS DDoS的攻击。
     ● 通过引入DNS “0X20+”的安全机制有效的使DNS系统免受缓存投毒攻击。
     ● 对重点域名进行监控,如果重点域名出现问题,管理员可在第一时间发现。
     ● 通过递归淘汰算法可有效的减轻递归攻击对DNS系统的危害。
     ● 可对错误域名进行有效的引导和汇聚,为运营商运营由于“错误域名而引起的流量”提供帮助。
     ● 可对黄色网站,钓鱼网站,挂马网站等非法网站进行屏蔽,确保用户的访问行为合法、安全。

RFC1034      Domain names - concepts and facilities
RFC1035      Domain names - implementation and specification
RFC1612      DNS Resolver MIB Extensions
RFC2181      Clarifications to the DNS Specification
RFC2308      Negative Caching of DNS Queries (DNS NCACHE)
RFC2671      Extension Mechanisms for DNS (EDNS0)
RFC2827      RFC2827 Network Ingress Filtering Defeating Denial of Service Attacks which employ IP Source Address Spoofing
RFC2874      DNS Extensions to Support IPv6 Address Aggregation and Renumbering
RFC3225      Indicating Resolver Support of DNSSEC
RFC3226      DNSSEC and IPv6 A6 aware server resolver message size requirements
RFC3596      DNS Extensions to Support IP Version 6
RFC3597      Handling of Unknown DNS Resource Record (RR) Types
RFC3704      Ingress Filtering for Multihomed Networks BCP84
RFC4033      DNS Security Introduction and Requirements
RFC4034      Resource Records for the DNS Security Extensions
RFC4035      Protocol Modifications for the DNS Security Extensions
RFC5358      Preventing Use of Recursive Nameservers in Reflector Attacks BCP140
RFC5395      Domain Name System (DNS) IANA Considerations BCP42
RFC5452      Measures for Making DNS More Resilient against Forged Answers
RFC5966      DNS Transport over TCP - Implementation Requirements