在使用防火墙时DNS的使用方法
- 7/15/2014 1:21:14 PM
- 蓝梦
- 网络安全
- 来源:蓝梦网络营销策划有限公司
- 围观:次
一些机构想隐藏DNS名,不让外界知道。许多专家认为隐藏DNS名没有甚么 价值,但是,如果站点或企业的政策强迫 要求隐藏域名,它也不失为一种已知可行的办法。你可能必须隐藏域名的另外一 条理由是你的内部网络上是不是 有非标准的寻址方案。不要掩耳盗铃 的认为,如果隐藏了你的DNS名,在攻击者打入你的防火墙时,会给攻击者增加困难。有关你的网络的信息可以很容易地从网络层获得 。假定 你有兴趣证实这点的话,无妨 在LAN上“ping”一下子网广播地址,然后再履行 “arp -a”。还需要说明的是,隐藏DNS中的域名不能解决从邮件头、新闻文章等中“泄漏 ”主机名的问题。
这类 方法是许多方法中的一个,它对 希望向互联网 隐瞒自己的主机名的机构很有用。这类 办法的成功取决于这样一个事实:即一台机器上的DNS客户机没必要 与在同一台机器上的DNS服务器对话。换句话说,正是由于在一台机器上有一个DNS服务器,因此,将这部机器的DNS客户机活动重定向到另外一 台机器上的DNS服务器没有任何不妥(并且常常 有好处)。
首先,你在可以与外部世界通讯 的桥头堡主机上建立DNS服务器。你建立这台服务器使它宣布对你的域名具有访问的权利 。事实上,这台服务器所了解的就是你想让外部世界所了解的:你网关的名称和地址、你的通配符MX记录等等。这台服务器就是“公共”服务器。
然后,在内部机器上建立一台DNS服务器。这台服务器也宣布对你的域名具有权利 ;与公共服务器不同,这台服务器“讲的是真话”。它是你的“正常”的命名服务器,你可以在这台服务器中放入你所有的“正常”DNS名。你再设置这台服务器,使它可以将它不能解决的查询转发到公共服务器(例如,使用Unix机上的/etc/ named.boot中的“转发器”行(forwarder line))。
最后,设置你所有的DNS客户机(例如,Unix机上的/etc/resolv.conf文件)使用内部服务器,这些DNS客户机包括公共服务器所在机器上的DNS客户机。这是关键。
询问有关一台内部主机信息的内部客户机向内部服务器提出问题,并得到回答;询问有关一部外部主机信息的内部客户机向内部服务器查询,内部客户机再向公共服务器进行查询,公共服务器再向互联网 查询,然后将得到的答案再一步一步传回来。公共服务器上的客户机也以相同的方式工作。但是,一台询问关于一台内部主机信息的外部客户机,只能从公共服务器上得到“限制性”的答案。
这类 方式假定在这两台服务器之间有一个包过滤防火墙,这个防火墙允许服务器相互传递DNS,但除此以外 ,限制其它主机之间的DNS。
这类 方式中的另外一 项有用的技能 是利用你的IN-ADDR.AROA域名中通配符PTR记录。这将引发 对任何非公共主机的“地址到名称”(address-to-name)的查找返回像“unknown.YOUR.DOMAIN”这样的信息,而非返回一个毛病 。这就满足了像ftp.uu.net匿名FTP站点的要求。这类站点要求得到与它们通讯 的计算机的名字。当与进行DNS交叉检查的站点通讯 时,这类 方法就不灵了。在交叉检查中,主机名要与它的地址匹配,地址也要与主机名匹配。