随着Windows的不断升级,WinDWOS的安全性也越来越强,但时至今日的Win2000的安全性如果不进行全面有效的设置,在网络社会的今天仍显得那么不堪一击。然而用过Win2000系统的朋友都知道,Win2000是Windows系统的一次大升级,它变得不再是那么简单明了了,要全面掌握了还真不容易,要谈到以前较少涉及的安全性设置问题那更是显得无从下手。
其实Win2000的安全性设置在从我们安装Win2000时一开始就在一点一滴地进行,当我们安装完Win2000软件重新启动后系统还会自动弹出一些设置项目,光这些就足以吓倒一些新手了。下面我就我在应用和维护Win2000系统中积累的一些经验作一介绍,希望对各位在应用Win2000中有些帮助,不敢讲按我下面所讲Win2000系统就万无一失,至少不会千创百孔。
一、系统的安装
在上面我讲了,Win2000的安全设置其实早在一开始我们进行Win2000系统安装的同时就开始了,我们千万不能以老眼光看待新事物,在Win2000安装完重启后系统会自动弹出一个对话框,要求我们设置一大堆项目,在这一大堆项目中有相当一部分都与Win2000的安全设置有关。这不要说对于以前用惯了Win9X系统的朋友觉得无从下手,就是象我这样以前用NT的老朋友也一时难以接受。然而这些项目设置不好,轻则某些功能不能达到目的,重则在系统网络中根本无法使用。
在系统安装过程中主要要注意以下几点:
1、硬盘的分区
至少建立两个逻辑分区,一个用作系统分区,另一个用作应用程序分区,现在的硬盘是越来越大,一般最好分三个至四个分区,这样就可以把自己的文件单独放在一个分区中。
再就是所有的分区应最好都是NTFS格式,因为这种文件格式的分区在安全性方面更加有保障,至少是系统分区中应是如此。同时象微软的IIS、Outlook、Exchange
Server等软件经常会有漏洞,如果把软件与系统安装在同一个驱动器会导致系统文件的泄漏,甚至让入侵者远程获取管理权。
2、系统版本的选择
我们知道在目前Windows系统中,都是先有英文版,然后才有各国其它语言的版本,也就是说Windows系统的内核语言是英语,这样相对来说它的内核版本理应比它的编译版本中的BUG少许多,事实也是如此,特别是在安全设置方面,不仅Win2000如此,原来的NT,甚至Win9X同样存在这样的问题,只不过在NT4.0或Win9X中影响不是这么大,很少引起人注意而已!这主要是由不同语言的兼容性引起的,这一点是很难克服的。
打个最简单的经喻,就象我们要翻译一篇英文文章一样,我们不可能做到百分百地与原文意思一致,更何况这么大一个系统,不知要写多少行的程序!所以如果是在单位网络中用Win2000,最好还是选用原英文版的,这样选择的好处还在于将来升级、加补丁也远比其它语言版本快许多!
3、正确的网络接入时间
我们都有这样一个坏习惯,那就是在安装系统之前我们会把一切硬件都连接好,这主要是方便系统的安装,但在安装Win2000系统时要注意,我们最好在系统未全部安装完全之前不要连入网络,特别是Internet。因为Win2000在安装时有一个漏洞,就是在输入用户管理员账号“Administrator”的密码后,系统会建立“$ADMIN”的共享账号码,但是并没有用刚输入的密码来保护它,这种情况一直会持续到计算机再次启动。在此期间,任何人都可以通过“$ADMIN”进入系统;同时,只要安装一完成,各种服务就会自动运行,而这时的服务器还到处是漏洞,非常容易从外部侵入。
因此,在完全安装并配置好Win2000
Server之前,一定不要把主机接入网络。
二、
系统及应用软件安全设置
(一)、用户账号的安全设置
在一个局域网中,正确有效地设置各不同组用户账号的权限,是确保网络安全的首要因素。至于如何设置用户访问权限我想大家都非常清楚,我不再多讲,我只是想说明的一点就是,Win2000的默认安装允许所有用户通过空用户名和空密码得到系统所有账号和共享列表,这本来是为了方便局域网用户共享资源和文件的,但是,同时任何一个远程用户也可以通过同样的方法得到你的用户列表,并可能使用暴力法破解用户密码给整个网络带来破坏,这是整个网络中的最大不安全因素之一。
当然我们不是没有办法来控制这一不安全因素所带来的负面影响,我们可以有以下方法:
1、改注册表
在注册表中的HEKY_Local_Machine\System\CurrentControlSet\Control\Lsa中有一个键值是用来禁止空用户连接的,那就是RestrictAnonymous
(匿名登录的限制),如果没有这个主键值我们可以自己添加,系统的默认值为“0”.我们只要把这个主键值设为“1”即可,这样Win2000系统就不能用空用户账号来进行登录。
2、设置安全策略
Win2000的本地安全策略里(如果你已转换成域服务器就是在“域服务器安全和域安全策略”里)也有RestrictAnonymous(匿名连接的额外限制)这样的选项.
双击这个选项,即可看到在这个选项中我们可以有三个选项,分别是:
1)、无,依赖于默认许可权限
2)、不允许枚举SAM账号和共享
3)、没有显式匿名权限就不允许访问
第一项是系统默认的,没有任何限制,远程用户可以以匿名账号登录到你的服务器,知道你机器上所有的账号、组信息、共享目录、网络传输列表(NetServerTransportEnum)等,对服务器来说这样的设置非常危险。第二项是只允许非NULL(空)用户存取SAM账号信息和共享信息。第三项只有Win2000才支持,需要注意的是,如果使用了这个值,就不能再有共享资源了,所以还是推荐把数值设为“1”比较好。
其实在本地安全策略中我们还有许多安全选项可以设置,相信多数对Win2000有一定认识人朋友都可以按照选取项的标题来有效设置所需要的项。特别是要对上图标注的选项,有关Win2000的文件加密与数字签名可参考我的另一篇稿件——《Win2000的文件加密与数字签名》,
另一个要注意的是在上图中我们只可对“本地设置”进行设置,“有效设置”只有当设置完成后重启系统后由系统自己完成。
3、文件和文件夹权限的设置
我们知道NT系统的安全性在本地网络中最主要还是可以自由设置各用户、文件和文件夹的访问权限来保证的。为了控制好服务器上用户的权限,同时也为了预防以后可能的入侵和溢出,必须安全有效地设置文件夹和文件的访问权限。NT的访问权限分为:读取、写入、读取及执行、修改、列目录、完全控制。在默认的情况下,大多数的文件夹和文件对所有用户(Everyone这个组)是完全控制的(Full
Control),这根本不能满足不同网络的权限设置需求,所以你还需要根据应用的需要进行重新设置。
要正确有效地设置好系统文件或文件夹的访问权限,必需注意NTFS文件夹和文件权限有如下属性:
⑴、权限具有继承性
权限的继承性就是下级文件夹的权限设置在未重设之前是继承其上一级文件的权限设置的,更明了地说就是如果一个用户对某一文件夹具有“读取”的权限,那这个用户对这个文件夹的下级文件夹同样具有“读取”的权限,除非你打断这种继承关系,重新设置。但要注意的是这仅是对静态的文件权限来讲,对于文件或文件夹的移动或复制,其权限的继承性又如何呢?请看下文:
a、
在同一NTFS分区间复制或移动
在同一NTFS分区间复制到不同文件夹时,它的访问权限是和原文件或文件夹的访问权限不一样。但在同一NTFS分区间移动一文件或文件夹其访问权限保持不变,继承原先未移动前的访问的权限。
b、在不同NTFS分区间复制或移动
在不同NTFS分区间复制文件或文件夹访问权限会随之改变,复制的文件不是继承原权限,而是继承目标(新)文件夹的访问权限。同样如果是在不同NTFS分区间移动文件或文件夹则问权限随着移动而改变,也是继承移动后所在文件夹的权限。
c、从NTFS分区复制或移动到FAT格式分区
因为FAT格式的文件或文件夹根本没有权限设置项,所以原来文件或文件夹也就再没有访问权限了,
⑵、权限具有累加性
权限的累加性具体双表现在以下几个方面:
a、工作组权限由组中各用户权限累加决定
如一个组GROUP1中有两个用户USER1、USER2,他们同时对某文件或文件夹的访问权限分别为“只读”型的和“写入”型的,那么组GROUP1对该文件或文件夹的访问权限就为USER1和USER2的访问权限之和,实际上是取其最大的那个,即“只读”+“写入”=“写入”。
b、用户权限由所属组权限的累决定
如一个用户USER1同属于组GROUP1和GROUP2,而GROUP1对某一文件或文件夹的访问权限为“只读”型的,而GROUP2对这一文件或文件夹的访问权限为“完全控制”型的,则用户USER1对该文件或文件夹的访问权限为两个组权限累加所得,即:“只读”+“完全控制”=“完全控制”。
⑶、权限的优先性
权限的这一特性又包含两种子特性,其一是文件的访问权限优先文件夹的权限,也就是说文件权限可以越过文件夹的权限,不顾上一级文件夹的设置。另一特性就是“拒绝”权限优先其它权限,也就是说“拒绝”权限可以越过其它所有其它权限,一旦选择了“拒绝”权限,则其它权限也就不能取任何作用,相当于没有设置,下面就具体讲一下这两种子特性。
a、文件权限优先文件夹权限
如果一用户USER1对文件夹Folder
A的访问权限为只读类型的,在这个文件夹下面有一个Fiel1文件,我们可以对这个文件Fiel1设置权限为“完全控制”型,而不顾它的上一级文件Folder
A的权限设置情况。
b、“拒绝”权限优先其它权限
这种情况我们可举这们一个例子,就是一个用户USER1同属于组GROUP1和组GROUP2,其中组GROUP1对一个文件File1(或文件夹)的访问权限为“完全控制”,而用户GROUP2对这个文件File1的访问权限设置为“拒绝访问”,那么根据这个特性USER1对文件File1的访问权限为“拒绝访问”类型,而不管工作组GROUP1对这个文件设置什么权限。
⑷、访问权限和共享权限的交叉性
当同一文件夹在为某一用户设置了共享权限的同时又为用户设置了该文件夹的访问权限,且所设权限不一致时,它的取舍原则是取两个权限的交集,也即最严格、最小的那种权限。如文件夹Folder
A
为用户USER1设置的共享权限为“只读”,同时文件夹Folder
A为用户USER1设置的访问权限为“完全控制”,那用户USER1的最终访问权限为“只读”。当然这个文件夹只能是在NTFS文件格式的分区中,如是FAT格式的分区中也就不存在“访问权限”了,因为FAT文件格式的文件夹没有本地访问权限的设置。
(二)、选择好的远程通讯软件
选择一个好的远程通讯软件是非常重要的事,因为网络的不安全因素多数还是出在远程通讯软件上,Internet太复杂了,任何无意的疏忽都可能给别有用心之人以难得的良机。选择好一个好的远程通讯软件这不仅仅是应用方面的要求,也更是从安全方面的考虑。
Win2000的Terminal
Service是基于RDP(远程桌面协议)的远程控制软件,它的速度快,操作方便,比较适合用来进行常规操作。但是,Terminal
Service也有其不足之处,由于它使用的是虚拟桌面,再加上微软编程的不严谨,当你使用Terminal
Service进行安装软件或重启服务器等与真实桌面交互的操作时,往往会出现直接关机的BUG。所以,一般需另外选择一个专业的远程通讯软件,如在WinDWOS下的
PcAnyWhere,DOS下的CarbonCopy就是不错的选择。
(三)、设置好IIS
IIS是微软的组件中问题最多的一个,要注意很多软件的默认安装是黑客攻击的源头,是引起不安全因素的根源,微软的IIS也不例外,同时它又是一个网络应用软件,直接与千变万化的互联网相联系,所以IIS是我们安全配置的重点。
首先,为了系统的安全起见我们一般要删除系统盘下的Inetpub目录,在另一分区中新建一个Inetpub,并使IIS管理器中将主目录指向它。这样即使IIS安全出了问题,也不会直接影响到整个系统。
其次,我们要记住一个原则,那就是:最小的权限+最少的服务=最大的安全。所以必需把IIS安装时默认的scripts等虚拟目录也一概删除,如果你需要什么权限的目录可以以后再建(特别注意写权限和执行程序的权限)。
然后是应用程序的配置。在IIS管理器中把无用映射都统统删除(当然必须保留如ASP、ASA等)。在IIS管理器中“主机→属性→WWW服务编辑→主目录配置→应用程序映射”,然后开始一个个删掉。接着再在应用程序调试书签内,将“脚本错误消息”改为“发送文本”。点击“确定”退出时别忘了让虚拟站点继承刚才设定好的属性。
最后,为了保险起见,可以使用IIS的备份功能,将刚刚的设定全部备份下来,这样就可以随时恢复IIS的安全配置。
好了,我所要讲的就这些,希望对各位有所帮助。在这里我还要强调的是:网络安全是一项系统工程,它不仅有空间的跨度,还有时间的跨度。
很多朋友认为进行了安全配置的主机就是安全的,其实这里有个误区,我们只能说一台主机在一定的情况下一定的时间内是安全的,随着网络结构的变化、新的漏洞的发现、管理员和用户的操作,主机的安全状况是随时随地变化着的,只有让安全意识和安全制度贯穿整个过程才能做到真正的安全。
实际上,安全和应用在很多时候是矛盾的,因此,你需要在其中找到平衡点,毕竟服务器是给用户用的,如果安全原则妨碍了系统应用,那么这个安全原则也不是一个好的原则。