Windows DNS 服务器泄露管理员的用户名 |
|
| 2004-05-22 Y.L. |
| |
保护你的网站和你的管理员身份不会因为Windows NT 和 Windows 2000 DNS服务器的安全漏洞而遭到破坏 。
一个姓名当中含有什么?对于一个不怀好意的用户来说,获得管理员的用户名是破坏网站的第一步。用微软的DNS服务器,这第一步几乎是举手可得的。KeyLabs测试已经验证了BugNet审稿人Roy Hills首次提出的一个安全漏洞。Hills是 NTA Monitor Ltd,一个互联网安全服务公司的常任董事,他指出查询Windows NT和Windows 2000的Windows DNS服务器时,将在这个服务器为DNS权威的所有域的Start of Authority (SOA)记录的联系区域中输出管理员的帐号。
下面几页将讲述这个漏洞如何产生和怎样避免。
这个漏洞是如何产生的
回溯到互联网规模小,地址分辨(将一个点com的主机名转换为一个IP地址的过程)是用主机文件完成的时候。这些主机文件包括一个IP地址列表和域名。当一台计算机试图找到一个域,它将在主机文件中查找域名以找到其对应的IP地址。随着互联网的扩展,这个任务变得越来越不可能——不仅是存储所有不同的主机名,而且要跟上不断增长的地址变化数量。解决办法就是建立一个域名服务器或DNS。
DNS服务器是一个将英文形式的域名翻译成IP地址的计算机。所以并不是将你可能要访问的每一个网址放入一个主机文件,你的浏览器只是将你的计算机指向一个DNS服务器,让服务器将域名转换为一个IP地址。由于DNS服务器和其它的DNS服务器一起工作,如果一个域名服务器没有你要找的地址,它就会到其它的DNS服务器查询这一信息。
Start of Authority或SOA是一个DNS记录,指明一个特殊DNS服务器是特殊的互联网域的权威。换句话说,SoA告诉其它的互联网世界哪一个DNS服务器是一个资源域和一个特殊域的地址分辨信息。Windows NT 和2000服务器通过它们的DNS服务提供IP/域名地址分辨。问题是如果一个不怀好意的用户在一个特殊域的SOA记录中发出一个域名查询请求,Windows NT 和 Windows 2000 DNS服务器将创建DSN域的管理员的用户名。
例如,如果一个Windows NT或Windows 2000 DNS服务器是关于mycooldomain.com的SOA,并且有人对这个DNS服务器运行了NSLOOKUP,他们将得到类似下面的一行。mycooldomain.com. 86400 SOA ns.domain.com. administrator.mycooldomain.com
微软的安全策略推荐Windows管理员将默认的管理员用户名从"administrator"改变为更秘密的设置。因为一个恶意的用户首先就要试一试administrator是否可以。然而,即使你将默认的管理员用户名改为象"secretadmin"一类的名字。Windows的DNS管理将用用户名secretadmin产生SOA记录。
例如,创建一个名为"lamedomain.com"的新域当被登录时"secretadmin"将产生如下的NSLOOKUP记录lamedomain.com. 86400 SOA ns.domain.com. secretadmin.lamedomain.com
一个有效的办法
幸运的是,有一个简单的工作可以解决这一问题 。负责创建和管理DNS记录的管理员可以将“负责人邮箱DNS域名”改变的如“postoffice@domainname.com”一般普通。这样当人们查询SOA记录时仅仅会得到一个无害的电子邮件地址而不是管理员的用户名。要改变“负责人……”信息,输入Windows NT 或Windows 2000域名服务管理并选择SOA记录。将“负责人邮箱DNS域名”域改为不会暗示任何管理员用户名的内容。图A显示了一个虚构的BugNet域的SOA记录窗体。
图A: 用域名e-mail服务管理改变负责人邮箱DNS域名
微软已承认了这个安全问题并说一个补丁正被开发并将在Windows 2000的SP2中可用。但Windows NT管理员仍然不得不使用上面提到的办法。
|
|
| |
|
发表评论
推荐文章
关闭窗口
|
|
|
|