NT系统的安全策略-- 徐 彬 贺蕴普 刘雪宁 中国科学院广州化学研究所 当年WINDOWSNT刚刚推出的时候,人们还在怀疑这样一个原代码非公开性的操作系统如何能占领服务器市场,但随着1996年NT4.0的推出,越来越多的使用者开始使用NT来构建自己的网络平台,WINDOWS NT的优点也慢慢被人们所发现:使用简单、图形化界面友好、稳定性也可以接受(较之WINDOWS系列的不稳定而言)、开发工具完善等。今年WINDOWS2000的发布更加坚定了微软抢占服务器市场的决心,特别是windows 2000 ADVANCE SERVER,WINDOWS 2000 DATACENTER及群集技术的推出更是说明了微软决心要进军高端服务器市场,与UNIX和Linux三分天下。 但是,仅仅是使用简单是不够的,作为一个安全级别为C2级以及原代码非公开性的操作系统,NT从一推出来便漏洞百出。NT4.0从推出至今已有了6个服务升级包(微软不好意思称之为补丁),每一个都有几十兆之巨,下载的时候令人痛苦万分。NT系统的安全性不好是因为其复杂的结构和源代码不对外公开,整个操作系统只有微软自己可以修改,不象LINUX及多种UNIX系统,内核的源码是公开的,当一个安全性问题或漏洞被发现后,全球许多优秀的程序员都可以参与修改,使得LINUX、UNIX系统的错误很快被修正。所以当NT的漏洞被发现后,人们首先看到的是MICROSOFT安全公告上的长篇大论的解释或是让你删除出问题的组件,随后就是耐心的等待,直到补丁或服务升级包的推出。 WINDOWS 2000的推出并没有改变NT系统安全性不好的问题,让我们一起来看看WINDOWS 2000安装时出现的一个漏洞:在Windows 2000安装过程中未对ADMIN$进行保护,也就是说当安装过程中第一次输入管理员密码到下一次重新启动前,任意网络用户都可以不用密码而通过直接连接ADMIN$共享来访问系统,即在网络共享输入:\\服务器名\ADMIN$ 从而进入系统。所以建议大家在安装WINDOWS 2000的时候物理隔断服务器的网络连接。 从上面的例子可以看出,Windows NT系列并不是令人放心的系统,我们需要了解NT系统的漏洞,了解黑客的入侵方式,定出我们的安全策略。 一、NT系统的漏洞 1. 密码: 对任何人来讲,较短的密码都是极不安全的,Windows NT的密码实际上没有以文件形式保存,而是一些杂乱的暗码夹杂在某些文件的内部。已经发现包含有NT密码的文件有8个,包括\WINNT\rapair\sam._,这个文件中包含管理员的密码,以及\WINNT\system32\inetsrv\ MetaBase.bin,这个文件中包含有IUSR_ComputerName等帐号的密码。破解NT的密码有许多小工具,比如L0phtCrack这个小软件,从菜单中选取注册表获取信息或从SAM文件中获取信息,对于六位数密码(不包含特殊字符),一般情况下20分钟内可以解出来(当然,破解机器的速度不能太慢)。所以对于管理员的密码,最好是8-9位,而且要带有特殊字符。 2. IIS: Internet Information Server是一个很好用的WEB和FTP服务平台,由于IIS与ASP脚本语言及ACTIVEX控件紧密结合,用户可以在服务器端用简单的脚本作出功能强大的数据库查询及动态WEB页面,另外IIS也提供了远程管理的功能,使用户通过WEB可以对IIS进行管理。虽然IIS简单好用,但是漏洞百出。我们知道ASP脚本语言的一大好处是无法查看源代码,所有的ASP脚本均在服务器端执行,客户端得到的是程序执行的结果,得不到ASP脚本的源代码,这在一定程度上保护了开发者的利益。但是IIS3的一个经典漏洞便暴露了ASP脚本的源代码,只要在浏览器里加上几个特殊字符,便可以看到源码,如(假设要访问的文件为http://www.test.com/test.asp),在浏览器地址框内敲入红框内的内容,即可在查看源码中看到整个ASP源码。当然,这个漏洞已被补上,但现在已知能查看ASP源码的漏洞已有六个,真是令人防不胜防。下面我们来看看最近的一些典型的漏洞: (1)sHtml.dll的问题 在NT4+ Frontpage Extention以及WINDOWS2000的"_vti_bin" 的虚拟目录下有一个文件shtml.dll,目的是用来浏览smart HTML文件。如果在windows2000上安装Frontpage,将在web根目录下创建一个 "_vti_bin" 的虚拟目录,shtml.dll是位于该目录下的文件之一。当我们要访问的文件不存在的时候,例如访问一个根本不存在的aaa.html,则会返回一个错误信息,而其中也会包含WEB的本地路径信息。获取WEB的本地路径信息对黑客来说是一件开心的事,是他准备入侵系统所做的准备工作中的重要一步。更糟的是由于注意到shtml.dll对较长的带html后缀的文件名都会进行识别和处理,利用这一点,可以对IIS服务器执行DOS攻击。 D.O.S(Denial of Service):拒绝服务攻击,是指一个用户占据了大量的共享资源,使系统没剩余的资源给其它用户再提供服务的一种攻击方式。拒绝服务攻击的结果可以降低系统资源的可用性,这些资源可以是CPU、CPU时间、磁盘空间、Mode、打印机、甚至是系统管理员的时间,往往是减少或者失去服务。 拒绝服务攻击是针对IP实现的核心进行的,它可以出现在任何一个平台之上。 利用shtml.dll的漏洞,通过编制一小段的D.O.S攻击程序,便可以使目标的资源耗尽。 建议:禁止 /_vti_bin 目录远程访问。 (2) 过长的ida后缀使IIS5.0服务崩溃 这也是一个典型的D.O.S漏洞,对于IIS4+SP4以及IIS5,只要在所要访问的URL后面粘贴25K的字符,如:http://www.test.com/…….(25k)…ida,然后加上后缀ida,就会使IIS的服务停止。 建议:将无用的应用程序映射删除。 (3)关于MSADC目录下的两个漏洞 两个漏洞均为IIS4的漏洞,IIS4若安装了范例文件则会在/wwwroot下生成/msadc目录,其中有两个文件带来了漏洞: Showcode.asp:这是一个ASP的范例文件,通过它我们可以查看ASP源码甚至是系统配置文件。例如我们想要看的是test.asp: Msadcs.dll: 这是一个允许通过web远程访问ODBC,获取系统的控制权的文件,微软为此发布过补丁,但没有彻底解决问题,黑客可以通过该文件通过vb函数调用VbBusObj请求或shell,从而获得系统最高权限。 建议:删除MSADC目录及Msadcs.dll。 (4) 微软的动态库文件与Netscape 在装有Frontpage Extion Server的IIS 服务器上,有两个动态库文件 dvwssr.dll,mtd2lv.dll被发现有后门,所谓后门也就是程序开发者设计程序时留下的供自己日后可随意访问系统的入口,一般是有口令的,这个后门的功能是允许用户远程读取asp、asa和CGI程序的源代码,但要求解码后才能发挥读取asp等源程序的功能,有趣的是这个后门的密码竟然是"Netscape engineers are weenies!"。微软的操作系统已经不止一次被人发现有后门了,但是密码如此有攻击性确实少见。另一方面,发展我们中国自己的操作系统是势在必行了。 建议:删除dvwssr.dll。 二、黑客的入侵方式 黑客经常端坐在电脑面前,废寝忘食,他们大部分的时间是在寻找主机,查找漏洞,然后进入你的系统。但是黑客不完全等于入侵者,好的黑客会帮你查找系统的漏洞,然后告诉你解决方法,但我们不能期望只碰到善意的黑客,我们必须了解黑客入侵的方法(由于本文并不是黑客教程,故具体操作内容从略): 1. 查找指纹 这是入侵的最重要的一步,首先使用的工具是PING。查找想要入侵的一段IP地址,如果没有任何机器,再换一段,直到找到目标。然后判断它是否是NT服务器?你可以这样判断 (1) Telnet远程登录到它的21号端口(ftp),看它是不是显示nt信息。 (2) 检查一下服务器是否只是说它在运行什么(检查它们的页面)。 (3) 试一下NBTSTAT -A [ip address]看它的回应。如果未出错,并出现相关的共享信息,就可以得到结果了。 然后就是用一些端口扫描器扫描目标机器所运行的服务,从而判断从那一个端口进攻。 2. 寻找漏洞 运行类似letmein.exe这样的程序可以对目标机器的帐号进行攻击,并取得相应的密码。另一个方法是由NBTSTAT -A [ip address]得到目标机器详细的共享目录,然后编辑本地文件c:\windows\lmhosts(LMHOSTS文件是一个包含NetBIOS到IP地址映射的简单文本文件),将目标主机IP解析加入,然后尝试连接目标机的共享逻辑盘。SNIFFER也是黑客常用的工具,用SNIFFER可以分析各种信息包可以很清楚的描述出网络的结构和使用的机器,由于它接受任何一个在同一网段上传输的数据包,所以也就存在着SNIFFER可以用来捕获密码,EMAIL信息,秘密文档等一些其他没有加密的信息。所以这成为黑客们常用的扩大战果的方法,夺取其他主机的控制权。当然最容易入侵的是IIS及FTP,黑客可以用自制的小程序监听IIS及FTP,发现未加密的密码,以及如上文所讲的利用IIS及FTP的已公开的漏洞,逐个尝试进行入侵。 3. 入侵系统 能入侵系统的人不一定都是坏人,但典型的破坏者入侵后会更改你的首页,窃取你的帐号密码,下载你硬盘的重要资料,在你的系统里放入木马程序,运行DOS攻击程序,或利用你的机器作为向别人发动攻击的中转站。 三、安全策略 为了防止恶意的入侵,我们必须定出详细的安全策略: 1.硬件或软件的防火墙是必须的,同时也是有效的,防火墙可以抵挡大部分的恶意进攻,也可以记录进出网络的每一个包的简要信息,为日后查找入侵记录提供了方便。但防火墙并不是买回来就摆在那里,它需要细心的配置和升级。 2. 硬盘最好Format 成NTFS格式,经常看看一些安全站点,使用最新的Service Pack,并时常打一些微软发布的小补丁。 3. 删除不必要的网络共享,可以命令net share /d。那些为了管理而设置的共享,如C$,D$,ADMIN$,删除后重启就又共享了,所以必须通过修改注册表的方法来实现,对NT4,可以修改HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Services\LanmanServer\Parameters 的 AutoShareServer
[1] [2]
(出处:http://www.sheup.com)
[1] [2]