荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: igmp (igmp), 信区: Security
标  题: 转载 -- DNS(BIND)的安全性之一-----如何部署DNS服
发信站: 荔园晨风BBS站 (Mon Jun 25 21:18:44 2001), 转信


外面老吵吵嚷嚷说狼来了,但是狼究竟是怎么来的,也许很多人都不清楚,
以前的讨论里面都局限于针对各种漏洞的分析,但是少有系统的全面的对某个
问题的讨论,这段时间心情不错,决定专门整理出一个专题来,就是专门讨论
DNS的安全性。
    也许有的人会觉得奇怪,DNS的安全性好像很少听人提到,其实,DNS的安全
尤胜过其它的网络安全。我先随便说说DNS的安全隐患:
1.防火墙不会限制对DNS的访问
2.DNS可以泄漏内部的网络拓朴结构
3.DNS存在许多简单有效的远程缓冲溢出攻击
4.几乎所有的网站都需要DNS
5.DNS的本身性能问题可是关系到整个应用的关键
6.国内关于DNS安全的资料太少,只怕狼真的来了的时候,大家来不及操家伙
...
    哎呀,一下子扯开了,大家就当看评书把,;)
    安全的一个重要标志是可用性。对于DNS服务器而言这点尤其重要,在现实
生活中经常定义攻击者入侵系统获取数据为一个安全问题,但是对于DNS服务器
来说,遭到了拒绝服务攻击则是一件更严重的问题。
失去了DNS服务器的话,任何在internet网络上的人将不能够再使用域名找到你
的服务器,不可想像让普通的网民们使用202.106.184.200来代替www.sina.com.
cn
使用。更严重的是,没有了DNS的服务,所有的邮件发送都将失败,而你的内部
网络将由于解析域名的失败而失去和外部网络的联系。

DNS的一些注意事项
    注册了一个域名以后,可以最大为你的域名设置6个DNS服务器名。
例如,microsoft.com公司的就为自己设置了五个DNS服务器来解析自己的域名:
Name Servers:
DNS4.CP.MSFT.NET   207.46.138.11
DNS5.CP.MSFT.NET   207.46.138.12
Z1.MSFT.AKADNS.COM   216.32.118.104
Z7.MSFT.AKADNS.COM   213.161.66.158
DNS1.TK.MSFT.NET   207.46.232.37
    这样,即使这三个中的两个停止了工作,但是了,仍然可以有一个会对外提供
服务,
而对于广大的用户而言,当出现这种多个DNS服务器停止服务带来的唯一的影响
就是查询域名的时候会延迟,因为它需要一个一个的去查询,直到找到最后的一个
为止。
而上面这一个步骤也是你应付恶意攻击者对DNS服务器进行拒绝服务攻击的一个
保护手段。
    一个能够放到电信局使用的DNS服务器,一般的基本配置是一个U,
它应该有足够的RAM来将数据库放入内存中。一般来说,512M是足够用了,
而且值得考虑的是,在你的DNS服务器前面加道防火墙,让防火墙把那些
成天只知道攻击的人阻挡在外面。
    如果你有多个DNS服务器来进行解析域名的工作的话,一个值得考虑的
问题是,如果这些服务器都是处于接近100%的处理量,每个都接近饱和的时候,
那么你应该考虑多再给你的dns服务器减压的问题:一是为了应用上考虑,
其次从安全上来说,如果这样的系统,只要攻击者让一台DNS服务器瘫痪了,
那么繁重的处理工作自然会压垮其它的DNS服务器的。
    如果纯粹从理论上出发,那么一台DNS服务器是完全可以完成所有任务的,
但是对于实际应用而言,应该是在考虑到在失去了一台服务器的情况下,剩下的
应该还能够正常的工作(这就是在做大项目的时候经常说的冗余性和高可用性)。

    前段日子,微软就遭受了沉重的专门针对DNS服务器的攻击,这次是
放在4台DNS服务器前的防火墙成了攻击目标,大量的数据包涌向这个路有器,
从而干扰了正常的DNS通信。导致微软的好几个主要站点都无法给外界提供服务。


    上面是关于DNS设计时的一个基本原则,下面我们来分析一下这则新闻。

                    微软求助Akamai帮忙加固其网络

------------------------------------------------------------------------
--------

http://www.sina.com.cn 2001/01/30 17:15 ChinaByte

  【ChinaByte综合消息】日前,微软的附属网站多次发生瘫痪,一度无法登录

微软发言人称这是其DNS服务器所引起的故障。该公司承认,它配置基础设施的方

,给了黑客可乘之机。该公司在某单一网络上运行着所有4台重要的DNS服务器。
攻击微软网站的黑客,显然将矛头对准了该网络中用来指引数据流量的路由器,
通过发送大量数据,使需要进行域名解析的数据无法抵达DNS服务器。

------------------------------------------------------------------------
--------

对这次攻击的分析如下:
    在1月30号前,可以查询微软的DNS的配置结果如下:
DNS4.CP.MSFT.NET 207.46.138.11
DNS5.CP.MSFT.NET 207.46.138.12
DNS6.CP.MSFT.NET 207.46.138.20
DNS7.CP.MSFT.NET 207.46.138.21
Z1.MSFT.AKADNS.COM 216.32.118.104

    可以看到,在这个以前的DNS设计中,微软的用来解析自己网站的DNS服务器显
然都在
同一个路由器(或防火墙设备)后面,而这次黑客的攻击只所以得逞,就是在于他
们攻击
了这个路由器(或防火墙),让大量的数据包堵塞了这个路由器(或防火墙),而
正常的
DNS解析请求无法到达内部的四个DNS服务器上。从而导致了,微软的附属网站多次
发生瘫痪。

    通过上面的分析,我们再来看看目前微软新的DNS布置计划,这是今天的微软

DNS配置结果如下:
DNS4.CP.MSFT.NET   207.46.138.11
DNS5.CP.MSFT.NET   207.46.138.12
Z1.MSFT.AKADNS.COM   216.32.118.104
Z7.MSFT.AKADNS.COM   213.161.66.158
DNS1.TK.MSFT.NET   207.46.232.37
    可以看到,最大的改变莫过于取消了4台放置在同一个路由器后面的DNS,而将
DNS的解析
任务分布到了其它的地方,而这其它的DNS服务器显然已经不再是在同一个路由器
后面了。

    其实,这里面提到的只是对DNS的拒绝服务导致了网站整个瘫痪的示例以及如
何防御的
办法,其实DNS的安全问题在许多安全威胁列表里面一向都是名列三甲之中的,以
后我想陆续来
说明一下这个问题。

        DNS(BIND)安全性之二
            ------目前DNS(BIND)存在的安全威胁
    在DNS存在的安全隐患到底能够对系统造成多大的威胁,入侵者是对其中的
哪些内容感兴趣了,我将在下面稍微作一个简单的描述。只有知己知彼,才能够
百战不殆啊,:)。而且我相信只要是一个称职的管理员,当他在看了下面的内容
后,他就一定会把DNS的安全问题摆在当处理整个系统安全这个步骤中的重要地位
了。
    DNS带来的安全威胁主要来自一下几个方面:

1.拒绝服务攻击
    有关这个的描述我在我的描述dns的第一篇文章里面已经有了详细的说明。
这里只是罗列出它而已。

2.设置不当的DNS将泄漏过多的网络拓朴结构
    如果你的DNS服务器允许对任何人都进行区域传输的话,那么你的整个网络
架构中的主机名,主机IP列表、路由器名,路由器IP列表,甚至包括你的
机器所在的位置等等。
    下面举一个简单的例子,以下是Redhat.com公司的DNS告诉我们的情况:
    PS:由于列表太长,我有删节(一共213个地址)

redhat.com.                    SOA    ns1.redhat.com noc.redhat.com.
(200102060
2 3600 1800 604800 86400)
redhat.com.                    NS     ns1.redhat.com
...

news                           CNAME  stan.redhat.com
...
*                              MX     10   mail.redhat.com
lists                          A      199.183.24.247
juju                           A      199.183.24.212
updates                        A      216.148.218.193
...
wildstar.community             A      199.183.24.202
...
acme                           A      199.183.24.76
rooter                         A      199.183.24.250
iad                            NS     ns1.redhat.com
iad                            NS     ns2.redhat.com
iad                            NS     ns3.redhat.com
mail                           A      199.183.24.239
bridger                        A      199.183.24.75
archive                        A      216.148.218.195
mojo                           A      199.183.24.213
contrib                        CNAME  ftp.redhat.com
...
router-ext.soma                A      205.149.7.26
tunnel.soma                    A      205.217.45.82
firebox-ext.soma               A      205.217.45.80
bugzilla                       A      199.183.24.198
...
ftp                            A      216.148.218.201
rh-mirror                      CNAME  wallace.redhat.com
...
redhat.com.                    SOA    ns1.redhat.com noc.redhat.com.
(200102060
2 3600 1800 604800 86400)

从上面的这个列表里面我们可以很清楚的看到redhat.com这个网站的内部网络拓朴
结构
这个方法可比使用nmap去扫描整个网段还来得轻松,并且还可以每台机器的关系获

到对一个入侵者来说可能很要命的信息。


3.利用被控制的dns服务器入侵整个网络,破坏整个网络的安全完整性。
    当一个入侵者控制了dns服务器后,他就可以随意篡改dns的记录信息,甚至使
用这些
被篡改的记录信息来达到进一步入侵整个网络的目的。例如,将现有的dns记录中
的主机信息
修改成被攻击者自己控制的主机,这样所有到达原来目的地的数据包将被重定位到
入侵者手中,
在国外,这种攻击方法有一个很形象的名称,被称为dns毒药,因为dns带来的威胁
会使得整个
网络系统中毒,破坏了完整性。
    举例如下:如果一个做在线交易的网络公司www.DnsPoison.com的主dns服务器
被人控制,
如果原来的www.DnsPoison.com是解析到192.168.0.2,那么入侵者可以篡改这个主
dns
的记录,将其重新解析到10.0.0.2,而这个10.0.0.2上也运行一个模仿了www.
DnsPoison.com
提供在线交易的网站,那么根本不知内情的用户就会在这个假的地址输入他们的密
码和用户名
其实这些信息已经被入侵者盗窃。

4.利用被控制的dns服务器,绕过防火墙等其它安全设备的控制
    现在一般的网站都设置有防火墙,但是由于DNS服务的特殊性,在*nix机器上
,dns需要的端口
是UDP 53和TCP 53,它们都是需要有root执行权限的。这样防火墙很难控制对这些
端口的访问,
入侵者可以利用dns的诸多漏洞获取到dns服务器的管理员权限。
    如果内部网络的设置不合理,例如dns服务器上的管理员密码和内部主机管理
员密码一致,
dns服务器和内部其它主机处于同一个网段,dns服务器处于防火墙的可信任区域等
等,就相当于
给入侵者开了一个打开系统大门的捷径。

    呵呵,有关DNS的安全威胁先介绍这么多把,其实上面还只是我所知道的有关
dns安全威胁的
冰山一角而已。在后续的文章里面将逐一就如何来设置一个安全的dns服务器,以
及如何来评估检测
一个安全的DNS服务器进行探讨。


                                batman
                                草于2001年2月14日


--
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.43.46]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店