一种DNS防攻击方法、设备和系统与流程

文档序号:11206367阅读:355来源:国知局
一种DNS防攻击方法、设备和系统与流程

本发明实施例涉及网络安全技术领域,尤其涉及一种dns防攻击方法、设备和系统。



背景技术:

当前互联网上的网络攻击日益频繁,攻击形式也日益多样,其中针对dns(domainnamesystem,域名系统)服务器的大规模ddos(distributeddenialofservice,分布式拒绝服务)攻击影响尤为严重。

当客户端访问一个域名时,例如访问aaa.com,会向递归服务器询问aaa.com的a(address)记录,若递归服务器也没有缓存aaa.com的a记录,递归服务器会向根域名服务器(.)、顶级域名服务器(.com)、权威域名服务器(aaa.com)递归查询aaa.com对应的a记录,顶级域名服务器(.com)不会直接告诉递归服务器aaa.com所对应的a记录,而是将对应的权威域名服务器(aaa.com)的ns(nameserver)记录发送给递归服务器,ns记录中记载了可用于解析aaa.com的所有权威域名服务器的ns记录,例如:

aaa.com.172800innsns1.aaadns.com.

aaa.com.172800innsns2.aaadns.com.

aaa.com.172800innsns3.aaadns.com.

aaa.com.172800innsns4.aaadns.com.

权威域名服务器的ns记录的a记录,例如:

ns1.aaadns.com.172800ina1.1.1.1

ns2.aaadns.com.172800ina2.2.2.2

ns3.aaadns.com.172800ina3.3.3.3

ns4.aaadns.com.172800ina4.4.4.4

然后,递归服务器选择其中一个权威域名服务器进行访问,如:

aaa.com.172800innsns1.aaadns.com.

ns1.aaadns.com.172800ina1.1.1.1

递归服务器向权威域名服务器1.1.1.1发起域名访问请求以获取aaa.com对应的a记录,权威域名服务器1.1.1.1向递归服务器返回aaa.com对应的a记录,以完成一个域名的完整解析。例如:aaa.com.600ina106.11.61.44

最后客户端根据该域名aaa.com对应的ip地址106.11.61.44进行访问。

由于递归服务器后续会将权威域名服务器1.1.1.1作为aaa.com同类域名解析的首选服务器。若权威域名服务器1.1.1.1被攻击,由于ns的过期时间(ttl)一般被顶级域管理机构强制定为48小时(ns1.aaadns.com.172800ina1.1.1.1),将导致大量域名长时间无法被解析,降低了域名解析的效率。



技术实现要素:

本发明实施例提供一种dns防攻击方法、设备和系统,用以解决在权威域名服务器被攻击时如何提升域名解析的效率。

本发明实施例提供了一种dns防攻击方法,包括:

递归服务器接收域名查询请求报文,所述域名查询请求报文中携带有所述递归服务器中未缓存的域名;

所述递归服务器根据所述域名对应的第一ns记录及第一ns的a记录确定第一权威域名服务器,并向所述第一权威域名服务器发送所述域名查询请求报文;

所述递归服务器接收所述第一权威域名服务器返回的所述域名的a记录、第二ns记录及第二ns的a记录,所述第二ns记录中记载着用于解析所述域名且处于正常工作状态的权威域名服务器;

所述递归服务器将所述第二ns记录替换所述第一ns记录,并缓存所述第二ns的a记录。

可选地,所述递归服务器根据所述域名对应的第一ns记录及第一ns的a记录确定第一权威域名服务器之前,还包括:

所述递归服务器根据所述域名对应的第一ns记录及第一ns的a记录确定第二权威域名服务器,所述第二权威域名服务器是所述递归服务器中记录的已成功解析所述域名的同类域名的权威域名服务器;

所述递归服务器在未接收到所述第二权威域名服务器返回的消息时,根据所述域名对应的第一ns记录及第一ns的a记录确定所述第一权威域名服务器;所述第二ns记录中不包括所述第二权威域名服务器。

可选地,所述递归服务器将所述第二ns记录替换所述第一ns记录,并缓存所述第二ns的a记录,包括:

所述递归服务器在确定所述第二ns记录与所述第一ns记录不同时,将所述第二ns记录替换所述第一ns记录,并缓存所述第二ns的a记录。

可选地,所述第一ns的a记录和所述第二ns的a记录均采用泛域名指向ip地址的形式;

针对所述第一ns的a记录和所述第二ns的a记录中的每个a信息,在ns记录中与所述a信息对应的权威域名服务器落入所述a信息的匹配范围内。

可选地,第一权威域名服务器接收递归服务器发送的域名查询请求报文,所述域名查询请求报文中携带有所述递归服务器中未缓存的域名;所述第一权威域名服务器是所述递归服务器根据第一ns记录及第一ns的a记录确定的;

所述第一权威域名服务器向所述递归服务器发送所述域名的a记录、第二ns记录及第二ns的a记录,所述第二ns记录中记载着用于解析所述域名且处于正常工作状态的权威域名服务器。

可选地,所述第二ns记录及第二ns的a记录通过以下方式得到:

所述第一权威域名服务器删除所述第一ns记录及第一ns的a记录中处于非正常工作状态的域名服务器的信息;或

所述第一权威域名服务器将新增的解析所述域名的域名服务器的信息替换所述第一ns记录及第一ns的a记录中处于非正常工作状态的域名服务器的信息。

可选地,所述第一权威域名服务器的上层域名服务器配置有所述第二ns记录及所述第二ns的a记录。

相应地,本发明实施例提供了一种递归服务器,包括:

存储器,用于存储程序指令;

处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行:递归服务器接收域名查询请求报文,所述域名查询请求报文中携带有所述递归服务器中未缓存的域名;所述递归服务器根据所述域名对应的第一ns记录及第一ns的a记录确定第一权威域名服务器,并向所述第一权威域名服务器发送所述域名查询请求报文;所述递归服务器接收所述第一权威域名服务器返回的所述域名的a记录、第二ns记录及第二ns的a记录,所述第二ns记录中记载着用于解析所述域名且处于正常工作状态的权威域名服务器;所述递归服务器将所述第二ns记录替换所述第一ns记录,并缓存所述第二ns的a记录。

本发明实施例提供了一种权威域名服务器,包括:

存储器,用于存储程序指令;

处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行:第一权威域名服务器接收递归服务器发送的域名查询请求报文,所述域名查询请求报文中携带有所述递归服务器中未缓存的域名;所述第一权威域名服务器是所述递归服务器根据第一ns记录及第一ns的a记录确定的;所述第一权威域名服务器向所述递归服务器发送所述域名的a记录、第二ns记录及第二ns的a记录,所述第二ns记录中记载着用于解析所述域名且处于正常工作状态的权威域名服务器。

本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述任一种方法。

本发明实施例提供了一种dns防攻击系统,包括上述递归服务器及上述权威域名服务器。

上述实施例提供一种dns防攻击方法、设备和系统,递归服务器查询未解析过的域名对应的第一ns记录及第一ns的a记录,第一ns记录中记载着解析该域名的权威域名服务器;递归服务器从中确定第一权威域名服务器;第一权威域名服务器除了返回该域名的a记录,还会返回第一权威域名服务器中存储的第二ns记录及第二ns的a记录,该第二ns记录中记载着用于解析该域名且处于正常工作状态的权威域名服务器;递归服务器将所述第二ns记录替换所述第一ns记录,并缓存所述第二ns的a记录。可以看出,递归服务器利用自身存储的第一ns记录来确定解析该域名的第一权威域名服务器,然后通过正常工作的第一权威域名服务器返回的第二ns记录刷新第一ns记录,从而将受攻击或不能正常工作的权威域名服务器的信息从ns记录中删除掉,使得被顶级域管理机构强制设置的ttl值不会对dns解析造成长时间的影响,因此,能够提升域名解析的效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍。

图1为本发明实施例提供的一种dns防攻击方法的流程示意图;

图2为本发明二实施例提供的一种dns防攻击方法的流程示意图;

图3为本发明三实施例提供的一种dns防攻击方法的流程示意图;

图4为本发明实施例提供的一种递归服务器的结构示意图;

图5为本发明实施例提供的一种权威域名服务器的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例一

图1示例性示出了本发明实施例提供的一种dns防攻击方法的流程示意图,如图1所示,该方法可包括:

s101、递归服务器接收域名查询请求报文,所述域名查询请求报文中携带有所述递归服务器中未缓存的域名;

递归服务器在接收到域名查询请求报文之后,确定是否未缓存该域名查询请求报文对应的域名的ip地址信息,若缓存有该域名的ip地址信息,则直接向客户端反馈该域名对应的ip地址信息;若没有缓存该域名的ip地址信息则需要根据该域名对应的ns记录来确定解析该域名的权威域名服务器。

例如,若客户端想要访问www.ddd.com,而客户端所配置的递归服务器中缓存了www.ddd.com所对应的ip地址,则递归服务器可将www.ddd.com所对应的ip地址发送给客户端;另一种情况是在客户端所配置的递归服务器中未缓存www.ddd.com所对应的ip地址时,则通过递归查询或者递归服务器中已经缓存的ddd.com的ns记录及该ns的a记录获得域名查询请求报文www.ddd.com所对应的第一ns记录及第一ns的a记录,也即得到负责解析域名www.ddd.com的权威域名服务器的ns记录及该ns的a记录。

s102、所述递归服务器根据所述域名对应的第一ns记录及第一ns的a记录确定第一权威域名服务器,并向所述第一权威域名服务器发送所述域名查询请求报文;

第一ns记录中通常记载着多个解析该域名的权威域名服务器,递归服务器可随机的从中选择一个权威域名服务器;通常,若递归服务器之前通过某一个权威域名服务器(如第二权威域名服务器)解析过该域名同类的域名,则递归服务器会将第二权威域名服务器作为首选服务器,例如此次解析的域名为example.aaa.com,而第二权威域名服务器之前解析过xxx.aaa.com,则此次解析example.aaa.com时递归服务器会将域名查询请求报文发送给第二权威域名服务器。如果递归服务器未接收到第二权威域名服务器返回的消息时,则递归服务器根据第一ns记录及第一ns的a记录确定另一个权威域名服务器(如第一权威域名服务器)来进行域名解析。以example.aaa.com、xxx.aaa.com为例,两者均是aaa.com的二级域名,通常将上下级域名及同级域名归为同类域名,同类域名通常对应同一组权威域名服务器。

s103、第一权威域名服务器向所述递归服务器返回的所述域名的a记录、第二ns记录及第二ns的a记录,所述第二ns记录中记载着用于解析所述域名且处于正常工作状态的权威域名服务器。

在第一权威域名服务器正常工作时,第一权威域名服务器会返回解析的域名的的a记录;除此之外,第一权威域名服务器还会返回第二ns记录及第二ns的a记录;第二ns记录中记载着正常工作的权威域名服务器,第二ns记录中的内容可以是各权威域名服务器通过心跳报文等机制互相检测得到的,也可以是根据报警信息更新ns记录得到的,也可以是人为设置的等等。以example.aaa.com为例,各权威域名服务器中初始存储的是aaa.com在注册时填写的ns信息,随着aaa.com对应的各权威域名服务器的状态变化,各权威域名服务器会更新自身存储的aaa.com对应的ns记录及ns的a记录。以第二权威域名服务器遭受ddos攻击为例,此时各其它正常工作的权威域名服务器会将第二权威域名服务器的信息从自身存储的ns记录中删除,而不是仅修改第二权威域名服务器的a记录,从而实现刷新ns记录得到第二ns记录。第二ns记录可以是第一ns记录中记载的处于正常工作状态的权威域名服务器的信息、或还包括新增的第三权威域名服务器。可选的本发明实施例还提供了一种获取第二ns记录及第二ns的a记录的方式:

所述第一权威域名服务器删除所述第一ns记录中处于非正常工作状态的域名服务器的信息;或

所述第一权威域名服务器将新增的解析所述域名的域名服务器的信息替换所述第一ns记录及第一ns的a记录中处于非正常工作状态的域名服务器的信息。

s104、所述递归服务器将所述第二ns记录替换所述第一ns记录,并缓存所述第二ns的a记录。

由于第二ns记录中删除了非正常工作的权威域名服务器的信息,递归服务器通过第二ns记录就可以刷新第一ns记录,从而将受攻击或不能正常工作的权威域名服务器的信息从ns记录中删除掉,避免了现有技术中由于顶级域管理机构强制设置的ttl值而造成对dns解析的长时间影响,也避免了仅修改非正常工作的权威域名服务器的a记录而导致的递归服务器无法刷新ns记录的问题。

在步骤104中,递归服务器接收的第二ns记录与第一ns记录有可能相同,一种实现方式是递归服务器直接根据第二ns记录进行更新;另一种实现方式为所述递归服务器在确定所述第二ns记录与所述第一ns记录不同时,将所述第二ns记录替换所述第一ns记录,并缓存所述第二ns的a记录。

可选的,第一ns记录中的ttl(timetolive,过期时间)被顶级域管理机构强制定为172800秒,即48小时,且无法更改。本发明实施例由于是在权威域名服务器中得到的第二ns记录,因此第二ns记录中的生存时间ttl值是可以设置的,具体实践中可根据需要设置各权威域名服务器的生存时间ttl值,其中,所述ttl<172800秒。本发明实施例采用权威域名服务器自身设定的ns记录,而非采用注册时在顶级域名填写的ns记录,可以更准确的为客户端提供域名解析服务。

实施例二

下面通过一个具体的例子,对第一ns记录中的各权威域名服务器未遭受到攻击时的访问流程进行详细的解释说明。

参见图2,假设客户端想要访问自己并未缓存的example.aaa.com站点,并假设此客户端配置的递归服务器的ip地址为10.10.10.10,递归服务器上配置的根域名服务器的ip地址为20.20.20.20。整个递归名称解析过程如图2所示(其中的q1~q5表示发送dns查询请求,a1~a5是dns查询应答),具体流程如下:

(1)dns客户端向所配置的递归服务器(ip地址10.10.10.10)发出解析example.aaa.com域名的dns请求报文(图中的q1)。相当于对递归服务器说“请给我example.aaa.com所对应的ip地址”。

(2)递归服务器收到请求后,先查询本地缓存。假设没有查到该域名对应记录,则递归服务器向所配置的根域名服务器(ip地址20.20.20.20)发出解析请求解析example.aaa.com域名的dns请求报文(图中的q2)。

(3)根域名服务器收到查询请求后,通过查询得到.com顶级域名所对应的顶级域名服务器的ip地址为30.30.30.30,然后向递归服务器返回一条应答报文(图中的a1)。相当说“我不知道example.aaa.com域名所对应的ip地址,但我现在告诉你.com域名所对应的顶级域名服务器的ip地址为30.30.30.30”。

在实际应用中,根域名服务器除了可查询得到.com所对应的顶级域名服务器的ip,还可查询得到.uk所对应的顶级域名服务器的ip、.cn所对应的顶级域名服务器的ip、.org所对应的顶级域名服务器的ip等。

(4)递归服务器在收到根域名服务器的dns应答报文,得到.com所对应的顶级域名服务器的ip地址30.30.30.30后,再次向对应的顶级域名服务器发送一条请求解析example.aaa.com域名的dns请求报文(图中的q3)。

(5).com顶级域名服务器在收到dns请求报文后,先查询自己的缓存,假设也没有该域名的记录,则查询aaa.com所对应的二级域名服务器,然后也向递归服务器返回一条dns应答报文(图中的a3)。相当于说“我不知道example.aaa.com域名所对应的ip地址,但我现在告诉你aaa.com域名所对应的权威域名服务器地址为40.40.40.40”。

(6)递归服务器在收到.com顶级域名服务器的dns应答报文,得到aaa.com所对应的权威域名服务器的ip地址40.40.40.40后,再次向对应的权威域名服务器发送一条请求解析example.aaa.com域名的dns请求报文(图中的q4)。

(7)aaa.com权威域名服务器在收到dns请求报文后,也先查自己的缓存,假设也没有该域名的记录,则将example.aaa.com在顶级域注册时所填写的第一ns记录发送给递归服务器,进一步假设example.aaa.com在顶级域注册时所填写的第一ns记录,如下:

第一ns的a记录,如下:

所述第一ns记录也预先存储在各权威域名服务器中,即在ip地址为1.1.1.1的权威域名服务器中存储有上述第一ns记录;ip地址为2.2.2.2的权威域名服务器中也存储有上述第一ns记录;ip地址为3.3.3.3的权威域名服务器中也存储有上述第一ns记录;ip地址为4.4.4.4的权威域名服务器中也存储有上述第一ns记录;ip地址为5.5.5.5的权威域名服务器中也存储有上述第一ns记录。

(8)递归服务器在收到aaa.com权威域名服务器所返回的第一ns记录后,可根据第一ns记录,访问第一ns记录中任意一个权威域名服务器。例如,访问ip地址为1.1.1.1的权威域名服务器ns1。

(9)递归服务器通过ip地址为1.1.1.1的权威域名服务器ns1可获取到example.aaa.com对应的ip地址,假设在权威域名服务器ns1中example.aaa.com所对应的ip地址为8.8.8.8,则权威域名服务器ns1将自己本身预先存储的上述第二ns记录及第二ns的a记录(由于未检测到受攻击或非正常工作状态的权威域名服务器,故依然是第一ns记录)以及example.aaa.com所对应的ip地址为8.8.8.8一起发送给递归服务器。

(10)递归服务器在接收到权威域名服务器ns1返回的example.aaa.com所对应的ip地址为8.8.8.8后,将example.aaa.com所对应的ip地址为8.8.8.8返回给客户端(图中的a5)。

实施例三

在权威域名服务器遭受到攻击的情况下,可通过删除受到攻击的权威域名服务器的方式以尽快恢复正常的解析。

基于上述实施例二的基础上,下面通过一个具体的例子,对第一ns记录中各权威域名服务器遭受到攻击时的访问流程进行详细的解释说明。

假设检测到第一ns记录中的ip地址为1.1.1.1的权威域名服务器ns1遭受到攻击,因此,其它正常服务的权威域名服务器(ns2、ns3、ns4、ns5)修改自身存储的ns记录中,将ip地址为1.1.1.1的权威域名服务器ns1进行删除,得到第二ns记录,如下:

可选的,权威域名服务器(ns1、ns2、ns3、ns4、ns5)的上层域名服务器也对自身存储的ns记录进行更新,从而确保通过上层域名服务器来获取ns记录和对应的a记录的准确性。如客户端1通过递归服务器1进行example.aaa.com域名解析,在针对aaa.com.的权威域名服务器的ns记录(由ns1、ns2、ns3、ns4、ns5变更为ns2、ns3、ns4、ns5)发生变化时,ns2、ns3、ns4、ns5对应的权威域名服务器和递归服务器1上对应的ns记录已更新,即目前正常工作的权威域名服务器为ns2、ns3、ns4、ns5。此时,客户端2通过递归服务器2进行example.aaa.com域名解析,如果上层域名服务器的ns记录没有更新,则递归服务器2得到的ns记录中依然会包括处于非正常工作状态的ns1。故本发明实施例也提供了一种更新上层域名服务器的方式,从而确保递归服务器获得有效的ns记录。

对于ns记录对应的a记录,可以进行修改,即删除ns1的a信息,也可以不做修改。在不删除时,由于ns记录中已没有ns1,故a记录中即便有ns1的a信息也没有影响,在生命周期到达时会自动清除。可选的,第二ns记录对应的a记录为:

如图3所示:

(1)假设dns客户端第一次访问example1.aaa.com站点,dns客户端向所配置的递归服务器(ip地址10.10.10.10)发出解析example1.aaa.com域名查询请求报文(图中的q1)。相当于对递归服务器说“请给我example1.aaa.com所对应的ip地址”。

(2)递归服务器收到请求后,先查询本地缓存。由于递归服务器之前为客户端返回过example.aaa.com的域名解析结果,故递归服务器会根据缓存中的第一ns记录确定此次解析的权威域名服务器;其中,上一次域名解析是ns1权威域名服务器完成的,所以递归服务器向ip地址为1.1.1.1的ns1权威域名服务器发出解析请求(图中的q2);

(3)ns1权威域名服务器由于受到了攻击,处于非正常工作状态,无法为递归服务器提供服务,递归服务器在等待一段时间后不会收到ns1反馈的解析结果(图中a1)。所以递归服务器会根据第一ns记录重新确定一个权威域名服务器,若再次选择的权威域名服务器依然处于非正常工作状态,则递归服务器会再次选取,直至选取到可提供解析服务的权威域名服务器;

(4)假设递归服务器选取了ns2,则向ip地址为2.2.2.2的ns2发送域名查询请求消息(图中的q3);

(5)ns2处于正常工作状态,对域名查询请求消息中的example1.aaa.com进行域名解析,得到对应的ip地址,假设example1.aaa.com所对应的ip地址为9.9.9.9,则ns2将example1.aaa.com所对应的ip地址为9.9.9.9发送给递归服务器并将自己本身存储的上述第二ns记录以及第二ns记录对应的a记录发送给递归服务器(图中的a2)。

(6)递归服务器在接收到权威域名服务器ns2返回的第二ns记录后,判断第二ns记录是否与第一ns记录相同,若发现第二ns记录与第一ns记录不相同,则用第二ns记录替换第一ns记录。

此时,第一ns记录,如下:

而第二ns记录如下:

可以看出,第二ns记录与第一ns记录不相同,因此,用第二ns记录替换第一ns记录。当其它同类域名如xxx.aaa.com再次向递归服务器请求解析时,由于递归服务器、权威服务器及权威服务器的上层域名服务器中缓存的被攻击的ns1的ns记录已经被删除,故xxx.aaa.com不会被引导到被攻击的ns1上,而是由第二ns记录中能够正常服务的ns2、ns3、ns4、ns5负责解析,及时消除了被攻击的ns1对域名解析的影响。

(7)递归服务器将接收到ns2返回的example1.aaa.com所对应的ip地址9.9.9.9返回给所述dns客户端(如图中的a4)。

实施例四

在权威域名服务器遭受到攻击的情况下,为了保证业务不受影响,还可通过增加权威域名服务器替换掉被攻击的权威域名服务器的方式预防攻击。

基于上述实施例三的基础上,假设检测到第一ns记录中的ip地址为1.1.1.1的权威域名服务器ns1遭受到攻击,因此,将各权威域名服务器中的第一ns记录中ip地址为1.1.1.1的权威域名服务器ns1进行删除,同时为了保证业务的正常开展,在域名解析系统中新增一台权威域名服务器ns6,因而各权威域名服务器及权威域名服务器的上层域名服务器需要更新自身存储的ns记录,即将第一ns记录中删除ns1的信息并增加ns6的信息。

具体的,可通过写入如下代码实现增加ip地址为6.6.6.6的权威域名服务器ns6。

在权威域名服务器删除ns1增加ns6之后,各正常工作的权威域名服务器现在存储的ns记录为第二ns记录,如下:

第二ns记录对应的a记录为:

可以看出在第二ns记录中新增的ns6的信息由于不是顶级域名服务器配置的,故其生命周期可以自设定,从而进一步使得递归服务器中的ns记录的更新期更灵活,也缩短了其更新时长。

同样的,当其它同类域名如xxx.aaa.com再次向递归服务器请求解析时,由于递归服务器、权威服务器及权威服务器的上层域名服务器(例如顶级域名服务器)中缓存的被攻击的ns1的ns记录已经能正常服务的ns6替换,故xxx.aaa.com不会被引导到被攻击的ns1上,而是由第二ns记录中能够正常服务的ns2、ns3、ns4、ns5、n6负责解析,及时消除了被攻击的ns1对域名解析的影响。

实施例五

基于上述各个实施例,若存在新增的权威域名服务器替换非正常工作的权威域名服务器时,对ns记录的更新会涉及两次对权威域名服务器名称的更改,如将第一ns记录中非正常工作状态的ns1的信息替换为ns6,需要将第一ns中的ns1的两条记录中ns1(见如下示例中括号内为更改后的)更改为ns6:

为了减少修改量及配置量,可选的,ns的a记录采用泛域名指向ip地址的形式,因为泛域名的匹配范围比较大,以*.ns1.aaa.com为例,1.ns1.aaa.com、2.ns1.aaa.com、3.ns1.aaa.com等等都落入*.ns1.aaa.com的匹配范围内。故针对a记录中的每个a信息,只要确保在ns记录中与所述a信息对应的权威域名服务器落入所述a信息的匹配范围内,则在进行修改时,可以对a记录中的权威域名服务器不进行修改。在新增第三权威域名服务器替换第二权威域名服务器时,在ns记录中将第二权威域名服务器修改为第三权威域名服务器,在对应的ns的a记录中将泛域名对应的ip地址修改为第三权威域名服务器的ip地址。

下面通过一个具体的例子,对利用泛域名能够减少修改量及配置量进行详细的解释说明。

例如,在顶级域名服务器注册的第一ns记录,如下:

第一ns的a记录,如下:

而在权威域名服务器上配置的第一ns记录,如下:

第一ns的a记录:

在权威域名服务器ns1受到攻击的情况下,需要新增一个权威域名服务器替换ns1,因此,需要分别修改权威域名服务器及权威域名服务器的上层域名服务器(顶级域名服务器)上配置的第一ns记录,只需要将“1.ns1.aaa.com”修改为“2.ns1.aaa.com”或“3.ns1.aaa.com”或“4.ns1.aaa.com”等,同时,将“*.ns1.aaa.com7200ina1.1.1.1”中的ip地址“1.1.1.1”修改为“6.6.6.6”即可,“2.ns1.aaa.com”、“3.ns1.aaa.com”、“4.ns1.aaa.com”都会落入泛域名*.ns1.aaa.com的解析范围。可以看出,在本发明实施例中,将ns记录中权威域名服务器变为原权威域名服务器的下级域名形式,在a记录中将权威域名服务器变为原权威域名服务器的下级域名的泛域名形式,因此,能够减少修改工作量及域名配置量,从而提升权威域名服务器的工作效率,进而提升域名解析效率。

根据以上内容可以看出,本发明实施例能够利用第一权威域名服务器返回的第二ns记录刷新第一ns记录,其中第二ns记录中记载着能正常服务的权威域名服务器的记录,从而不再暴露受攻击的权威域名服务器,使得域名解析请求均被引导到第二ns记录的能正常服务的权威域名服务器来解析,减少受攻击的域名服务器对域名解析的影响,因此,能够提升域名解析的效率。此外,第二ns记录中的ttl值还能够刷新第一ns记录中的ttl值,从而使得目前顶级域管理机构强制设置的172800的ttl值不对dns解析造成长时间的影响。

基于相同的技术构思,本发明实施例还提供了一种递归服务器,如图4所示,包括:

存储器401,用于存储程序指令;

处理器402,用于调用所述存储器中存储的程序指令,按照获得的程序执行:接收域名查询请求报文,所述域名查询请求报文中携带有所述递归服务器中未缓存的域名;根据所述域名对应的第一ns记录及第一ns的a记录确定第一权威域名服务器,并向所述第一权威域名服务器发送所述域名查询请求报文;接收所述第一权威域名服务器返回的所述域名的a记录、第二ns记录及第二ns的a记录,所述第二ns记录中记载着用于解析所述域名且处于正常工作状态的权威域名服务器;将所述第二ns记录替换所述第一ns记录,并缓存所述第二ns的a记录的方法步骤。

处理器402,还用于按照获得的程序执行:根据所述域名对应的第一ns记录及第一ns的a记录确定第二权威域名服务器,所述第二权威域名服务器是所述递归服务器中记录的已成功解析所述域名的同类域名的权威域名服务器;在未接收到所述第二权威域名服务器返回的消息时,根据所述域名对应的第一ns记录及第一ns的a记录确定所述第一权威域名服务器;所述第二ns记录中不包括所述第二权威域名服务器。

本发明实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行前述方法中递归服务器所实施的步骤。

本发明实施例还提供了一种权威域名服务器,如图5所示,包括:

存储器501,用于存储程序指令;

处理器502,用于调用所述存储器中存储的程序指令,按照获得的程序执行:接收递归服务器发送的域名查询请求报文,所述域名查询请求报文中携带有所述递归服务器中未缓存的域名;所述第一权威域名服务器是所述递归服务器根据第一ns记录及第一ns的a记录确定的;向所述递归服务器发送所述域名的a记录、第二ns记录及第二ns的a记录,所述第二ns记录中记载着用于解析所述域名且处于正常工作状态的权威域名服务器的步骤。

所述处理器502,还用于按照获得的程序执行:删除所述第一ns记录及第一ns的a记录中处于非正常工作状态的域名服务器的信息;或,将新增的解析所述域名的域名服务器的信息替换所述第一ns记录及第一ns的a记录中处于非正常工作状态的域名服务器的信息。

本发明实施例还提供了一种计算机存储介质,计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行前述实施例中的权威域名服务器所执行的方法步骤。

本发明实施例还提供了一种dns防攻击系统,包括如执行前述实施例步骤的递归服务器及执行前述实施例步骤的权威域名服务器。

本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1