加载中…
个人资料
eagerlinuxer
eagerlinuxer
  • 博客等级:
  • 博客积分:0
  • 博客访问:14,638
  • 关注人气:2
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

DNS 安全小计

(2011-04-26 10:46:59)
标签:

dns

安全

分类: DNS

    今天,有个很久以前在公司的同事发邮件给我,他说我们的DNS有安全问题,他可以列出我们公司线上DNS域下的所有域名和IP地址。我感到非常惊讶DNS <wbr>安全小计,因为这是一个很严重的安全问题,对于一个黑客来说,等于他得到了公司所有对外服务域名和机器的外网IP地址。还好,我们没有把交换机的IP及内网IP也加到DNS中去,不然公司线上整个网架构都暴露在别人眼前了。

    用nslookup命令试了一下,的确是可以把整个域下的域名和IP全部给list出来:

    nslookup

    > server 114.xxx.xxx.xx

    > set type=any

   ls xxx.com

    用上面的命令,就可以把我们公司某个域个的所有域名和IP全部给list出来了。

 

    问题原因 :一定是线上的DNS服务器设置出问题了。在网上查了一下,之所以会出现上面的问题,是因为公司线上DNS把区域传输给全开了。全开的原因是在配置DNS的时候,没有设置allow-transfer ,默认情况下,如果没有设置allow-transfer,那么区域传输就会对所有IP开放。

    解决方法:在named.conf文件的options选项中增加如下配置:  allow-transfer {"none";};

              用rndc重启named

    测试是否成功:

      > server 114.xxx.xxx.xx
      Default Server:  xx.xx.xx.com
      Address:  114.xxx.xxx.xx

      > set type=any
      > ls xxx.xxx.com
      [xxx.xxx.xxx.xxx]
      *** Can't list domain xxx.xxx.com: Query refused
      > quit

    恩,问题解决了DNS <wbr>安全小计

   

    痛定思痛DNS <wbr>安全小计,我还是总结一下DNS安全方面的建议:

    1、使用比较新版本的bind软件,并在配置中把相关的版本信息给隐藏掉。

       配置举例:在named.conf的options中设置  version         "[secured]";

    2、把DNS服务器放到不同的机房中,以防机房网络出现问题,影响用户访问。建议是至少电信和联通机房各放一个

    3、限制可做递归查询的IP范围,如只为公司内部进行解析服务。

       配置举例:在named.conf配置 allow-recursion { inner; };

    4、限制区域传送的IP范围,这个上面已经说的很清楚了DNS <wbr>安全小计

    5、为了减少DNS投毒攻击的威胁,将权威DNS服务器(这些服务器负责解析某些特定的域名)与缓存 DNS 服务器(这些服务器负责代替其他机器解析域名,并将结果在其本地缓存,以减少权威 DNS 服务器负载和不必要的网络间流量)分开部署。

    6、在DNS服务器上,只跑DNS服务,还混放其它对外的网络服务。

    7、在DNS服务器上,让bind程序使用普通用户来跑,并使用chroot。

    8、也不要轻易透露服务器其他信息。为了让潜在的黑客更难得手,建议不要在DNS配置文件中使用这HINFO 和 TXT两个资源记录。

    9、合理的设置SOA值,不要把刷新查询或区域传送时间设置的太小。

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有