CN105472057B - 一种针对dns中不存在域名查询的处理方法 - Google Patents
一种针对dns中不存在域名查询的处理方法 Download PDFInfo
- Publication number
- CN105472057B CN105472057B CN201510818092.9A CN201510818092A CN105472057B CN 105472057 B CN105472057 B CN 105472057B CN 201510818092 A CN201510818092 A CN 201510818092A CN 105472057 B CN105472057 B CN 105472057B
- Authority
- CN
- China
- Prior art keywords
- nsec
- server
- domain name
- resource record
- nsec3
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
Abstract
本发明属于互联网络技术领域,尤其涉及一种针对DNS中不存在域名查询的处理方法,包括:在递归服务器中缓存NSEC或NSEC3资源记录,转发服务器从递归服务器中获得并缓存NSEC或NSEC3资源记录,当用户连续查询NSEC或NSEC3资源记录中确定的不存在域名时,递归服务器或转发服务器根据NSEC或NSEC3资源记录的信息直接返回给用户NXDOMAIN消息。本发明能够降低不存在域名的查询时延,同时能够减少对域名的权威服务器的查询次数,降低权威服务器的资源消耗。可以避免大量不存在的TLD的查询。能够很好的解决Water Torture问题,不会对权威服务器产生影响。
Description
技术领域
本发明属于互联网络技术领域,尤其涉及一种针对DNS中不存在域名查询的处理方法。
背景技术
DNS(Domain Name System,域名系统)提供了互联网上的一个重要的服务。其本质是建立了人的名字世界和底层的二进制协议地址世界的桥梁。DNS解析框架是一个使用UDP(User Datagram Protocol,用户数据报协议)并通过地理分布的具有缓存功能的递归解析器来实现。如图1所示,其基本流程如下:
用户发出一个域名的DNS请求到本地ISP(Internet Service Provider,互联网服务提供商)的递归解析器(Recursive Resolver)。如果本地的递归服务器缓存了这个DNS请求条目,则递归服务器直接向用户返回DNS响应消息。如果本地的递归服务器没有缓存这个DNS请求消息,则本地的递归服务器从根名字服务器开始,根据所返回的信息,一级一级地递归查询所请求的域名。最终查找到所要查询的DNS信息。递归服务器将返回的DNS查询结果存储到自己的缓存中,同时将结果返回给用户。这样一个完整的DNS查询过程就完成了。
一个DNS查询对用户来说应该是透明的,所以DNS查询的时间应该尽量的短。在DNS系统中引入了缓存机制,递归服务器获取权威服务器的响应消息,并在相应消息的资源记录的生命周期内缓存相应资源记录。在用户下一次请求该资源记录时,递归服务器不用再次查询权威名字服务器,而直接将缓存中的资源记录返回到用户。这样大大减少了DNS查询的时间。
如果一个用户DNS查询的域名在域名空间中是不存在的,则该用户肯定不会查询到该DNS信息,但是却仍要完成一个完整的DNS查询过程,并返回NXDOMAIN(域名不存在)响应信息。因为不存在的DNS查询在递归服务器缓存中肯定不存在。递归服务器需要从根开始查找,直到相应的域中确认域名不存在。这一过程需要耗费较长的等待时延,同时域名解析也带来了名字服务器的资源消耗。一些攻击者故意伪造一些域名,通过不存在域名的DNS查询来消耗权威名字服务器的资源,影响真实域名的处理速度(如Water Torture攻击)。RFC1034中规定可以在缓存中缓存某个具体的不存在的域名信息,但是如果是另一个不存在域名的查询,仍然需要递归查询。
在DNSSEC(DNS安全扩展)中定义了NSEC(Next-Secure record)或NSEC3(NSECrecord version 3)资源记录,该资源记录能够通过通配符,权威地表示一个不存在域名的范围。提出的专利中,将NSEC或NSEC3资源记录缓存到本地的递归服务器中。转发服务器也可以从递归服务器获取NSEC或NSEC3资源记录,并缓存起来。当查询NSEC或NSEC3中定义的不存在资源记录时,本地递归服务器和转发服务器会根据NSEC或NSEC3资源记录,直接返回NXDOMAIN响应消息。这样能够减少一些不存在域名的DNS查询时间,解决Water Torture(水刑)攻击以及减少对根服务器的不存在TLD(Top Level Domain)的查询。
3、发明目的(或称:技术问题)
不存在的DNS域名查询需要经历较长的查询时延,消耗DNS服务器的资源。提出的方案通过在递归服务器中缓存NSEC或NSEC3资源记录,转发服务器可以从递归服务器中获得NSEC或NSEC3资源记录。当用户连续查询NSEC或NSEC3资源记录中确定的不存在域名时,具有缓存能力的DNS服务器能够根据NSEC或NSEC3资源记录的信息,直接返回给用户NXDOMAIN消息。这样能够减少一些不存在域名的DNS查询时间,解决诸如Water Torture攻击,以及减少对根服务器的不存在TLD的查询。
发明内容
为了解决现有技术存在的上述问题,本发明提出了一种针对DNS中不存在域名查询的处理方法,包括:
步骤1:在递归服务器中缓存NSEC或NSEC3资源记录;
步骤2:转发服务器从递归服务器中获得并缓存NSEC或NSEC3资源记录;
步骤3:当用户连续查询NSEC或NSEC3资源记录中确定的不存在域名时,递归服务器或转发服务器根据NSEC或NSEC3资源记录的信息直接返回给用户NXDOMAIN消息。
所述NSEC或NSEC3资源记录通过通配符说明一组域名不存在的信息。
所述NSEC或NSEC3资源记录的建立方法包括:当一个不存在域名的查询到达递归服务器时,如果不存在这样的NSEC或NSEC3资源记录,通过递归服务器向权威DNS服务器发送递归请求,权威服务器将该域的NSEC或NSEC3资源记录、签名信息连同NXDOMAIN响应消息一起发送给发起查询的递归服务器;递归服务器对其进行DNSSEC验证,确定NSEC或NSEC3资源记录的真实性和安全性,确定之后缓存在本地缓存中。
本发明的有益效果在于:针对DNS不存在域名的查询带来了较长的等待时延,消耗了大量的名字服务器资源;本发明提出的方案通过本地缓存NSEC或NSEC3资源记录,及时地响应不存在域名的查询请求,减少了对权威服务器的资源消耗。对于一些在NSEC或NSEC3中通过通配符定义的不存在域名的查询,通过提出的方案能够在递归服务器或转发服务器侧确定一些域名是否存在,并返回NXDOMAIN响应消息。这样首先能够降低不存在域名的查询时延,同时能够减少对域名的权威服务器的查询次数,降低权威服务器的资源消耗。如对根服务器来说,可以避免大量不存在的TLD的查询。该方案能够很好的解决Water Torture问题,因为大量的随机产生的不存在域名的DNS查询,在递归服务器中已经被屏蔽了,不会对权威服务器产生影响。
附图说明
图1是现有的DNS解析流程图;
图2是基于NSEC或NSEC3资源记录的不存在域名处理机制。
具体实施方式
下面结合附图,对实施例作详细说明。
实施例1
本发明提出了一种针对DNS中不存在域名查询的处理方法,如图2所示,包括:
步骤1:在递归服务器中缓存NSEC或NSEC3资源记录;
步骤2:转发服务器从递归服务器中获得并缓存NSEC或NSEC3资源记录;
步骤3:当用户连续查询NSEC或NSEC3资源记录中确定的不存在域名时,递归服务器或转发服务器根据NSEC或NSEC3资源记录的信息直接返回给用户NXDOMAIN消息。
所述NSEC或NSEC3资源记录通过通配符说明一组域名不存在的信息。
所述NSEC或NSEC3资源记录的建立方法包括:当一个不存在域名的查询到达递归服务器时,如果不存在这样的NSEC或NSEC3资源记录,通过递归服务器向权威DNS服务器发送递归请求,权威服务器将该域的NSEC或NSEC3资源记录、签名信息连同NXDOMAIN响应消息一起发送给发起查询的递归服务器;递归服务器对其进行DNSSEC验证,确定NSEC或NSEC3资源记录的真实性和安全性,确定之后缓存在本地缓存中。
实施例2
如果一个域是DNSSEC签名的,其中的NSEC或NSEC3资源记录中通过一些通配符说明了一类不存在的DNS域名。为减少指向权威DNS服务器的查询数量,递归服务器通过在缓存中缓存NSEC或NSEC3资源记录。当一些不存在域名的查询达到递归服务器,递归服务器可以根据缓存的NSEC或NSEC3资源记录中的信息,返回NXDOMAIN响应。
在NSEC或NSEC3资源记录中通过通配符说明了一组域名的不存在信息。当一个不存在域名的查询到达递归服务器时,如果不存在这样的NSEC或NSEC3资源记录,其说明了要查询的不存在域名所在的通配符,则递归服务器只能向权威DNS服务器发送递归请求,直至根据该域的NSEC或NSEC3资源记录判断要查询的域名在域名空间中是不存在的,然后返回NXDOMAIN响应消息。
同时权威服务器可以将该域的NSEC或NSEC3资源记录及其签名信息,同NXDOMAIN响应消息一起发送给发起查询的递归服务器。递归服务器对其进行DNSSEC验证,确定NSEC或NSEC3资源记录的真实性和安全性,确定之后缓存在本地缓存中。这时在NSEC或NSEC3资源记录的TTL或其签名到期之前,如果一个不存在域名的查询发送到递归服务器,且不存在域名在NSEC或NSEC3资源记录的通配符说明的范围之内,则递归服务器可以直接返回NXDOMAIN响应消息,而不用去查询权威服务器。
对于一些转发服务器而言,由于NSEC或NSEC3资源记录是已经被验证过的,能够保证数据的安全,可以从其上一级的递归服务器获取NSEC或NSEC3资源记录并在本地DNSSEC验证并缓存。在NSEC或NSEC3资源记录的生命周期内,转发服务器同样可以在本地通过缓存的NSEC或NSEC3资源记录判断是否返回NXDOMAIN响应消息。
假设“example.com”域不存在任何关于单个字符的域名查询,如“a.example.com”和“b.example.com”。如果不采用提出的机制,递归服务器需要分别向“example.com”域发起对“a.example.com”和“b.example.com”的递归查询,直到该域的权威服务器返回NXDOMAIN响应消息。
如果在“example.com”域的NSEC或NSEC3资源记录中用通配符说明不存在这样的一类域名。当有用户发送“a.example.com”的DNS查询时,递归服务器会返回NXDOMAIN响应消息。同时,权威服务器将NSEC或NSEC3资源记录一起返回到递归服务器。递归服务器通过DNSSEC验证,确定NSEC或NSEC3资源记录的真实性和完整性后缓存在本地缓存中。如果这是有用户发送“b.example.com”的DNS查询,递归服务器会通过NSEC或NSEC3资源记录确认该域名是一个不存在的域名。此时,递归服务器就直接向用户返回NXDOMAIN响应消息,而不必要向权威服务器发起递归请求。同样地,如果是一个转发服务器收到的类似的请求消息,也能够通过在本地的NSEC或NSEC3资源记录来确定该域名不存在,并返回NXDOMAIN响应消息。
此实施例仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (3)
1.一种针对DNS中不存在域名查询的处理方法,其特征在于,包括:
步骤1:在递归服务器中缓存NSEC或NSEC3资源记录;
步骤2:转发服务器从递归服务器中获得并缓存NSEC或NSEC3资源记录;
步骤3:当用户连续查询NSEC或NSEC3资源记录中确定的不存在域名时,递归服务器或转发服务器根据NSEC或NSEC3资源记录的信息直接返回给用户NXDOMAIN消息;
当一个不存在域名的查询到达递归服务器时,如果不存在这样的NSEC或NSEC3资源记录,则递归服务器只能向权威DNS服务器发送递归请求,直至根据该不存在域名的NSEC或NSEC3资源记录判断要查询的域名在域名空间中是不存在的,然后返回NXDOMAIN响应消息;
同时权威服务器将该不存在域名的NSEC或NSEC3资源记录及其签名信息,同NXDOMAIN响应消息一起发送给发起查询的递归服务器;递归服务器对其进行DNSSEC验证,确定NSEC或NSEC3资源记录的真实性和安全性,确定之后缓存在本地缓存中;在NSEC或NSEC3资源记录的TTL或其签名到期之前,如果一个不存在域名的查询发送到递归服务器,且不存在域名在NSEC或NSEC3资源记录的通配符说明的范围之内,则递归服务器直接返回NXDOMAIN响应消息,而不用去查询权威服务器。
2.根据权利要求1所述方法,其特征在于,所述NSEC或NSEC3资源记录通过通配符说明一组域名不存在的信息。
3.根据权利要求1所述方法,其特征在于,所述NSEC或NSEC3资源记录的建立方法包括:当一个不存在域名的查询到达递归服务器时,如果不存在这样的NSEC或NSEC3资源记录,通过递归服务器向权威DNS服务器发送递归请求,权威服务器将该不存在域名的NSEC或NSEC3资源记录、签名信息连同NXDOMAIN响应消息一起发送给发起查询的递归服务器;递归服务器对其进行DNSSEC验证,确定NSEC或NSEC3资源记录的真实性和安全性,确定之后缓存在本地缓存中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510818092.9A CN105472057B (zh) | 2015-11-23 | 2015-11-23 | 一种针对dns中不存在域名查询的处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510818092.9A CN105472057B (zh) | 2015-11-23 | 2015-11-23 | 一种针对dns中不存在域名查询的处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105472057A CN105472057A (zh) | 2016-04-06 |
CN105472057B true CN105472057B (zh) | 2019-06-04 |
Family
ID=55609314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510818092.9A Active CN105472057B (zh) | 2015-11-23 | 2015-11-23 | 一种针对dns中不存在域名查询的处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105472057B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107846480B (zh) * | 2016-09-19 | 2021-04-20 | 贵州白山云科技股份有限公司 | Nxdomain应答包处理方法和装置 |
CN108769284B (zh) * | 2018-05-04 | 2022-02-18 | 网宿科技股份有限公司 | 一种域名解析方法、服务器及系统 |
CN111901449B (zh) * | 2020-07-01 | 2022-07-22 | 四川速宝网络科技有限公司 | 一种优化域名访问的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103379116A (zh) * | 2012-04-29 | 2013-10-30 | 弗里塞恩公司 | Dnssec在线签名 |
WO2014186189A1 (en) * | 2013-05-15 | 2014-11-20 | Citrix Systems, Inc. | System and method for reducing denial of service attacks against dynamically generated next secure records |
-
2015
- 2015-11-23 CN CN201510818092.9A patent/CN105472057B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103379116A (zh) * | 2012-04-29 | 2013-10-30 | 弗里塞恩公司 | Dnssec在线签名 |
WO2014186189A1 (en) * | 2013-05-15 | 2014-11-20 | Citrix Systems, Inc. | System and method for reducing denial of service attacks against dynamically generated next secure records |
Non-Patent Citations (2)
Title |
---|
DNS Transport over TCP-Implementation Requirements;R.Bellis;《IETF RFC 5966》;20100831;全文 |
DNSSEC原理、配置与部署;段海新;《中国教育网络》;20110605(第6期);第29-31页 |
Also Published As
Publication number | Publication date |
---|---|
CN105472057A (zh) | 2016-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8204948B2 (en) | Querying a database and receiving replies in IPv6 format by utilizing well known port 53 | |
US8499077B2 (en) | Controlling internet access using DNS root server reputation | |
US8812479B2 (en) | Method and system for triggering web crawling based on registry data | |
US20100011420A1 (en) | Operating a service on a network as a domain name system server | |
US9680842B2 (en) | Detecting co-occurrence patterns in DNS | |
US20080060054A1 (en) | Method and system for dns-based anti-pharming | |
US20120254386A1 (en) | Transfer of DNSSEC Domains | |
WO2015134323A1 (en) | Transparent proxy authentication via dns processing | |
US20050289242A1 (en) | Resolving access to content associated with shared domain name using routing website | |
CN101282209A (zh) | 防范dns请求报文泛洪攻击的方法及设备 | |
US9450908B2 (en) | Routing DNS system and method for shared domain name | |
CN103152357A (zh) | 一种针对dns服务的防御方法、装置和系统 | |
CN105472057B (zh) | 一种针对dns中不存在域名查询的处理方法 | |
CN106161674A (zh) | 一种区块链域名解析装置 | |
JP2005502239A (ja) | クライアント側の動的な負荷バランシングシステムの方法および機器 | |
CN104618351A (zh) | 一种识别dns欺骗攻击包及检测dns欺骗攻击的方法 | |
CN111698345B (zh) | 域名查询方法、递归服务器和存储介质 | |
US8706816B2 (en) | System and method for email delivery for shared domain name | |
CN103685168B (zh) | 一种dns递归服务器的查询请求服务方法 | |
CN110247932A (zh) | 一种实现dns服务防御的检测系统和方法 | |
CN105357212A (zh) | 一种保证安全和隐私的dns端到端解析方法 | |
CN104158799A (zh) | 一种基于url动态映射的http ddos防御方法 | |
Jin et al. | A detection method against DNS cache poisoning attacks using machine learning techniques: Work in progress | |
US20120180125A1 (en) | Method and system for preventing domain name system cache poisoning attacks | |
CN106453598B (zh) | 一种基于http协议的代理扫描方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |