DNS 作用

DNS简介

DNS域名服务器:保存有该网络中所有主机的域名和对应地址。

DNS域名等级

根域名服务器:全球共13个,10个位于美国,其余个分别位于英国、挪威、日本———镜像服务器 顶级域名服务器:“com”、“edu”等 权威域名服务器:存储并维护某个区的信息的域名服务器 递归域名服务器:可以将权威服务器返回的各种记录进行缓存从而减少查询次数和提高查询效率,因而也被称为缓存域名服务器或>本地域名服务器;为用户提供域名对应的地址,多由运营商掌控

域名解析

递归查询:服务器必需回答目标IP与域名的映射关系,从客户端到本地DNS服务器属于递归查询; 迭代査询:服务器收到一次迭代查询回复一次结果,这个结果不一定是目标IP与域名的映射关系,也可以是其它DNS服务器的地址;DNS服务器之间就是的交互查询就是迭代查询

智能DNS

传统的DNS服务器只负责为用户解析出IP记录,而不去判断用户从哪里来,这样会造成所有用户都只能解析到固定的IP地址上。 智能DNS会判断用户的来路(如运营商、地区等),而做出一些智能化的处理,然后把智能化判断后的IP返回给用户。

DNS报文

DNS定义了一个用于查询和响应的报文格式

Identification 字段可以看作是报文的ID,用于在应答中匹配发出的查询; Flag 标志字段

QR: 消息类型:查询(1),响应 (0) Opcode: 查询类型:标准查询(0),反向查询(1),服务器状态请求(2) AA: 授权回答:响应来自缓存服务器(0)还是授权服务器(1) TC: 置1时,表示报文由于长度超过了允许的范围被截断 RD: 查询中置1时表示期望递归查询 RA: 响应中置1时表示可用递归查询 Rcode:取值0-5表示响应出错类型 Question字段用来定义查询的问题

Domain name:查询名,要查找的域名; Type:查询类型,一般最常用的查询类型是A类型(表示查找域名对应的IP地址)和PTR类型(表示查找IP地址对应的域名) Class:查询类,通常值为1,表示是互联网地址 Domain name、Type、class与查询报文中的 相同 TTL:生存时间,客户程序保存该资源记录的秒数 Resource Data Length:资源数据长度 Resource Data:资源数据,服务器端返回给客户端的记录数据

Answer字段定义响应报文 一个域名可以有多种资源记录(A,AAAA) 每种资源记录可以有多条 一个域名,多个相同类型的资源记录的集合成为资源记录集(RRset),RRset是DNS传输的基本单元,也就是说查询一个域名对应的某种信息,DNS系统不会返回一条RR,而是返回一个RRset。因此一个RRset中所有的RR的TTL是一致的。

DNS安全

DNS 提供Internet 上的基本服务,安全防护系统不会对查询进行任何限制,所以对DNS的***都可以伪装成正常的查询访问。 DNS 服务器完全暴露在***之下,基本无法受到一些安全防护系统如防火墙、***检测系统的保护

协议漏洞

DNS缺乏认证机制,数据传送时未加密,容易被截获和篡改,请求端无法验证数据完整性

数据包欺骗***

缓存中毒***

直接DOS(拒绝服务)***

DNS放大***

DNS 实现漏洞

DNS 服务器的实现软件也存在着多种漏洞

例:Bind软件存在的漏洞 CVE-2007-2241。如果开放递归,远程***者可以发送一连串的由query_addsoa 函数处理的查询,使服务器后台程序退出,造成事实上的拒绝服务。 CVE-2007-2926。使用弱的随机数生成器生成DNS序列号,者容易猜测下一个序列号以进行缓存中毒。 CVE-2009-0696。当服务器配置成一个主域名服务器时,***者通过在伪造的动态更新消息的前提部分添加一个ANY 类型的记录可以引起服务器拒绝服务。 CVE-2011-4313。当在query.c中记录一个错误时,会引起解析器崩溃。

DNS 管理和配置漏洞

域名注册***:通过对域名注册管理公司中的注册域名记录进行非法改变使之指向其他Web主机; 服务器冗余失效:许多站点仅有一台服务器,无法实现容灾备份 解析路径篡改:***者会利用病毒、***将受害者使用的域名服务器设置为自己控制的服务器,受害者发出的域名请求都将传送至这个虚假服务器,***者可以伪造任意的响应以窃取受害者的个人信息。

DNS 安全增强

通过DNS服务器本身的配置以及与防火墙等的合作来加强DNS的安全性 包过滤防护  防火墙保护 网络拓扑限制 部署IDS***检测系统 DNS 缓存定时清洗 DNS 服务器冗余备份