当前位置: 首页 > 科技观察

DNS系统原理及漏洞分析(一)

时间:2023-03-12 19:10:23 科技观察

是基于IP协议的。两台计算机之间进行通信有一个前提条件,那就是它们各自有一个IP地址。由于我们大多数人都擅长记住像www.taobao.com这样的字符串,而不是像104.196.44.101这样的不规则IP地址数字字符串,因此需要一个程序将名称字符串翻译成IP地址。一种分布式数据库,存储互联网上域名和IP地址的映射关系。能够将名字转换成数字,数字转换成名字的程序称为DNS(DomainNameSystem,域名系统)。运行DNS系统的主机是“DNS服务器”。如果没有DNS,任何互联网访问都需要我们记住12个数字——服务器的IP地址。一、DNS的工作原理作为Internet访问中不可或缺的一项技术,了解DNS的运行机制非常重要。DNS中的域名-IP映射条目称为“DNS记录”。Internet上需要通信的计算机数量太多,将所有DNS记录记录在一个记录集中并用单个DNS服务器存储和处理是不切实际的。因此在DNS系统的设计中,将全球DNS划分为多个小的记录集,称为“域”。一个域中包含的记录数量可能仍然非常大,因此,域也可以划分为更小的子集——“区域”(Zone)。因此,Internet上所有的域名-IP映射表项都是由许多DNS服务器共同存储的。任何一台计算机想要根据域名查询IP或者根据IP查询域名都可以向它的DNS服务器发起查询,而DNS服务器也知道如何在多个DNS服务器之间发起查询。当DNS服务器查询其他DNS服务器时,我们称之为“上游”查询。域查询可以连续执行直到权威域名服务器。权威域名服务器是管理员管理所辖域的服务器名称和IP地址的地方。当DNS管理员要对服务器名称或IP地址进行增、删、改、查询时,都会在授权的域名服务器(也称“主DNS服务器”)上进行操作。此外,还有“从属DNS服务器”,它们保存区域或域的DNS记录副本。1.用于加载页面的四台DNS服务器域名解析服务器(Resolvingnameserver):存储查询到的IP-域名条目或向其他DNS服务器请求IP-域名条目,并响应本次查询的服务器.根名称服务器(Rootnameserver):根区的名称服务器。它直接响应查询请求并返回相应域授权名称服务器的列表。域名服务器(TLD名称服务器):域名服务器(TLD)是互联网上的高级DNS服务器之一。当搜索www.qq.com时,“.com”TLD服务器将首先响应,在其条目中搜索字符串“qq”。权威域名服务器(Authoritativenameserver):权威域名服务器是DNS查询过程中的最后一站,存放着某个区域的域名条目记录。2.DNS服务的种类DNS服务根据其处理DNS查询的技术机制分为两种类型:递归DNS服务:递归DNS服务响应DNS查询并向权威域名服务发起域名条目查询,或者在其缓存中查找是在DNS条目中实现的。权威DNS服务:权威DNS服务本身存储DNS条目。因此,如果向权威DNS服务查询存储的IP域名条目,则无需向其他服务器发起查询。3.PublicDNS&PrivateDNS对于一个需要在互联网上被公众访问的服务器,它需要有一个公共的DNS记录,并且它的IP地址在互联网上是可以访问的,即不会被屏蔽访问控制技术,例如防火墙。任何可以连接到公共DNS服务器的人都可以访问公共DNS服务器而无需身份验证。但是,并非所有DNS记录都是公开的。很多企业为了让员工可以方便的访问企业内网的服务器,都有自己的私有DNS。私有DNS用于存储内部文件服务器、邮件服务器、域控制器、数据库服务器、应用服务器等不想暴露在互联网上的域名和IP。需要注意的一件事是,与公共DNS服务器一样,访问私有DNS服务器不需要身份验证。这主要是因为在DNS技术创立之初,安全并不是一个需要考虑的技术问题。因此,在大多数情况下,企业内部网络中的任何用户都可以在不进行身份验证的情况下查询存储在内部DNS服务器中的信息。2、查询DNS的七个步骤(1)当用户试图访问Internet上的一台计算机时,例如在浏览器地址栏中输入www.dingxinsec.com.cn时,就会发起DNS查询。(2)DNS查询的第一站是本地DNS缓存。当用户在网络上访问不同的域名时,这些域名对应的IP地址将存储在本地缓存中。如果用户之前访问过www.dingxinsec.com.cn,该网站的IP地址将存储在缓存中。(3)如果本地DNS缓存中没有该域名的IP,DNS会向递归DNS服务器查询。在Internet上,ISP服务提供商通常构建和运营递归DNS服务器。(4)递归DNS服务器本身有缓存,如果其缓存中有用户查询的IP地址,则直接返回给用户。如果没有,将向其他DNS服务器进行查询。(5)下一站是TLD域名服务器。当用户查询www.dingxinsec.com.cn域名时,存储.cn地址的TLD域名服务器将响应查询请求。这个服务器并没有存储我们需要的IP地址,但是它可以将查询请求转发给正确的权威名称服务器。(6)权威域名服务器以www.dingxinsec.com.cn的IP地址响应查询,递归DNS服务器将其存储在本地DNS缓存中,并将该地址返回给用户计算机。(7)用户计算机本地DNS服务获取www.dingxinsec.com.cn的IP地址并实现访问。然后,在本地缓存中记录该域名的IP地址,并记录其生存时间(TTL),即本地DNS记录的有效时间。.com.cn,DNS会再次执行上述过程。3、DNS查询的分类DNS查询需要传递给DNS服务器的信息包括:当前查询是什么类型;返回什么信息。标准DNS查询分为三种类型:递归查询:在递归查询中,计算机要求DNS服务器返回一个IP地址,或者确认DNS服务器不知道该IP。迭代查询:在迭代查询中,查询者请求DNS服务器返回一个优先的答案。如果在DNS服务器中找不到查询到的IP,则返回权威域名服务器或TLD域名服务器。查询器将继续这个迭代过程,直到它找到查询的IP或超时。非递归查询:DNS解析服务器使用这种查询来查找没有存储在自己缓存中的IP。下一页《DNS系统原理及漏洞利用分析(下)》