目前,WIN2000 SERVER是比较流行的服务器操作系统之一,但是要想安全的配置微软的这个操作系统,却不是一件容易的事。本文试图对win2000 SERVER的安全配置进行初步的探讨。
一、定制本人的WIN2000 SERVER:
1.版本的选择:Win2000有各种言语的版本,对于我们来说,可以选择英文版或简体中文版,我强烈建议:在言语不成为妨碍的情况下,请一定使用英文版。要知道,微软的产品是以Bug & Patch而著称的,中文版的Bug远远多于英文版,而补丁普通还会迟至少半个月(也就是说普通微软发布了漏洞后你的机子还会有半个月处于无保护情况)
2.组件的定制:
Win2000在默认情况下会安装一些常用的组件,但是正是这个默认安装是极度危险的(米特尼科说过,他可以进入任何一台默认安装的服务器,我虽然不敢这么说,不过如果你的主机是Win2000 SERVER的默认安装,我可以通知你,你死定了)
你应该确切的知道你需求哪些服务,而且仅仅安装你确实需求的服务,依据安全准绳,最少的服务+最小的权限=最大的安全。
典型的WEB服务器需求的最小组件选择是:只安装IIS的Com Files,IIS Snap-In,WWW Server组件。如果你确实需求安装其他组件,请慎重,特别是:Indexing Service, FrontPage 2000 Server Extensions, Internet Service Manager (HTML)这几个危险服务。
3.管理使用程序的选择:
选择一个好的近程管理软件是非常重要的事,这不只仅是安全方面的要求,也是使用方面的需求。
Win2000的Terminal Service是基于RDP(近程桌面协议)的近程控制软件,他的速度快,操作方便,比较适合用来进行常规操作。
但是,Terminal Service也有其不足之处,由于它使用的是虚拟桌面,再加上微软编程的不严谨,当你使用Terminal Service进行安装软件或重起服务器等与真实桌面交互的操作时,往往会出现哭笑不得的景象,例如:使用Terminal Service重起微软的认证服务器(Compaq, IBM等)可能会直接关机。
所以,为了安全起见,我建议你再配备一个近程控制软件作为辅助,和Terminal Service互补,象PcAnyWhere就是一个不错的选择。
二、正确安装WIN2000 SERVER:
1.分区和逻辑盘的分配,有一些朋友为了省事,将硬盘仅仅分为一个逻辑盘,所有的软件都装在C驱上,这是很不好的,建议最少建立两个分区,一个系统分区,一个使用程序分区,这是由于,微软的IIS经常会有走漏源码/溢出的漏洞,如果把系统和IIS放在同一个驱动器会导致系统文件的走漏甚至入侵者近程获取ADMIN。
推荐的安全配置是建立三个逻辑驱动器,第一个大于2G,用来装系统和重要的日志文件,第二个放IIS,第三个放FTP,这样无论IIS或FTP出了安全漏洞都不会直接影响到系统目录和系统文件。
要知道,IIS和FTP是对外服务的,比较容易出问题。而把IIS和FTP分开次要是为了防止入侵者上传程序并从IIS中运转。(这个可能会导致程序开发人员和编辑的苦恼,管他呢,反正你是管理员)
2.安装顺序的选择:
不要觉得:顺序有什么重要?只需安装好了,怎样装都可以的。
错!win2000在安装中有几个顺序是一定要留意的:
首先,何时接入网络:Win2000在安装时有一个漏洞,在你输入Administrator密码后,系统就建立了ADMIN$的共享,但是并没有用你刚刚输入的密码来保护它,这种情况不断持续到你再次启动后,在此期间,任何人都可以通过ADMIN$进入你的机器;同时,只需安装一完成,各种服务就会自动运转,而这时的服务器是满身漏洞,非常容易进入的,因此,在完全安装并配置好win2000 SERVER之前,一定不要把主机接入网络。
其次,补丁的安装:补丁的安装应该在所有使用程序安装完之后,由于补丁程序往往要替换/修正某些系统文件,如果先安装补丁再安装使用程序有可能导致补丁不能起到应有的效果,例如:IIS的HotFix就要求每次更改IIS的配置都需求安装
三、安全配置WIN2000 SERVER:
即便正确的安装了WIN2000 SERVER,系统还是有很多的漏洞,还需求进一步进行细致地配置。
1.端口:
端口是计算机和外部网络相连的逻辑接口,也是计算机的第一道屏障,端口配置正确与否直接影响到主机的安全,普通来说,仅打开你需求使用的端口会比较安全,配置的方法是在网卡属性-TCP/IP-高级-选项-TCP/IP筛选中启用TCP/IP筛选,不过对于win2000的端口过滤来说,有一个不好的特性:只能规定开哪些端口,不能规定关闭哪些端口,这样对于需求开大量端口的用户就比较痛苦。
2.IIS:
IIS是微软的组件中漏洞最多的一个,平均两三个月就要出一个漏洞,而微软的IIS默认安装又实在不敢恭维,所以IIS的配置是我们的重点,如今大家跟着我一同来:
首先,把C盘那个什么Inetpub目录彻底删掉,在D盘建一个Inetpub(要是你不放心用默认目录名也可以改一个名字,但是本人要记得)在IIS管理器中将主目录指向D:\Inetpub;
其次,那个IIS安装时默认的什么scripts等虚拟目录一概删除(罪恶之源呀,忘了http://www.target.com/scripts/..%c1%1c../winnt/system32/cmd.exe了?我们虽然曾经把Inetpub从系统盘挪出来了,但是还是小心为上),如果你需求什么权限的目录可以本人慢慢建,需求什么权限开什么。(特别留意写权限和执行程序的权限,没有绝对的必要千万不要给)
3: 使用程序配置:
在IIS管理器中删除必须之外的任何无用映射,必须指的是ASP, ASA和其他你确实需求用到的文件类型,例如你用到stml等(使用server side include),实际上90%的主机有了上面两个映射就够了,其余的映射几乎每个都有一个凄惨的故事:htw, htr, idq, ida……想知道这些故事?去查以前的漏洞列表吧。
什么?找不到在哪里删?
在IIS管理器中右击主机->属性->WWW服务 编辑->主目录 配置->使用程序映射,然后就开始一个个删吧(里面没有全选的,嘿嘿)。接着在刚刚那个窗口的使用程序调试书签内将脚本错误音讯改为发送文本(除非你想ASP出错的时候用户知道你的程序/网络/数据库结构)错误文本写什么?随便你喜欢,本人看着办。点击确定退出时别忘了让虚拟站点承继你设定的属性。
为了对付日益增多的cgi漏洞扫描器,还有一个小技巧可以参考,在IIS中将HTTP404 Object Not Found出错页面通过URL重定向到一个定制HTM文件,可以让目前绝大多数CGI漏洞扫描器失灵。其实缘由很简单,大多数CGI扫描器在编写时为了方便,都是通过查看前往页面的HTTP代码来判断漏洞能否存在的,例如,著名的IDQ漏洞普通都是通过取1.idq来检验,如果前往HTTP200,就认为是有这个漏洞,反之如果前往HTTP404就认为没有,如果你通过URL将HTTP404出错信息重定向到HTTP404.htm文件,那么所有的扫描无论存不存在漏洞都会前往HTTP200,90%的CGI扫描器会认为你什么漏洞都有,结果反而掩盖了你真正的漏洞,让入侵者茫然无处下手(武侠小说中常说全身漏洞反而无懈可击,难道说的就是这个境界?)不过从团体角度来说,我还是认为扎扎实实做好安全设置比这样的小技巧重要的多。
最后,为了保险起见,你可以使用IIS的备份功用,将刚刚的设定全部备份下来,这样就可以随时恢复IIS的安全配置。还有,如果你怕IIS负荷过高导致服务器满负荷死机,也可以在功用中打开CPU限