防御域名攻击的方法及装置的制造方法

文档序号:10578148阅读:296来源:国知局
防御域名攻击的方法及装置的制造方法
【专利摘要】本申请提供一种防御域名攻击的方法及装置,该方法包括:当接收到DNS客户端发送至源DNS服务器的第一域名解析请求时,确定白名单中是否存在所述第一域名解析请求对应的资源记录;如果白名单中不存在所述第一域名解析请求对应的资源记录,则对所述DNS客户端进行验证;如果所述DNS客户端没有验证通过,则对所述DNS客户端发送的第一域名解析请求进行防御。本申请有效防御了DNS客户端发起的域名攻击,并且避免了正常的域名解析请求因为在DNS缓存的缓存表项中没有存在对应的资源记录而被丢弃,提升了用户的体验。
【专利说明】
防御域名攻击的方法及装置
技术领域
[0001]本申请涉及网络通信技术领域,尤其涉及一种防御域名攻击的方法及装置。
【背景技术】
[0002]目前,域名攻击采用的方法是向被攻击的DNS服务器发送大量域名解析请求,被攻击的DNS服务器在接收到域名解析请求时在本地缓存中查找是否有该域名解析请求对应的资源记录,如果本地缓存中查找是否有该域名解析请求对应的资源记录,可递归向上一层服务器去查找,这种域名攻击可使DNS服务器由于负载过大而瘫痪掉。
[0003]现有技术中,DNS服务器的DNS缓存在本地缓存中没有查找到域名解析请求对应的资源记录时,会直接丢弃该域名解析请求,从而保证不将进行DNS攻击的域名解析请求发送至DNS服务器。现有技术可导致部分正常的域名解析请求因为在DNS缓存的缓存表项中没有存在对应的资源记录而被丢弃,进而导致用户体验很差。

【发明内容】

[0004]本申请提供一种防御域名攻击的方法及装置,以解决现有防御域名攻击的技术方案所导致的上述问题。
[0005]第一方面,提供一种防御域名攻击的方法,应用在防护设备中,包括:
[0006]当接收到DNS客户端发送至源DNS服务器的第一域名解析请求时,确定白名单中是否存在所述第一域名解析请求对应的资源记录;
[0007]如果白名单中不存在所述第一域名解析请求对应的资源记录,则对所述DNS客户端进行验证;
[0008]如果所述DNS客户端没有验证通过,则对所述DNS客户端发送的第一域名解析请求进行防御。
[0009]第二方面,提供一种防御域名攻击的装置,应用在防护设备上,所述装置包括:
[0010]第一确定模块,用于当接收到DNS客户端发送至源DNS服务器的第一域名解析请求时,确定白名单中是否存在所述第一域名解析请求对应的资源记录;
[0011]验证模块,用于如果所述第一确定模块确定所述白名单中不存在所述第一域名解析请求对应的资源记录,则对所述DNS客户端进行验证;
[0012]防御模块,用于如果所述验证模块确定所述DNS客户端没有验证通过,则对所述DNS客户端发送的第一域名解析请求进行防御。
[0013]本申请的防护设备在确定白名单中没有接收到的域名解析请求对应的资源记录时,可对DNS客户端进行验证,如果DNS客户端验证通过,则将域名解析请求发送至源DNS服务器进行解析,而如果DNS客户端没有验证通过,则对DNS客户端发送的域名解析请求进行防御,有效防御了 DNS客户端发起的域名攻击,并且避免了正常的域名解析请求因为在DNS缓存的缓存表项中没有存在对应的资源记录而被丢弃,提升了用户的体验。
【附图说明】
[0014]图1A是本申请一种实施例中防御域名攻击的方法流程图;
[0015]图1B是本申请一种实施例中防御域名攻击的方法的应用场景示意图;
[0016]图2A是本申请一种实施例中对DNS客户端进行验证的方法流程图;
[0017]图2B是本申请一种实施例中对DNS客户端进行验证的验证消息示意图;
[0018]图3是本申请一种实施例中再一防御域名攻击的方法流程图;
[0019]图4是本申请一种实施例中防御域名攻击的装置示意图;
[0020]图5是本申请一种实施例中又一防御域名攻击的装置示意图;
[0021]图6是本申请一种实施例中防御域名攻击的装置所在硬件设备的硬件示意图。
【具体实施方式】
[0022]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0023]在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0024]应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0025]参见图1A,是本申请一种实施例中防御域名攻击的方法流程图,该方法应用于防护设备,例如防护墙设备上或者DNS服务器上,包括以下步骤:
[0026]步骤101,当接收到DNS客户端发送至源DNS服务器的第一域名解析请求时,确定白名单中是否存在第一域名解析请求对应的资源记录。
[0027]在一实施例中,防护设备中设置有一个白名单,用于记录每个域名解析请求对应的资源记录。
[0028]在一实施例中,资源记录可包括该防护设备验证通过的DNS客户端及对应的地址信息(如源IP地址信息),以及DNS客户端请求的域名。
[0029]步骤102,如果白名单中不存在第一域名解析请求对应的资源记录,则对DNS客户端进行验证,如果DNS客户端没有验证通过,则执行步骤103。
[0030]在一实施例中,步骤102的详细描述可参见图2A,这里不再详述。
[0031 ]在一实施例中,如果DNS客户端没有验证通过,则说明DNS客户端不是合法客户端,执行步骤103,如果DNS客户端验证通过,则说明DNS客户端是合法客户端,可向源DNS服务器发送域名解析请求,以对DNS客户端发送的域名解析请求进行域名解析。
[0032]步骤103,对DNS客户端发送的第一域名解析请求进行防御。
[0033]在一实施例中,对DNS客户端发送的第一域名解析请求进行防御可以为直接丢弃DNS客户端发送的第一域名解析请求;在又一实施例中,对DNS客户端发送的第一域名解析请求进行防御可以为向DNS客户端返回一个拒绝解析消息。
[0034]参见图1B,DNS客户端110(其中,DNS客户端可以为普通用户使用的电脑等终端设备)可通过防护设备120向源DNS服务器130发送域名解析请求,防护设备120内可设置一个白名单,白名单用于记录每个域名解析请求对应的资源记录,资源记录可包括该防护设备验证通过的DNS客户端及对应的地址信息(如源IP地址信息),以及DNS客户端请求的域名。防护设备120接收到DNS客户端110发送的域名解析请求后,可查询白名单,确定白名单中是否记录有DNS客户端110的IP地址以及域名解析请求所请求解析的域名,如果白名单中没有对应的资源记录,则防护设备可通过向DNS客户端110发送验证消息来验证DNS客户端110是否合法,验证消息中可携带预设DNS服务器140的标识信息,指示DNS客户端110向预设DNS月艮务器140发送域名解析请求,通过确定DNS客户端110是否向预设DNS服务器140发送域名解析请求可以验证DNS客户端是否为合法客户端,并在确定DNS客户端110不是合法客户端时,对DNS客户端110发送的第一域名解析请求进行防御。
[0035]在一实施例中,对DNS客户端进行验证,可包括:
[0036]向DNS客户端发送验证消息,其中,验证消息中携带有预设DNS服务器的标识信息;
[0037]确定是否接收到DNS客户端发送至预设DNS服务器的第二域名解析请求;
[0038]如果没有接收到DNS客户端发送至预设DNS服务器的第二域名解析请求,则确定DNS客户端没有验证通过;
[0039]如果接收到DNS客户端发送至预设DNS服务器的第二域名解析请求,则确定DNS客户端验证通过。通过生成一个验证消息可以快速验证DNS客户端是否为合法客户端,进而可以实现防护设备将合法客户端发送的域名解析请求转发至源DNS服务器进行解析,对不合法的客户端发送的域名解析请求进行防御,有效防御了针对源DNS服务器的域名攻击。
[0040]在一实施例中,方法还可包括:
[0041 ] 如果DNS客户端验证通过,则将DNS客户端及第一域名解析请求所请求的域名对应的资源记录添加至白名单中。通过将DNS客户端及第一域名解析请求所请求的域名对应的资源记录添加至白名单中,在该资源记录没有老化时,在下次接收到该DNS客户端的请求时,可以不对DNS客户端进行验证,提高了域名解析的效率,优化了用户体验。
[0042]在一实施例中,方法还可包括:
[0043]如果DNS客户端验证通过,则更改第二域名解析请求的目的IP地址为源DNS服务器的目的IP地址,并发送第二域名解析请求至目的IP地址;
[0044]接收源DNS服务器根据第二域名解析请求返回的响应消息;
[0045]更改响应消息中的源IP地址为预设DNS服务器的IP地址;
[0046]将更改源IP地址之后的响应消息转发至DNS客户端。通过将通过验证的DNS客户端的域名解析请求转发至源DNS客户端,可使DNS客户端获得正确的域名解析结果。
[0047]在一实施例中,向DNS客户端发送验证消息,可包括:
[0048]生成验证消息;
[0049]向DNS客户端发送验证消息。
[0050]在一实施例中,生成验证消息,可包括:
[0051 ]根据域名解析请求,生成一个验证消息;
[0052]将验证消息中的递归查询字段的值设置为O;
[0053]在所述验证消息中的权威资源记录中设置所述预设DNS服务器的服务器名称,并且设置所述权威资源记录的类型为NS,设置所述权威资源记录的TTL为O。
[0054]在所述验证消息的额外资源记录中设置所述预设DNS服务器的IP地址,并且设置所述额外资源记录的类型为A,设置所述额外资源记录的TTL为O。通过设置验证消息中的DNS Flags标记中的RA字段的值设置为0,可以指示DNS客户端进行迭代查询;通过将验证消息中的权威资源记录中设置认证的预设DNS服务器的服务器名称可以使得DNS客户端向该预设DNS服务器发送域名解析请求,通过设置权威资源记录的生存时间值设置为0,可以防止DNS客户端后续继续向预设DNS服务器发送域名解析请求;通过在验证消息的额外资源记录(Addit1nal records)中设置上述虚假权威服务器的IP地址,资源记录类型是A,用于让客户端根据上述名称查找到对应的IP地址,也就是认证虚假权威服务器的IP地址,TTL设置为O表示这条记录不做缓存。
[0055]在一实施例中,方法还可包括:
[0056]确定白名单中是否有超过预设老化时间的资源记录;
[0057]如果白名单中有超过预设老化时间的资源记录,则将超过预设老化时间的资源记录从白名单中删除。通过设置预设老化时间,并将超过预设老化时间的资源记录从白名单中删除,可以减轻防护设备的接入负担。
[0058]结合图1A的实施例可知,本申请的防护设备在确定白名单中没有接收到的域名解析请求对应的资源记录时,可对DNS客户端进行验证,如果DNS客户端验证通过,则将域名解析请求发送至源DNS服务器进行解析,而如果DNS客户端没有验证通过,则对DNS客户端发送的域名解析请求进行防御,有效防御了 DNS客户端发起的域名攻击,并且避免了正常的域名解析请求因为在DNS缓存的缓存表项中没有存在对应的资源记录而被丢弃,提升了用户的体验。
[0059]参见图2A,是本申请一种实施例中对DNS客户端进行验证的方法流程图,图2B是本申请一种实施例中对DNS客户端进行验证的验证消息示意图;如图2A所示,对DNS客户端进行验证的方法包括以下步骤:
[0060]步骤201,将DNS客户端及其所请求解析的域名添加至验证检索表。
[0061]在一实施例中,防护设备在发送验证消息之前,可按照DNS客户端的IP地址及所请求的域名添加至验证检索表,以便在发送验证消息之后跟踪验证结果。
[0062]在一实施例中,验证检索表用于记录防护设备所验证的DNS客户端及该DNS客户端请求解析的域名。例如,参见图2B,DNS客户端的源IP地址为10.1.1.1,所请求解析的域名为WWW.abed, com,则在防护设备确定该域名解析请求不在白名单中,需要对DNS客户端进行验证时,可首先在验证检索表中添加一条“源IP地址为10.1.1.1,请求解析的域名为www.abed, com”的检索条目。
[0063]步骤202,向DNS客户端发送验证消息。
[0064]在一实施例中,验证消息中携带有预设DNS服务器的标识信息。
[0065]参见图2B,防护设备可根据域名解析请求生成一个验证消息,由于该验证消息为验证DNS客户端是否是合法客户端的消息,因此消息中没有answer字段。在权威资源记录(Authoritative nameservers)中,设置该预设DNS服务器的服务器名称ns1.abed.com,并且设置资源的类型为NS,用于让DNS客户端去查找预设DNS服务器的服务器,TTL设置为O表示这条记录不做缓存。在额外资源记录中,设置该预设DNS服务器的IP地址为2.2.2.2,设置额外资源记录的类型为A,用于让DNS客户端根据上述服务器名称查找对应的IP地址,也就是预设DNS服务器的IP地址,TTL设置为O表示不缓存这条额外资源记录,进而防止DNS客户端后续继续向预设DNS服务器发送域名解析请求。为了指示DNS客户端进行迭代查询,将验证消息中的DNS Flags标记中的RA字段的值设置为0,表示源DNS服务器暂时不支持递归查询。
[0066]步骤203,确定是否接收到DNS客户端发送至预设DNS服务器的第二域名解析请求,如果没有接收到第二域名解析请求,则执行步骤204,否则执行步骤205。
[0067]在一实施例中,当防护设备接收到DNS客户端发送域名解析请求时,可根据DNS客户端的IP地址以及所请求的域名在验证检索表中查询,如果在验证检索表中查询到与域名解析请求对应的验证检索记录,则确定该域名检索请求为DNS客户端根据验证消息返回的第二域名解析请求。例如,如果防护设备接收到一条“源IP地址为10.1.1.1,请求解析的域名为WWW.abed.com发送至2.2.2.2”的域名解析请求时,即可在验证检索表中查询,如果验证检索表中有“源IP地址为10.1.1.1,请求解析的域名为www.abed, com”的检索条目,则说明接收到第二域名解析请求,否则说明没有接收到第二域名解析请求。
[0068]步骤204,确定DNS客户端没有验证通过。
[0069]步骤205,确定DNS客户端验证通过,删除验证检索表中对应的检索条目。
[0070]本实施例中,防护设备通过生成一个验证消息可以验证DNS客户端是否为合法客户端,可以实现防护设备将合法客户端发送的域名解析请求转发至源DNS服务器进行解析,对不合法的客户端发送的域名解析请求进行防御,有效防御了针对源DNS服务器的域名攻击。
[0071]参见图3,是本申请一种实施例中再一防御域名攻击的方法流程图,该方法应用在防护设备中,包括以下步骤:
[0072]步骤301,当接收到DNS客户端发送至源DNS服务器的第一域名解析请求时,确定白名单中是否存在第一域名解析请求对应的资源记录,如果白名单中存在第一域名解析请求对应的资源记录,则执行步骤309,否则执行步骤302。
[0073]步骤302,对DNS客户端进行验证,如果验证通过执行步骤303,如果没有验证通过,则执行步骤308。
[0074]步骤302的详细描述可参见图2A实施例的描述,这里不再赘述。
[0075]步骤303,将DNS客户端及第一域名解析请求所请求的域名对应的资源记录添加至白名单中。
[0076]在一实施例中,为了减轻防护设备的接入负担,可对白名单中的资源记录设置预设老化时间,并在确定白名单中有超过预设老化时间的资源记录时,将超过预设老化时间的资源记录从白名单中删除。
[0077]步骤304,更改第二域名解析请求的目的IP地址为源DNS服务器的目的IP地址,并发送第二域名解析请求至目的IP地址;
[0078]步骤305,接收源DNS服务器根据第二域名解析请求返回的响应消息;
[0079]步骤306,更改响应消息中的源IP地址为预设DNS服务器的IP地址;
[0080]步骤307,将响应消息转发至DNS客户端。
[0081 ]步骤308,对DNS客户端发送的第一域名解析请求进行防御。
[0082]步骤309,将第一域名解析请求转发至源DNS服务器。
[0083]步骤310,接收到源DNS服务器返回的响应消息后,将响应消息转发至DNS客户端。
[0084]本实施例中,防护设备在确定白名单中没有接收到的域名解析请求对应的资源记录时,可对DNS客户端进行验证,如果DNS客户端验证通过,则将域名解析请求发送至源DNS服务器进行解析,而如果DNS客户端没有验证通过,则对DNS客户端发送的域名解析请求进行防御,有效防御了DNS客户端发起的域名攻击,并且避免了正常的域名解析请求因为在DNS缓存的缓存表项中没有存在对应的资源记录而被丢弃,提升了用户的体验。
[0085]参见图4,是本申请一种实施例中防御域名攻击的装置示意图,该装置应用于防护设备上,该装置包括:
[0086]第一确定模块410,用于当接收到DNS客户端发送至源DNS服务器的第一域名解析请求时,确定白名单中是否存在第一域名解析请求对应的资源记录;
[0087]验证模块420,用于如果第一确定模块410确定白名单中不存在第一域名解析请求对应的资源记录,则对DNS客户端进行验证;
[0088]防御模块430,用于如果验证模块420确定DNS客户端没有验证通过,则对DNS客户端发送的第一域名解析请求进行防御。
[0089]参见图5,是本申请一种实施例中又一防御域名攻击的装置示意图,在图4实施例的基础上,在一实施例中,验证模块420可包括:
[0090]发送单元421,用于向DNS客户端发送验证消息,其中,验证消息中携带有预设DNS服务器的标识信息;
[0091]第一确定单元422,用于确定是否接收到DNS客户端根据发送单元421发送的验证消息发送至预设DNS服务器的第二域名解析请求;
[0092]第二确定单元423,用于如果第一确定单元422确定没有接收到DNS客户端发送至预设DNS服务器的第二域名解析请求,则确定DNS客户端没有验证通过;
[0093]第三确定单元424,用于如果第一确定单元422确定接收到DNS客户端发送至预设DNS服务器的第二域名解析请求,则确定DNS客户端验证通过。
[0094]在一实施例中,装置还可包括:
[0095]添加模块440,用于如果第三确定单元424确定DNS客户端验证通过,则将DNS客户端及第一域名解析请求所请求的域名对应的资源记录添加至白名单中。
[0096]在一实施例中,装置还可包括:
[0097]第一转发模块450,用于如果第三确定单元确定DNS客户端验证通过,则更改第二域名解析请求的目的IP地址为源DNS服务器的目的IP地址,并发送第二域名解析请求至目的IP地址;
[0098]接收模块460,用于接收源DNS服务器根据第一转发模块450转发的第二域名解析请求返回的响应消息;
[0099]地址更改模块470,用于更改接收模块460接收到的响应消息中的源IP地址为预设DNS服务器的IP地址;
[0100]第二转发模块480,用于将地址更改模块470更改源IP地址之后的响应消息转发至
DNS客户端。
[0101]在一实施例中,发送单元421可包括:
[0102]生成子单元4211,用于生成验证消息;
[0103]发送子单元4212,用于向DNS客户端发送生成子单元生成的验证消息。
[0104]在一实施例中,生成子单元4211包括:
[0105]回复子单元42111,用于根据域名解析请求,生成一个验证消息;
[0106]递归设置子单元42112,用于将验证消息中的递归查询字段的值设置为O;
[0107]权威资源设置子单元42113,用于在所述验证消息中的权威资源记录中设置所述预设DNS服务器的服务器名称,并且设置所述权威资源记录的类型为NS,设置所述权威资源记录的TTL为O。
[0108]额外资源设置子单元42114,用于在所述验证消息的额外资源记录中设置所述预设DNS服务器的IP地址,并且设置所述额外资源记录的类型为A,设置所述额外资源记录的TTL为 O。
[0109]在一实施例中,装置还可包括:
[0110]第三确定模块490,用于确定白名单中是否有超过预设老化时间的资源记录;
[0111]删除模块500,用于如果第三确定模块490确定白名单中有超过预设老化时间的资源记录,则将超过预设老化时间的资源记录从白名单中删除。
[0112]上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0113]对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0114]参见图6,是本申请一种实施例中防御域名攻击的装置所在硬件设备的硬件示意图。
[0115]本申请防御域名攻击的装置的实施例可以应用在防护设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图6所示,是本申请一种实施例中防御域名攻击的装置所在硬件设备的硬件示意图,除了图6所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常根据该装置的实际功能,还可以包括其他硬件,对此不再赘述。
[0116]以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
【主权项】
1.一种防御域名攻击的方法,应用在防护设备上,其特征在于,所述方法包括: 当接收到DNS客户端发送至源DNS服务器的第一域名解析请求时,确定白名单中是否存在所述第一域名解析请求对应的资源记录; 如果白名单中不存在所述第一域名解析请求对应的资源记录,则对所述DNS客户端进行验证; 如果所述DNS客户端没有验证通过,则对所述DNS客户端发送的第一域名解析请求进行防御。2.根据权利要求1所述的方法,其特征在于,所述对所述DNS客户端进行验证,包括: 向所述DNS客户端发送所述验证消息,其中,所述验证消息中携带有预设DNS服务器的标识信息; 确定是否接收到所述DNS客户端发送至所述预设DNS服务器的第二域名解析请求;如果没有接收到所述DNS客户端发送至所述预设DNS服务器的第二域名解析请求,则确定所述DNS客户端没有验证通过; 如果接收到所述DNS客户端发送至所述预设DNS服务器的第二域名解析请求,则确定所述DNS客户端验证通过。3.根据权利要求2所述的方法,其特征在于,所述方法还包括: 如果所述DNS客户端验证通过,则将所述DNS客户端及所述第一域名解析请求所请求的域名对应的资源记录添加至所述白名单中。4.根据权利要求2所述的方法,其特征在于,所述方法还包括: 如果所述DNS客户端验证通过,则更改所述第二域名解析请求的目的IP地址为所述源DNS服务器的目的IP地址,并发送所述第二域名解析请求至所述目的IP地址; 接收所述源DNS服务器根据所述第二域名解析请求返回的响应消息; 更改所述响应消息中的源IP地址为预设DNS服务器的IP地址; 将更改源IP地址之后的所述响应消息转发至所述DNS客户端。5.根据权利要求2所述的方法,其特征在于,所述向所述DNS客户端发送所述验证消息,包括: 生成所述验证消息; 向所述DNS客户端发送所述验证消息。6.根据权利要求5所述的方法,其特征在于,所述生成所述验证消息,包括: 根据所述域名解析请求,生成一个验证消息; 将所述验证消息中的递归查询字段的值设置为O; 在所述验证消息中的权威资源记录中设置所述预设DNS服务器的服务器名称,并且设置所述权威资源记录的类型为NS,设置所述权威资源记录的TTL为O; 在所述验证消息的额外资源记录中设置所述预设DNS服务器的IP地址,并且设置所述额外资源记录的类型为A,设置所述额外资源记录的TTL为O。7.根据权利要求1所述的方法,其特征在于,所述方法还包括: 确定所述白名单中是否有超过预设老化时间的资源记录; 如果所述白名单中有超过预设老化时间的资源记录,则将所述超过预设老化时间的资源记录从所述白名单中删除。8.—种防御域名攻击的装置,应用在防护设备上,其特征在于,所述装置包括: 第一确定模块,用于当接收到DNS客户端发送至源DNS服务器的第一域名解析请求时,确定白名单中是否存在所述第一域名解析请求对应的资源记录; 验证模块,用于如果所述第一确定模块确定所述白名单中不存在所述第一域名解析请求对应的资源记录,则对所述DNS客户端进行验证; 防御模块,用于如果所述验证模块确定所述DNS客户端没有验证通过,则对所述DNS客户端发送的第一域名解析请求进行防御。9.根据权利要求8所述的装置,其特征在于,所述验证模块包括: 发送单元,用于向所述DNS客户端发送所述验证消息,其中,所述验证消息中携带有预设DNS服务器的标识信息; 第一确定单元,用于确定是否接收到所述DNS客户端根据所述发送单元发送的所述验证消息发送至所述预设DNS服务器的第二域名解析请求; 第二确定单元,用于如果所述第一确定单元确定没有接收到所述DNS客户端发送至所述预设DNS服务器的第二域名解析请求,则确定所述DNS客户端没有验证通过; 第三确定单元,用于如果所述第一确定单元确定接收到所述DNS客户端发送至所述预设DNS服务器的第二域名解析请求,则确定所述DNS客户端验证通过。10.根据权利要求9所述的装置,其特征在于,所述装置还包括: 添加模块,用于如果所述第三确定单元确定所述DNS客户端验证通过,则将所述DNS客户端及所述第一域名解析请求所请求的域名对应的资源记录添加至所述白名单中。11.根据权利要求9所述的装置,其特征在于,所述装置还包括: 第一转发模块,用于如果所述第三确定单元确定所述DNS客户端验证通过,则更改所述第二域名解析请求的目的IP地址为所述源DNS服务器的目的IP地址,并发送所述第二域名解析请求至所述目的IP地址; 接收模块,用于接收所述源DNS服务器根据所述第一转发模块转发的所述第二域名解析请求返回的响应消息; 地址更改模块,用于更改所述接收模块接收到的所述响应消息中的源IP地址为预设DNS服务器的IP地址; 第二转发模块,用于将所述地址更改模块更改源IP地址之后的所述响应消息转发至所述DNS客户端。12.根据权利要求9所述的装置,其特征在于,所述发送单元包括: 生成子单元,用于生成所述验证消息; 发送子单元,用于向所述DNS客户端发送所述生成子单元生成的所述验证消息。13.根据权利要求12所述的装置,其特征在于,所述生成子单元包括: 回复子单元,用于根据所述域名解析请求,生成一个验证消息; 递归设置子单元,用于将所述验证消息中的递归查询字段的值设置为O; 权威资源设置子单元,用于在所述验证消息中的权威资源记录中设置所述预设DNS月艮务器的服务器名称,并且设置所述权威资源记录的类型为NS,设置所述权威资源记录的TTL为O; 额外资源设置子单元,用于在所述验证消息的额外资源记录中设置所述预设DNS服务器的IP地址,并且设置所述额外资源记录的类型为A,设置所述额外资源记录的TTL为O。14.根据权利要求8所述的装置,其特征在于,所述装置还包括: 第三确定模块,用于确定所述白名单中是否有超过预设老化时间的资源记录; 删除模块,用于如果所述第三确定模块确定所述白名单中有超过预设老化时间的资源记录,则将所述超过预设老化时间的资源记录从所述白名单中删除。
【文档编号】H04L29/12GK105939347SQ201610297054
【公开日】2016年9月14日
【申请日】2016年5月5日
【发明人】邢涛
【申请人】杭州迪普科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1