识别和防御dnsservfail攻击的方法及装置的制造方法

文档序号:9491934阅读:715来源:国知局
识别和防御dns servfail攻击的方法及装置的制造方法
【技术领域】
[0001] 本发明涉及域名查询技术,尤其涉及一种识别和防御DNS SERVFAIL攻击的方法及 装置。
【背景技术】
[0002] 递归服务器用于域名查询时的递归查询,递归服务器进行递归查询时会占用大量 的系统资源,因此,递归服务器通常依赖缓存机制来尽可能地避免进行密集的递归查询。而 当被递归服务器请求的远端服务器没有响应的时候,递归服务器无法确定远端服务器是否 确实存在问题,因此递归服务器会保留一定的等待时间并进行一定数量的重试,同时不会 针对未响应的结果进行缓存。域名解析服务错误(Domain Name System Service Fail,简 称DNS SERVFAIL)攻击是利用上述递归服务器的处理机制,利用一个或多个有问题的远端 服务器,或者对应的区的权威服务器而使用一个不可达地址,进而向递归服务器发出大量 的该区内的域名解析请求。递归服务器进而会向该域名所对应的服务器发起递归请求,而 由于该服务器并不可达,因此递归服务器需要一直等待响应,导致递归服务器的资源被大 量占用,进而导致递归服务器的处理能力大幅下降,无法处理正常的域名查询请求。
[0003] 现有技术中,递归服务器通过为每个区设置一个特定的并发递归查询次数来应对 上述攻击。具体地,递归服务器统一设定一个阈值,每个区的并发递归查询次数不能超过该 阈值,当超过该阈值时则直接返回错误提示,完成递归查询的拦截。
[0004] 但是,现有技术是使用静态限速的方法,即针对所有的区都设置相同的递归查询 次数,会导致对于一些访问量大的区的合法域名查询失败。

【发明内容】

[0005] 本发明提供一种识别和防御DNS SERVFAIL攻击的方法及装置,用于解决现有技 术中由于使用静态限速的方法所导致一些访问量大的区的合法域名查询失败的问题。
[0006] 本发明第一方面提供一种识别和防御DNS SERVFAIL攻击的方法,包括:
[0007] 接收客户端发送的域名查询请求,所述域名查询请求中携带待查询的域名以及所 述域名所属的区的标识;
[0008] 根据所述域名查询请求,获取所述域名所属的区对应的级别;
[0009] 根据所述级别获取所述域名所属的区的查询权限,根据所述查询权限查询所述域 名,并根据查询结果更新所述域名所属的区的级别计数,其中,所述域名所属的区的级别计 数用于标识所述域名所属的区对应的级别是否需要调整。
[0010] 结合第一方面,在第一方面的第一种可能的实施方式中,所述根据所述域名查询 请求,获取所述域名所属的区对应的级别,包括:
[0011] 根据所述域名查询请求中的所述域名所属的区的标识、以及区与级别映射关系, 获取所述域名所属的区对应的级别。
[0012] 结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中 所述根据所述级别获取所述域名所属的区的查询权限,包括:
[0013] 根据所述级别,在预设的级别与查询权限映射表中查找所述级别对应的查询权 限;
[0014] 其中,所述级别对应的查询权限包括:所述级别的级别调整次数、所述级别所允许 的并发递归查询次数以及所述级别所允许的每秒查询次数。
[0015] 结合第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式 中,所述根据查询结果更新所述域名所属的区的级别计数,包括:
[0016] 若所述查询结果为查询所述域名成功,则将所述域名所属的区的级别计数加1,获 取更新后的所述域名所属的区的级别计数。
[0017] 结合第一方面的第二种可能的实施方式,在第一方面的第四种可能的实施方式 中,所述根据查询结果更新所述域名所属的区的级别计数,包括:
[0018] 若所述查询结果为查询所述域名失败,则将所述域名所属的区的级别计数减半, 获取更新后的所述域名所属的区的级别计数。
[0019] 结合第一方面的第一种至第四种可能的实施方式中的任一种,在第一方面的第 五种可能的实现方式中,所述根据查询结果更新所述域名所属的区的级别计数之后,还包 括:
[0020] 若所述级别计数达到第一级别所允许的级别调整次数,则将所述域名所属的区的 级别调整为所述第一级别;
[0021] 更新所述区与级别映射关系。
[0022] 结合第一方面的第一种可能的实施方式,在第一方面的第六种可能的实施方式中 所述根据所述域名查询请求中的所述域名所属的区的标识、以及区与级别映射关系,获取 所述域名所属的区对应的级别,包括:
[0023] 若所述域名所属的区的标识在区与级别映射关系表中存在,则在所述区与级别映 射关系表中读取所述域名所属的区对应的级别。
[0024] 结合第一方面的第一种可能的实施方式,在第一方面的第七种可能的实施方式 中,所述根据所述域名查询请求中的所述域名所属的区的标识、以及区与级别映射关系,获 取所述域名所属的区对应的级别,包括:
[0025] 若所述域名所属的区的标识在区与级别映射关系表中不存在,则在所述区与级别 映射关系表中读取所述域名所属的区的上一级区对应的级别,将读取到的所述域名所属的 区的上一级区对应的级别作为所述域名所属的区对应的级别。
[0026] 本发明第二方面提供一种识别和防御DNS SERVFAIL攻击的装置,包括:
[0027] 接收模块,用于接收客户端发送的域名查询请求,所述域名查询请求中携带待查 询的域名以及所述域名所属的区的标识;
[0028] 获取模块,用于根据所述域名查询请求,获取所述域名所属的区对应的级别;
[0029] 查询模块,用于根据所述级别获取所述域名所属的区的查询权限,根据所述查询 权限查询所述域名,并根据查询结果更新所述域名所属的区的级别计数,其中,所述域名所 属的区的级别计数用于标识所述域名所属的区对应的级别是否需要调整。
[0030] 结合第二方面,在第二方面的第一种可能的实施方式中,所述获取模块,具体用于 根据所述域名查询请求中的所述域名所属的区的标识、以及区与级别映射关系,获取所述 域名所属的区对应的级别。
[0031] 本发明所提供的识别和防御DNS SERVFAIL攻击的方法,根据域名所属的区的级别 获取对应的查询权限,根据查询权限查询域名,并根据域名查询结果更新域名所属的区的 级别计数,当级别计数达到一定的值时对域名所属的区的级别进行调整,使得域名所属的 区所拥有的查询资源发生变化,从而实现了根据域名所属的区的历史查询结果来动态地为 域名所属的区分配查询资源,既保证了一些合法的区的合法域名查询得到保证,又能够对 一些非法的区的非法域名查询进行拦截。
【附图说明】
[0032] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根 据这些附图获得其他的附图。
[0033] 图1为本发明所提供的识别和防御DNS SERVFAIL攻击的方法实施例一的流程示 意图;
[0034] 图2为本发明所提供的识别和防御DNS SERVFAIL攻击的装置实施例一的结构示 意图;
[0035] 图3为本发明所提供的识别和防御DNS SERVFAIL攻击的装置实施例二的结构示 意图;
[0036] 图4为本发明所提供的识别和防御DNS SERVFAIL攻击的装置实施例三的结构示 意图。
【具体实施方式】
[0037] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0038] 图1为本发明所提供的识别和防御DNS SERVFAIL攻击的方法实施例一的流程示 意图,该方法的执行主体为递归服务器,如图1所示,该方法包括
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1