域名系统DNS域名解析2智能DNS4DNS报文33DNS简介31DNS安全35目录DNS服务器web服务器DNS简介DNS简介域名系统(DNS)规范以Internet工程任务组(IETF)和其他工作组所发布的已批准的RFC为基础,目前提出的DNS相关的RFC标准已超过100件RFC标题时间1034域名-概念和工具1987.111035域名-实现和规范1987.111123Internet主机(hosts)-应用和支持的要求1989.101886支持IP版本6的DNS扩展名1995.121995DNS中的增量区域传输1996.081996提示通知区域更改的机制1996.082136域名系统中的动态更新1997.042181对DNS规范的说明1997.072308DNS查询的负缓存1998.032535域名系统安全扩展1999.032671DNS的扩展机制1999.082782指定服务位置的DNSRR2000.022930DNS的密钥建立2000.093645DNS密钥事务身分验证的通用安全服务算法2003.103646IPv6动态主机配置协议的DNS配置选项2003.12早期,使用HOSTS.TXT存储主机名到IP地址的映射,由SRI(StanfordResearchInstitute)的网络信息中心负责维护,各个主机通过FTP进行更新。目前仍然保留hosts文件/etc/hosts文件:•192.168.100.177center.mycorp.com•192.168.100.178news.mycorp.comDNS简介•如何使域名易于记忆?•如何管理域名数据?(名字冲突,数据更新,传输性能)答案:树状的名字空间名字如同地址,机构,文件夹一样,由大到小,由整体到局部通过某种机制,划分管理区块随着互联网的扩大,主机数量增加,导致域名数量的增加,带来两个问题:DNS简介DNS简介DNS简介DNS对于用户:方便理解和记忆。DNS简介DNS域名服务器:保存有该网络中所有主机的域名和对应地址。根域名服务器:全球共13个,10个位于美国,其余个分别位于英国、挪威、日本———镜像服务器顶级域名服务器:“com”、“edu”等权威域名服务器:存储并维护某个区的信息的域名服务器递归域名服务器:可以将权威服务器返回的各种记录进行缓存从而减少查询次数和提高查询效率,因而也被称为缓存域名服务器或本地域名服务器;为用户提供域名对应的地址,多由运营商掌控域名解析递归查询:服务器必需回答目标IP与域名的映射关系,从客户端到本地DNS服务器属于递归查询;迭代査询:服务器收到一次迭代查询回复一次结果,这个结果不一定是目标IP与域名的映射关系,也可以是其它DNS服务器的地址;DNS服务器之间就是的交互查询就是迭代查询域名解析客户端3.指向cn服务器的参考信息5.指向cnnic.cn服务器的参考信息7.回答()本地缓存服务器根权威服务器cn权威服务器cnnic.cn权威服务器所有应答信息都被缓存浏览器报文DNS定义了一个用于查询和响应的报文格式DNS报文•Identification字段可以看作是报文的ID,用于在应答中匹配发出的查询;•Flag标志字段QR:消息类型:查询(1),响应(0)Opcode:查询类型:标准查询(0),反向查询(1),服务器状态请求(2)AA:授权回答:响应来自缓存服务器(0)还是授权服务器(1)TC:置1时,表示报文由于长度超过了允许的范围被截断RD:查询中置1时表示期望递归查询RA:响应中置1时表示可用递归查询Rcode:取值0-5表示响应出错类型DNS报文•Question字段用来定义查询的问题Domainname:查询名,要查找的域名;Type:查询类型,一般最常用的查询类型是A类型(表示查找域名对应的IP地址)和PTR类型(表示查找IP地址对应的域名)Class:查询类,通常值为1,表示是互联网地址DNS报文•Answer字段定义响应报文Domainname、Type、class与查询报文中的相同TTL:生存时间,客户程序保存该资源记录的秒数ResourceDataLength:资源数据长度ResourceData:资源数据,服务器端返回给客户端的记录数据DNS报文•Answer字段定义响应报文DomainTTLclasstyperdata域名生存周期网络/协议类型资源记录类型资源记录数据报文:4005:c00::93一个域名可以有多种资源记录(A,AAAA)每种资源记录可以有多条一个域名,多个相同类型的资源记录的集合成为资源记录集(RRset),RRset是DNS传输的基本单元,也就是说查询一个域名对应的某种信息,DNS系统不会返回一条RR,而是返回一个RRset。因此一个RRset中所有的RR的TTL是一致的。智能DNS传统的DNS服务器只负责为用户解析出IP记录,而不去判断用户从哪里来,这样会造成所有用户都只能解析到固定的IP地址上。智能DNS会判断用户的来路(如运营商、地区等),而做出一些智能化的处理,然后把智能化判断后的IP返回给用户。智能DNSDNS安全协议漏洞实现漏洞管理、配置漏洞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服务器冗余备份谢谢!