信息安全学习----DNS部署与安全

一、DNS基础知识

1、作用:

为客户机提供域名解析服务器

2、域名组成

www.baidu.com

.为根域

www 主机名

baidu.com称为域名(全球唯一)

“主机名.域名” 称为完全域名(FQDN)

命名其主机的时候会根据其主机的功能命名

网页www;blog博客,bbs论坛,mail邮箱

3、域名结构(树形)

3、监听端口:

TCP53;UDP53

4、DNS解析种类

按照查询方式:

1)递归查询:客户机与本地DNS服务器之间、DNS转发器(所见即所得)

2)迭代查询:本地DNS服务器与根等其他DNS服务器的解析过程(所见非所得)

按照查询内容分类:

正向解析:已知域名,解析IP地址

反向解析:已知IP地址,解析域名

命令:

ipconfig 查看网卡部分信息

ipconfig /all 所有网卡信息

ipconfig /release 释放IP

ipconfig /renew 重新获取ip

ipconfig /displaydns 查看dns缓存

ipconfig /flushdns 清空dns缓存

二、DNS部署与安全:

1、固定服务器IP地址

2、安装DNS服务器

直接下一步,到最后点击安装即可

创建正向区域

新建区域名称

创建DNS文件名称,保持默认即可

取消动态更新

创建主机

3、查看开启DNS服务器是否开启

netstat -an

DNS服务其类型:

主要名称服务器

辅助名称服务器

跟名服务器

高速缓存名称服务器

客户机域名请求解析顺序:

DNS缓存—本地hosts文件----找本地DNS服务器

服务器对域名请求处理顺序:

DNS高速缓存-----本地区域解析文件-----转发器-----根

清除DNS缓存:ipconfig /flushDNS

手工解析DNS: nslookup 域名或者IP地址

DNS存在的安全

  1. DNS欺骗

攻击者在自己的主机上安装网络侦听器,劫持域名查询请求,然后假冒DNS的响应,返回一个错误的解析地址,使发出该域名查询请求的客户机得到一个的解析地址;

攻击者通过污染DNSDE缓冲区将DNS高速缓存内的信息修改由于DNS的解析过程先由本地缓存中查找解析域名的IP地址,当本地的缓存内的信息被修改后,就将一个被篡改的IP地址发过请求者,是请求者获得一个错误的解析地址。

攻击者侵入操作系统,获得管理员权限,直接修改DNS数据文件。
(1)缓存感染

黑客会熟练的使用DNS请求,将数据放入一个没有设防的DNS服务器的缓存当中。这些缓存信息会在客户进行DNS访问时返回给客户,从而将客户引导到入侵者所设置的运行木马的Web服务器或邮件服务器上,然后黑客从这些服务器上获取用户信息。

(2)DNS信息劫持

入侵者通过监听客户端和DNS服务器的对话,通过猜测服务器响应给客户端的DNS查询ID。每个DNS报文包括一个相关联的16位ID号,DNS服务器根据这个ID号获取请求源位置。黑客在DNS服务器之前将虚假的响应交给用户,从而欺骗客户端去访问恶意的网站。

(3)DNS重定向

攻击者能够将DNS名称查询重定向到恶意DNS服务器。这样攻击者可以获得DNS服务器的写权限。

2.拒绝服务攻击

黑客主要利用一些DNS软件的漏洞,如在BIND 9版本(版本9.2.0以前的 9系列)如果有人向运行BIND的设备发送特定的DNS数据包请求,BIND就会自动关闭。攻击者只能使BIND关闭,而无法在服务器上执行任意命令。如果得不到DNS服务,那么就会产生一场灾难:由于网址不能解析为IP地址,用户将无方访问互联网。这样,DNS产生的问题就好像是互联网本身所产生的问题,这将导致大量的混乱。

3、分布式拒绝服务攻击

DDOS 攻击通过使用攻击者控制的几十台或几百台计算机攻击一台主机,使得服务拒绝攻击更难以防范:使服务拒绝攻击更难以通过阻塞单一攻击源主机的数据流,来防范服务拒绝攻击。Syn Flood是针对DNS服务器最常见的分布式拒绝服务攻击。SYN Flood攻击利用的是IPv4中TCP协议的三次握手(Three-Way Handshake)过程进行的攻击。

4.缓冲区漏洞溢出攻击

黑客利用DNS服务器软件存在漏洞,比如对特定的输入没有进行严格检查,那幺有可能被攻击者利用,攻击者构造特殊的畸形数据包来对DNS服务器进行缓冲区溢出攻击。如果这一攻击成功,就会造成DNS服务停止,或者攻击者能够在DNS服务器上执行其设定的任意代码。主要包括:

(1) 更改MX记录,造成邮件被截获、修改或删除。

(2)更改A记录,使您的WWW服务器的域名指向黑客的具有同样WWW内容的主机,诱使访问者登录,获取访问者的密码等相关信息。添加A记录,使黑客的主机拥有被相信的域名,以此来入侵通过启用域名信任机制的系统。

(3)利用这台主机作为攻击其他机器的“跳板”。

预防:

1、及时更新版本和补丁(针对Linux)
2、防止单点故障;
3、限制区域传输;
4、专用DNS服务器;
5、限制动态更新和递归查询
6、DNS域名服务器放置DMZ区
7、包过滤防护;
8、网络拓扑限制
9、DNS服务器的冗余备份
10、DNS清洗服务

三、练习

1、主要DNS服务器:客户机要指向DNS,练习清空DNS缓存,练习nslookup手工解析
客户机要指向DNS
Windows server 2008IP地址设置

windows server 2008服务器DNS正向查找区域设置
在Windows 7 测试:

nslookup www.test.com

2、反向解析
windows server 2008服务器DNS反向查找区域设置
在Windows 7 测试:

ping www.test.com


3、辅助DNS服务器:成功更新区域解析记录
Windows sever 2008作为主DNS服务器设置:
在辅助DNS服务器设置:
新建以一个辅助区域:

与主DNS服务区名称一致:
创建完成后,按F5刷新

4、转发器/根

Windows server 2008 作为转发DNS服务器
Windows server 2003作为根服务器

Windows server 2008设置:
Windows server 2003设置:
在Windows sever 2008测试:

5、别名

6、将xp 与2008桥接上网,部署2008DNS服务器,xp指向2008,并能实现正常上网
示意图:

一般情况直接用虚拟机的网络连接将电脑连接起来,让虚拟机中的电脑处于同一网络,在连接外面的网络。桥接就是虚拟机中的电脑直接连接外面的网络,与外部的有线网卡、无线网卡共享,由外部直接分配IP地址信息给虚拟机中的电脑,从而实现虚拟机与外部网络连接。

四、总结

  1. 了解客户机域名请求解析顺序
  2. 了解服务器对域名请求处理顺序
  3. DNS解析种类
  4. DNS存在的安全以及预防手段