一种提高域名系统安全和性能的方法和系统的制作方法

文档序号:7743342阅读:149来源:国知局
专利名称:一种提高域名系统安全和性能的方法和系统的制作方法
技术领域
本发明涉及网络安全技术领域,尤其涉及一种提高域名系统安全和性能的方法和 系统。
背景技术
每天都有数亿的用户访问Internet上的内容和应用,同时有海量的数据在 Internet上进行传输,所有这一切,都需要域名系统(Domain Name System,DNS)所提供的 服务机支持。对于每个用户而言,一个有意义的域名(或称为主机名),比如www, example, com 是易记易用的,也是他们访问Internet所必须的;而另一方面,对于Internet上的计算机 而言,通信时实际使用的是一个IP地址,比如208. 77. 188. 166。在Internet上,完成从域名到IP地址转换的,就是域名系统DNS ;在DNS的服务 器中会维护域名到IP地址映射关系的记录,当DNS服务器收到来自客户端的域名查询请 求时,DNS服务器查找相应的记录,将IP地址作为响应返回给客户端,这个过程一般也称为 “域名解析”。Internet上的用户和应用无时无刻不在使用DNS所提供的服务和能力。然而,目前针对DNS的攻击比较普遍,常见的攻击方式有两种一种称为分布式拒 绝服务攻击(Distributed Deny of Service,DDoS),另一种称为域名劫持。拒绝服务攻击 (Denyof Service,DoS)的机制在于,产生大量的服务请求,增大服务器的工作负载,使得服 务器无法响应正常用户或者应用的请求,甚至使服务器瘫痪,完全停止服务。为了进一步提 高拒绝服务攻击的危害程度,攻击者常常操控分布在Internet上的多台计算机(比如购买 “僵尸网络”或者“肉鸡”)同时进行攻击,这种多点攻击的方式通常称为分布式拒绝服务攻 击,即DDoS。与域名系统相关的DDoS的案例之一就是在2009年发生的,对于某电信运营 商DNS系统的DDoS攻击,造成了大范围的用户无法正常访问网络,产生了巨大的经济损失 和恶劣的社会影响。域名劫持是另外一种针对DNS的攻击方式,攻击者会修改DNS服务器中的记录, 使其对应到错误的IP地址。比如,攻击者将WWW. example, com所对应的IP地址篡改为 111. 222. 33. 44,那么当用户访问www, example, com时,会去访向111. 222. 33. 44 ;从而无法 访问原本在208. 77. 188. 166提供的服务。域名劫持的案例之一就是在2010年针对某著名 网络搜索引擎发生的攻击,使全球用户在长达10多个小时内无法使用其搜索服务;产生了 巨大的直接经济损失和间接经济损失。可以预见,无论是针对DNS系统的DDoS攻击,还是域名劫持,如果发生在电子商务 网站,或者网上银行,以及政府、运营商等其他重要的门户网站,以及电子邮件服务器,将导 致难以估计的损失,后果更加不堪设想。因此需要切实有效的方法和系统提高DNS系统的 安全性。现有技术中,针对DDoS攻击的常用方法就是对流量进行过滤;其局限在于如何 区分哪些流量是正常合法的哪些是非法的(攻击目的)是非常困难的事情。比如,由于目前Internet上IP地址的缺乏(IPv4),很多用户是通过网络地址转换设备(Network Address Translation, NAT)连接上网的,那么这些用户所产生的流量从外部看来,都是来自相同的 源IP地址;因此无法简单地通过判断流量的源IP地址区分正常流量和不正常的流量 ’另 一方面,分布式的服务拒绝攻击从源IP的角度看来,更接近于正常用户产生的流量,因而 目前只能通过行为分析等方法进行处理,复杂度高,准确度差而对于域名劫持,除了由管理 员人工介入的加强监管等措施,缺乏有效的防范技术。而且这些人工干预往往都是事后的, 一般是接到大量用户投诉服务不可用时才发现并开始处理,而那时严重危害已经发生,损 失已经造成并且不断增加,而恢复和补救也要花费更大的代价。从历史数据中可以看到,近年来,针对DNS的攻击有不断增长的趋势,现有技术缺 乏有效的DNS系统安全手段。

发明内容
为此,本发明设计了一种提高域名系统安全和性能的方法和系统,即一种域名系 统,其特征在于包括 具有对外呈现一个DNS的IP地址;负载均衡器,用于将来自Internet的DNS解析请求分发到各个节点上,由各个节 点分担整体的流量,由于DNS的每次解析都是“请求/响应”的方式,充分利用各次域名解 析之间的不相关性,使得负载均衡器可以达到网络线速的性能进行处理;一组成员构成的对等工作组,该工作组包括成员节点1,节点2,……,节点K,在组 内主要进行通信协调者选举和更新DNS记录、一致性仲裁;其中,通信协调者通过组内成员按照选举产生,选举满足以下要求经过一次选 举,作为通信协调者的节点一定会发生改变,具有不重复性;每一次选举结果是无规律的, 具有不可预测性;每个成员在组内收到来自其他成员发来DNS记录,该成员将其与自身所掌握的记 录进行比较,如果发现差异,则启动针对该记录差异的一致性仲裁过程,向其他成员发送仲 裁命令和触发仲裁的相关记录,仲裁过程可以采取“投票”的方式,即各个成员根据各自的 比较结果表达意见,根据不同的系统策略或配置,采用“少数服从多数”或“一票否决”或“必 须管理员介入”方式对于差异形成一致意见。以及,一种提高DNS服务器安全和性能的方法,该方法包括如下步骤设置对外具有呈现一个DNS的IP地址的域名系统,该系统包括负载均衡器和一 组成员构成的对等工作组,该工作组包括成员节点1,节点2,……,节点K,各节点之间均可 互相通信,每个节点均与负载均衡器双向通信;通过Internet接收的DNS解析请求,经过负载均衡器分发到各个节点上,由各个 节点分担整体的流量,由于DNS的每次解析都是“请求/响应”的方式,充分利用各次域名 解析之间的不相关性,使得负载均衡器可以达到网络线速的性能进行处理;由各个成员节点构成的对等工作组在组内主要通过进行通信协调者选举和更新 DNS记录以及一致性仲裁处理,来进行域名的解析或告警;其中,通信协调者通过组内成员按照选举产生,选举满足以下要求经过一次选 举,作为通信协调者的节点一定会发生改变,具有不重复性;每一次选举结果是无规律的,具有不可预测性;每个成员在组内收到来自其他成员发来DNS记录,该成员将其与自身所掌握的记 录进行比较,如果发现差异,则启动针对该记录差异的一致性仲裁过程,向其他成员发送仲 裁命令和触发仲裁的相关记录,仲裁过程可以采取“投票”的方式,即各个成员根据各自的 比较结果表达意见,根据不同的系统策略或配置,采用“少数服从多数”或“一票否决”或“必 须管理员介入”方式对于差异形成一致意见。


下面结合附图和具体实施方式
对本发明作进一步详细说明。图1系统架构;图2通信协调者选举流程;图3DNS记录更新流程;图4成员发送校验命令的流程;图5 —致性仲裁流程。
具体实施例方式本发明的方法和系统旨在提高DNS系统的安全性和性能,从而可以有效对抗域名 劫持和DDoS攻击。如错误!未找到引用源。的系统的架构图所示。本发明的DNS系统包 括负载均衡器(Load Balancer)和一组成员构成的对等工作组(节点1,节点2,……,节 点K)。整个系统对外呈现一个DNS的IP地址,也就是说,用户象往常一样,通过一个DNS 的IP地址访问本系统,用户侧的软件不需要进行任何修改。负载均衡器的作用是将来自Internet的DNS解析请求分发到各个节点上,由各个 节点分担整体的流量。由于DNS的每次解析都是“请求/响应”(Request/Response)的方 式,本发明充分利用各次域名解析之间的不相关性,使得负载均衡器以非常简单、高效的方 式实现,达到很高的吞吐率,比如达到网络的线速,如果负载均衡器和Internet之间的网 络带宽为lGpbs,则负载均衡器也能达到该速率,而不会成为系统性能的瓶颈。本发明的DNS系统的重点在于,各个节点作为成员,这些成员以对等的方式构成 一个工作组,并在组内进行以下主要的流程和处理。1、选举通信协调者和更新DNS记录在整个组中,每一时刻只有一个通信协调者(Communication Coordinator)。通信 协调者功能是负责与DNS体系中的其他DNS服务器节点通信,比如与上一级权威DNS服务 器(authoritative name server)通信,获得DNS记录的更新。这样无论组内有多少个成 员,都只有一个节点与其他DNS服务器通信,从而避免给其他DNS服务器造成负担。当工作组的规模很大,比如成员达到几十个、上百个的时侯,组内可以有多个通信 协调者,但其数目仍然远远小于成员的个数,目的仍然是为了降低与其他DNS节点通信的 开销以及通过动态特性提高系统的安全性。在以下的论述中,仍以一个通信协调者为例阐 述本发明的工作原理,同时,所描述的方法和流程也可以扩展到系统中有多个通信协调者 的场景,以支持更大规模的应用。
通信协调者从其他DNS (通常是上一级DNS服务器)获得了 DNS记录更新之后,通 过“更新命令”,使其他成员节点进行相应的DNS的记录更新,从而使组内达成一致。通信协调者通过组内成员按照选举产生,选举满足以下要求 经过一次选举,作为通信协调者的节点一定会发生改变(具有不重复性); 每一次选举结果是无规律的(具有不可预测性)。选举发生的平均频率作为可以调整的参数,根据系统安全性和性能等要求设定, 在错误!未找到引用源。中,描述了选举通信协调者的示意性流程。在中,描述了 DNS记录更新的示意性流程。(3a)为通信协调者在DNS记录更新时的示意性流程,也就是说,由通信协调者去 获得需要更新的DNS记录;(3b)是非通信协调者在DNS记录更新时的示意性流程。2、一致性仲裁每个成员在组内,发送“校验”命令,并向其他成员发送自己所存储的DNS记录。从 系统性能优化的角度,成员可以选择发送自己存储的全部记录或者部分记录;“部分记录” 可以是最近频繁使用的记录,或者“重要”的记录(比如银行、电子商务平台、政府等的域名 以及电子邮件服务器)的记录;这些变化也包含在本发明之中。错误!未找到引用源。给 出了发送校验命令的示意性流程。收到来自其他成员发来DNS记录,该成员将其与自身所掌握的记录进行比较,如 果发现差异,则启动针对该记录差异的一致性仲裁过程,向其他成员发送仲裁命令和触发 仲裁的相关记录。仲裁过程可以采取“投票”的方式,即各个成员根据各自的比较结果表达意见。根 据不同的系统策略或配置,可以采用“少数服从多数”,“一票否决”,“必须管理员介入”等方 式对于差异形成一致意见。以“少数服从多数”为例,记录的信息按照多数成员的意见进行统一。比如,5个成 员中如果有3个成员认为相应的记录不应当改变,则全部成员将相应记录统一设为原有的 信息(3个成员所掌握的记录)。在错误!未找到引用源。中,描述了一致性仲裁的示意性 流程。每次发生仲裁过程时,成员均进行必要的日志(Log)处理;频繁发生仲裁时(比如 在一定时间内产生的一致性仲裁次数超过阈值),则向管理员报警,要求管理员尽早介入, 防范可能的问题。错误!未找到引用源。中给出了对于仲裁发生频率进行监控和处理的示 意性流程。3、部署方式本方法及系统支持灵活的部署方式,以保护DNS运营者已有的投资以及满足进行 平滑升级等方面的需求,这里给出两种部署的方式。方式1 扩展模式在扩展模式中,本系统部署在原有DNS服务器和用户之间;对于原有DNS服务器而 言,本系统相当于它的用户,从原有DNS服务器获得相应的记录,在组内进行更新和同步, 且对原DNS服务器产生的工作负载非常低;在这种模式下,本系统将原有DNS服务器作为上一级的服务器;当有DDoS攻击发生时,会由本系统承担,使得DDoS攻击不会牵涉到原有 DNS服务器。对用户而言,则提供了高性能的和安全可靠的DNS解析服务,用户侧软件不需 进行任何修改。这种部署模式的好处是平滑升级,不需要对原有系统进行修改,有效地保护运营 者的投资。方式2 原生模式在原生模式中,用本系统取代原有的DNS服务器;也可以有条件地将原有DNS服务 器作为一个组成员加入本系统。这种部署模式的好处是可以最大程度的发挥本系统的安全和性能方面的优势和 特点。通过上述具体实施方式
的阐述,可见本方法及系统可以很好地解决DNS系统遭受 分布式拒绝服务攻击或域名劫持的安全问题。取得了以下有益的技术效果由于在系统中采用了独特的仲裁机制,可以大大降低DNS中的记录被非法篡改的 可能性。以5个节点构成的组为例,即使采用“少数服从多数”的方式,攻击者要同时攻陷 3个节点才可能修改DNS中的记录,使得攻击者所面临的难度与强度呈指数级的增加;又加 以优化的日志和报警机制,使得管理员更快注意到系统面临的威胁而及时采取措施,防患 于未然。由于本系统中前端的负责均衡器的机制,使来自外部的连接请求无法停留在一个 节点上,使得需要多步操作才能发起攻击(比如远程连接服务器、制造堆栈溢出等)的成功 率显著降低,从而进一步提高了本系统的安全性。此外,本方法及系统所采用的架构使得系统的容量和性能可以随着节点数的增长 而线性增加,也就是说,两个节点可以实现两倍的处理能力,三个节点可以实现三倍的处理 能力,从而可以处理大流量的DNS解析请求;即使这些请求中包含来自DDoS攻击的部分。 这样,使得发动DDoS的攻击者所需的成本显著提高,难以维持有效的DDos攻击(例如,使 服务器崩溃无法继续提供域名服务)而不得不停止恶意行为。除了这些对于DNS运营者的益处,广大的用户和大量的应用无需修改软件就可使 用本系统提供的DNS服务,对于用户的应用是透明性的;易于部署和推广,也是本系统的重 要优势。
8
权利要求
一种域名系统,其特征在于包括具有对外呈现一个DNS的IP地址;负载均衡器,用于将来自Internet的DNS解析请求分发到各个节点上,由各个节点分担整体的流量,由于DNS的每次解析都是“请求/响应”的方式,充分利用各次域名解析之间的不相关性,使得负载均衡器可以达到网络线速的性能进行处理;一组成员构成的对等工作组,该工作组包括成员节点1,节点2,……,节点K,在组内主要进行通信协调者选举和更新DNS记录、一致性仲裁;其中,通信协调者通过组内成员按照选举产生,选举满足以下要求经过一次选举,作为通信协调者的节点一定会发生改变,具有不重复性;每一次选举结果是无规律的,具有不可预测性;每个成员在组内收到来自其他成员发来DNS记录,该成员将其与自身所掌握的记录进行比较,如果发现差异,则启动针对该记录差异的一致性仲裁过程,向其他成员发送仲裁命令和触发仲裁的相关记录,仲裁过程可以采取“投票”的方式,即各个成员根据各自的比较结果表达意见,根据不同的系统策略或配置,采用“少数服从多数”或“一票否决”或“必须管理员介入”方式对于差异形成一致意见。
2.如权利要求1所述的系统,其特征在于每个成员在组内,发送“校验”命令,并向其他成员发送自己所存储的全部记录或者部分DNS记录。
3.如权利要求2所述的系统,其特征在于通信协调者从其他DNS服务器获得DNS记录更新之后,通过“更新命令”,使其他成员节点进行相应的DNS的记录更新,从而使组内达 成一致。
4.如权利要求1-3之一所述的系统,其特征在于该系统采用扩展模式或原生模式进行DNS服务器的部署。
5.一种提高DNS服务器安全和性能的方法,该方法包括如下步骤设置对外具有呈现一个DNS的IP地址的域名系统,该系统包括负载均衡器和一组成员构成的对等工作组,该工作组包括成员节点1,节点2,……,节点K,各节点之间均可互相 通信,每个节点均与负载均衡器双向通信;通过Internet接收的DNS解析请求,经过负载均衡器分发到各个节点上,由各个节点分担整体的流量,由于DNS的每次解析都是“请求/响应”的方式,充分利用各次域名解析 之间的不相关性,使得负载均衡器可以达到网络线速的性能进行处理;由各个成员节点构成的对等工作组在组内主要通过进行通信协调者选举和更新DNS 记录以及一致性仲裁处理,来进行域名的解析或告警;其中,通信协调者通过组内成员按照选举产生,选举满足以下要求经过一次选举,作为通信协调者的节点一定会发生改变,具有不重复性;每一次选举结果是无规律的,具有不 可预测性;每个成员在组内收到来自其他成员发来DNS记录,该成员将其与自身所掌握的记录进行比较,如果发现差异,则启动针对该记录差异的一致性仲裁过程,向其他成员发送仲裁命 令和触发仲裁的相关记录,仲裁过程可以采取“投票”的方式,即各个成员根据各自的比较 结果表达意见,根据不同的系统策略或配置,采用“少数服从多数”或“一票否决”或“必须 管理员介入”方式对于差异形成一致意见。
6.如权利要求5所述的方法,其特征在于每个成员在组内,发送“校验”命令,并向其 他成员发送自己所存储的全部记录或者部分DNS记录。
7.如权利要求6所述的方法,其特征在于通信协调者从其他DNS服务器获得DNS记 录更新之后,通过“更新命令”,使其他成员节点进行相应的DNS的记录更新,从而使组内达成一致。
8.如权利要求7所述的方法,其特征在于选举发生的平均频率作为可以调整的参数, 根据系统安全性和性能等要求设定.
9.如权利要求5-8之一所述的方法,其特征在于该域名系统采用扩展模式或原生模 式进行DNS服务器的部署。
全文摘要
一种提高域名系统安全和性能的方法和系统,其系统特征在于包括具有对外呈现一个DNS的IP地址;负载均衡器,用于将来自Internet的DNS解析请求分发到各个节点上,由各个节点分担整体的流量;一组成员构成的对等工作组,该工作组包括成员节点1,节点2,……,节点K,在组内主要进行通信协调者选举和更新DNS记录、一致性仲裁。
文档编号H04L29/12GK101800752SQ20101012194
公开日2010年8月11日 申请日期2010年3月11日 优先权日2010年3月11日
发明者赵家祥 申请人:赵家祥
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1