400-638-8808
|
微信公众号
基于IP协议,两台计算机之间要实现通信有一个前提,就是它们分别有一个IP地址。由于我们大多数人都善于记住www.taobao.com之类的字串,而非一串如104.196.44.101一般毫无规律的IP地址数字组合,因此,需要一个程序将名称字串翻译成IP地址。
在互联网上储存域名与IP地址间映射关系的一个分布式数据库,能够将名称转换为数字、数字转换为名称的程序就被称为DNS(Domain Name System,域名系统),运行DNS系统的主机就是“DNS服务器”。如果没有DNS,任何互联网访问就都需要我们记住12个数字——服务器的IP地址。
一、DNS工作原理
作为互联网访问中不可或缺的一项技术,了解DNS的运作机理非常重要。
DNS中的域名-IP映射条目被称为“DNS记录”。互联网上需要实现通信的计算机数量过于庞大,将所有DNS记录都记录在一个记录集里,由单台DNS服务器进行存储处理是不切实际的。因此,在DNS体系的设计中,全球的DNS被分成了多个小记录集,这些记录集被称为“域”(Domain)。一个域包含的记录数量仍有可能非常大,因此,域还可以被划分为更小的子集——“区”(Zone)。
因此,互联网上所有的域名-IP映射条目是由许多DNS服务器共同存储的。任何要根据域名查询IP或根据IP查询域名的计算机,都可以向其DNS服务器发起查询,并且DNS服务器还知道如何在多台DNS服务器之间发起查询。当DNS服务器查询其他DNS服务器时,我们称之为“上游”查询。域查询可以不停的向上执行,直至权限域名服务器。
权限域名服务器是管理员对其所管辖域的服务器名和IP地址进行管理的地方。当DNS管理员想要对服务器名或IP地址实施增删改查时,就会在权限域名服务器(也称“主DNS服务器”)上进行操作。另外,还有“从DNS服务器”,用于保存区或域的DNS记录副本。
1. 加载页面用到的四个DNS服务器
2. DNS服务的类型
根据其处理DNS查询的技术机理不同,DNS服务被分为两种类型:
3. 公共DNS & 私有DNS
对于需要被公众在互联网上访问的服务器,它需要具有公共DNS记录,并且其IP地址在互联网上可访问,即不会被防火墙等访问控制技术所阻止。任何能够连接到公共DNS服务器的人都可以在且无需身份验证的情况下访问公共DNS服务器。
但是,并非所有的DNS记录都是公开的,为了使员工能够方便地访问企业内网的服务器,不少企业都有自身的私有DNS。私有DNS被用于存放不希望公开到互联网上的企业内部文件服务器、邮件服务器、域控制器、数据库服务器、应用程序服务器等的域名和IP。
有一点需要注意的是,私有DNS服务器和公共DNS服务器一样,对其的访问无需进行身份验证。这主要是因为在DNS技术创建之初,安全性还不是一个需要考虑的技术问题。因此,大多数情况下,企业内部网络中的任何用户都可以在未做身份认证的情况下查询内部DNS服务器存储的信息。
二、查询DNS的七个步骤
(1)当用户试图访问Internet上的计算机,例如,在浏览器地址栏中输入www.idcbest.com时,就将启动一次DNS查询。
(2)DNS查询的第一站是本地DNS缓存。在用户访问网络上不同的域名时,这些域名对应的IP地址就将存储在本地缓存中,如果用户之前访问过www.idcbest.com,则缓存中就会存有该网站的IP地址。
(3)如果本地DNS缓存中没有该域名的IP,DNS就会用递归DNS服务器进行检查。在互联网上,ISP服务商通常会建设和运维递归DNS服务器。
(4)递归DNS服务器自身具备缓存,如果在其缓存中存有用户查询的IP地址,则会将其直接返回给用户。如果没有,将向其它DNS服务器发起查询。
(5)下一站是TLD域名服务器,当用户查询域名 www.idcbest.com时,存储.cn地址的TLD域名服务器会响应查询请求。该服务器并不存储我们需要的IP地址,但它能够向正确的权限域名服务器转发查询请求。
(6)权限域名服务器用 www.idcbest.com的IP地址响应此次查询,递归DNS服务器将其存储在本地DNS缓存中,并将地址返回给用户的计算机。
(7)用户计算机的本地DNS服务获取www.idcbest.com的IP地址并实施访问。然后,在本地缓存中记录该域名的IP地址,同时记录其生存时间(TTL),即本地DNS记录的有效时间,若用户下次访问该域名的时间超过TTL时间,则下次访问www.idcbest.com时,DNS将再次执行上述过程。
三、DNS查询的分类
DNS查询需要给DNS服务器传递的信息包括:
标准的DNS查询有以下三种类型:
四、DNS缓存
如果每次有任何用户试图访问www.idcbest.com,都必须向权限域名服务器发起对该域名的查询请求,将会产生大量的网络流量!因此,为了使计算机不用在每一次访问某个域名时都向DNS服务器发起IP查询请求,计算机上通常会存储一个自身的域名-IP映射库,这个映射库被称为“DNS缓存”。
但是,DNS缓存方法也存在一些问题,包括:
DNS缓存有以下几种不同的类型:
五、DNS常见漏洞
1. 利用DNS实施探测
一旦攻击者穿透防火墙进入用户内网并控制某台计算机,就可以利用内网的DNS服务查找重要的服务器信息,如邮件服务器、域名服务器等各类有价值的信息。如果攻击者具备足够的技术能力,甚至可能利用内部DNS服务器批量发送用户网络中区的信息,此类攻击被称为“DNS区传输攻击”。
以下给出了在Windows操作系统环境中实现该攻击的流程:
2. 利用DNS实施流量重定向
当用户尝试浏览到某个网站时,他们的计算机会在DNS服务器中查询该网站的IP。如果DNS服务器中存有该记录的缓存,则将直接返回该IP。如果没有,它会查询“上游”DNS服务器,并将结果中继给最终用户,同时缓存该信息以供下次使用。
在目前已知的攻击中,攻击者已经能够伪造DNS响应信息,使其看起来像是来自合法的DNS服务器。要达到这一目标,攻击者可以利用DNS的三个弱点:
一旦攻击者成功伪造了DNS响应消息,则其可以实现篡改接收端DNS服务器的缓存。以下就以一个典型的场景说明这一攻击行为可能造成的严重后果:
假设攻击者了解到用户单位使用外部应用程序来处理经费等重要事务。如果攻击者篡改了用户单位DNS服务器的相关记录,则能够将用户诱骗至攻击者伪造的服务器,诱骗用户在攻击者伪造的登陆页面上录入其账号及口令信息。
更有耐心的攻击者还可能将真实流量转发给真实的服务器(充当“中间人”),因此用户就不会发现攻击正在发生。获取用户的身份信息后,攻击者可以在其他相关系统上尝试使用这些身份信息,或者直接出售这些信息。
3. 利用DNS构建隐通道
假设攻击者已经设法进入了用户单位网络,控制了一台内网计算机,并且已经找到了其想要窃取的关键数据。如何在不留任何痕迹的情况下将数据传输到网外?攻击者可能使用一种被称为“DNS隧道”的技术来实现。通常的做法如下:
(1)攻击者在互联网上设置一个DNS域(如idcbest.com),并创建一个权限域名服务器
(2)在被攻击者控制的主机上,攻击者可以将数据分解为小段并将其插入到一系列DNS查询中,如下所示:
(3)用户单位的DNS服务器将接收这些请求,并将这些请求转发回idcbest.com的权限域名服务器。攻击者在其权限域名服务器接收到上述流量后,则可以运行程序以提取查询信息的第一部分(.idcbest.com前的内容)并将其重新组合,从而将用户网内的数据不留痕迹地传输到网外(此例中传输的数据是“My secret is that I know your data.”)。而用户单位可能永远不会意识到他们的DNS服务器被用于泄露自身的数据。
六、小结
DNS技术已存在了很长时间,互联网上的每台计算机都依赖它。然而,利用DNS进行内网探测、劫持流量并创建隐蔽信道窃取数据,都是DNS服务可能造成的安全问题。幸运的是,通过监控DNS服务器并应用安全数据分析,目前已有大量技术可以检测并阻止这些攻击。
天下数据手机站 关于天下数据 联系我们 诚聘英才 付款方式 帮助中心 网站备案 解决方案 域名注册 网站地图
天下数据18年专注海外香港服务器、美国服务器、海外云主机、海外vps主机租用托管以及服务器解决方案-做天下最好的IDC服务商
《中华人民共和国增值电信业务经营许可证》 ISP证:粤ICP备07026347号
朗信天下发展有限公司(控股)深圳市朗玥科技有限公司(运营)联合版权
深圳总部:中国.深圳市南山区深圳国际创新谷6栋B座10层 香港总部:香港上環蘇杭街49-51號建安商業大廈7樓
7×24小时服务热线:4006388808香港服务电话:+852 67031102
本网站的域名注册业务代理北京新网数码信息技术有限公司的产品