个人网络安全防卫手册
作者: 来源: 添加时间:2006-5-23 8:35:12操作系统是你使用计算机的起点,所有对资料、文件的操作都需要通过操作系统来协同完成。由于操作系统本身所存在的一些缺陷,使得黑客能在你的计算机系统中随意进出。配置一个安全的计算机系统,将黑客“拒之门外”。
(一)Windows 2000服务器安全配置
1. 定制自己的Windows 2000 Server
(1)版本的选择:Windows 2000有各种语言的版本,对于我们来说,可以选择英文版或简体中文版。强烈建议,在语言不成为障碍的情况下,请一定使用英文版。要知道,微软的产品是以Bug & Patch而著称的,中文版的Bug远远多于英文版,而补丁一般还会迟至少半个月(也就是说一般微软公布了漏洞后你的机子还会有半个月处于无保护状况)。
(2)组件的定制:Windows 2000在默认情况下会安装一些常用的组件。但是,正是这个默认安装是极度危险的你应该确切地知道你需要哪些服务,而且仅仅安装你确实需要的服务。根据安全原则,最少的服务+最小的权限=最大的安全。典型的Web服务器需要的最小组件选择是:只安装IIS的ComFiles、IIS Snap-In、WWW Server组件。如果你确实需要安装其他组件,请慎重,特别是Indexing Service、FrontPage 2000 Server Extensions、Internet Service Manager(HTML)这几个危险服务。
(3)管理应用程序的选择:选择一个好的远程管理软件是非常重要的事,这不仅仅是安全方面的要求,也是应用方面的需要。Windows 2000的终端服务是基于RDP(远程桌面协议)的远程控制软件,它速度快,操作方便,比较适合用来进行常规操作。但是,终端服务也有其不足之处,由于它使用的是虚拟桌面,当你使用终端服务进行安装软件或重启服务器等与真实桌面交互的操作时,往往会出现哭笑不得的现象,例如,使用终端服务重启微软的认证服务器(Compaq, IBM等)可能会直接关机。所以,为了安全起见,建议再配备一个远程控制软件作为辅助,与终端服务互补,如PcAnyWhere就是一个不错的选择。
2. 正确安装Windows 2000 Server
(1)分区和逻辑盘的分配。有一些朋友为了省事,将硬盘仅仅分为一个逻辑盘,所有的软件都装在C盘上。建议最少建立两个分区,一个系统分区,一个应用程序分区,这是因为,微软的IIS经常会有泄漏源码/溢出的漏洞,如果把系统和IIS放在同一个驱动器会导致系统文件的泄漏甚至入侵者远程获取Admin。推荐的安全配置是建立三个逻辑驱动器,第一个大于2GB,用来装系统和重要的日志文件,第二个放IIS,第三个放FTP,这样无论IIS或FTP出了安全漏洞都不会直接影响到系统目录和系统文件。
(2)安装顺序的选择:Windows 2000在安装中有几个顺序是一定要注意的:
首先,何时接入网络。Windows 2000在安装时有一个漏洞,在你输入Administrator密码后,系统就建立了ADMIN$的共享,但是并没有用你刚刚输入的密码来保护它,这种情况一直持续到你再次启动后,在此期间,任何人都可以通过ADMIN$进入你的机器;同时,只要安装一完成,各种服务就会自动运行,而这时的服务器是满身漏洞,非常容易进入的,因此,在完全安装并配置好Windows 2000之前,一定不要把主机接入网络。
其次,补丁的安装。补丁的安装应该在所有应用程序安装完之后,因为补丁程序往往要替换/修改某些系统文件,如果先安装补丁再安装应用程序有可能导致补丁不能起到应有的效果。例如,IIS的HotFix就要求每次更改IIS的配置都需要安装。
3. 端口
端口是计算机和外部网络相连的逻辑接口,也是计算机的第一道屏障,端口配置正确与否直接影响到主机的安全。一般来说,仅打开你需要使用的端口会比较安全,配置的方法:打开“本地连接属性”对话框,依次点击“Internet协议(TCP/IP)→高级→选项→TCP/IP筛选→属性”,在打开的对话框中启用TCP/IP筛选。
4. IIS
IIS是微软的组件中漏洞最多的一个,所以IIS的配置是我们的重点:
(1)将\Inetpub目录彻底删掉,然后在D盘建一个Inetpub目录,在IIS管理器中将主目录指向D:\Inetpub。
(2)将IIS安装时默认的Scripts等虚拟目录一概删除,如果你需要什么权限的目录可以自己建(特别注意写权限和执行程序的权限,没有必要千万不要给)。
(3)应用程序配置:在IIS管理器中删除必须之外的任何无用映射。
(4)为了保险起见,你可以使用IIS的备份功能,将上面的设定全部备份下来,这样就可以随时恢复IIS的安全配置。如果你怕IIS负荷过高导致服务器满负荷死机,也可以在性能中打开CPU限制,例如将IIS的最大CPU使用率限制在70%。
5. 账号安全
Windows 2000的账号安全是另一个重点,首先,默认安装允许任何用户通过空用户得到系统所有账号/共享列表,这个本来是为了方便局域网用户共享文件的,但是一个远程用户也可以得到你的用户列表并使用暴力法破解用户密码。很多朋友都知道可以通过更改注册表HKEYLOCALMACHINE\System\CurrentControlSet\Control\LSA-RestrictAnonymous=1来禁止139空连接,实际上Windows 2000的本地安全策略就有这样的选项RestrictAnonymous(匿名连接的额外限制),这个选项有三个值:
0:None. Rely on default permissions(无,取决于默认的权限)。这个值是系统默认的,什么限制都没有,远程用户可以知道你机器上所有的账号、组信息、共享目录、网络传输列表等,对服务器来说这样的设置非常危险。
1:Do not allow enumeration of SAM accounts and shares(不允许枚举SAM帐号和共享)。这个值是只允许非NULL用户存取SAM账号信息和共享信息。
2:No access without explicit anonymous permissions(没有显式匿名权限就不允许访问)。这个值是在Windows 2000中才支持的,需要注意的是,如果你一旦使用了这个值,你的共享估计就全部完蛋,所以我推荐你还是设为1比较好。
好了,入侵者现在没有办法拿到我们的用户列表,我们的账户安全了……慢着,至少还有一个账户是可以跑密码的,这就是系统内建的Administrator。怎么办?在“计算机管理→用户账号”中右击Administrator,然后改名。然后再来把HKEYLOCALMACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon项中的“Don't Display Last User Name”串数据改成1,这样系统不会自动显示上次的登录用户名。
将服务器注册表\HKEYLOCALMACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon项中的Don't Display Last User Name串数据修改为1,隐藏上次登陆控制台的用户名。