windows 2000中的IIS网站安全构建指南
因此,为了保护SAM数据库的安全,管理员可以使用这个工具将杂乱信息代码转移到软盘上,并注意为这个软盘制作多个备份,放置到一个非常安全的地方。如果这个软盘丢失或损坏,就无法重新启动服务器了,因为再没有其它办法可以对用户账户和口令数据库进行解密。
另外,我们还应该对SAM数据库添加口令复杂性的要求,这是通过启动“本地安全策略”工具并启用其中的“密码必须符合复杂性要求”来完成的:
5、确定Web站点的口令访问策略
访问Web 站点的不同内容可能需要不同的口令,考虑到相应的行为并设计好对策将极大地减少许多安全隐患。例如:服务器是只作为公共信息站点使用吗?它允许不同权限的用户访问受保护的数据吗?站点要求用户向其提交数据吗?......通常,我们可以对所有的Internet服务器都执行相同的基本安全配置,然后再根据具体服务类型,进一步做出特殊安全设置。比如:如果服务器只是为公司提供一个Web上的存在,那最好就只允许匿名访问,这样就避免了服务器与客户之间的口令传递,并降低了攻击者探测服务器口令的可能性。
6、消除空连接安全漏洞
在Win2K中存在一种可能性:攻击者可以使用一个所谓的空帐号登录到系统、建立一个空对话,从而获取服务器上用户和组帐号情况列表以及服务器上的所有共享资源列表。呵呵,空手套帐号啊!让这个“空手”真正落空的方法是修改注册表相关项目,方法分别是:
禁止空连接获取帐号信息:修改的键值及取值是
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA,REG_DWORD,1
注意:有些服务可能要使用空连接在网络上完成与其它服务器和系统通信的任务,所以如果修改注册表后发现这些服务工作不正常了,那就再修改回来吧。摸着石头过河吗!
禁止空连接获取共享资源:修改的键值及取值是
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters\RestrictNullSessAccess,REG_DWORD,1
当这个值设置为1时,空连接用户将不能访问任何共享;如果设置为0,那么空连接用户就可以连接到所有对Everyone组共享的程序或打印机上。
注意:修改这个键值可能会影响空连接对Named Pipes(名字管道)的访问。Named Pipes就是一个系统上的程序与另一个不同系统上的程序通讯的功能。在Win2K中设置了许多named pipes,例如Winreg以IPC机制允许在一个客户机器上运行Regedit并访问远程服务器的注册表文件,Netlogon通过一个named pipe使用RPC连接来进行登录认证,SMB (Server Message Blocks)使用named pipes进行网络上服务器之间的通讯。注册表中有关于空连接可以使用的named pipes列表,键值如下:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters\NullSessionPipes
我们可以根据需要对以上列表中的字符串进行去除,但同样请注意:如果发现有些服务工作不正常,请再修改回来。
7、去除对其他操作系统的支持
Win2K可以很好地支持其他操作系统,允许例如OS/2和POSIX的应用程序向服务器发送请求以执行代码。这种功能通常叫做Win2K的子系统。Win2K的子系统一般情况下不会用到,但却是一个很大的安全漏洞,应该采取措施堵住它。关闭这个漏洞的最简单方法是去掉这个子系统,使它们无法使用。放心,这不会给Win2K服务器或IIS带来任何问题,因为它们是在Win32子系统中运行的。
禁止OS/2和POSIX要通过删除相关文件和改写相关注册表键值来完成,步骤如下:
删除“\%systemroot%\system32\os2”文件夹及其中所有内容。
删除“\HKLM\Software\Microsoft\OS/2 Subsystem for NT”下面所有的子键。
删除“\HKLM\System\CurrentControlSet\Control\Session Manager\Environment”中的值Os2LibPath。
清除“\HKLM\System\CurrentControlSet\Control\Session Manager\Subsystems”中Optional的内容,但是保留值Optional的名字。
删除“\HKLM\System\CurrentControlSet\Control\Session Manager\SubSystems ”中的值Os/2 和Posix。
重新启动。
8、合理调整页面文件的设置
需要处理的另一个问题是页面文件(page file)在系统上的存放位置。当应用程序或系统程序需要访问物理RAM时,Win2K使用页面文件作为应用程序代码的临时保存区。因此,硬盘驱动器上必须有足够的空间供页面文件使用,否则就会导致系统崩溃。避免出现这种情况的方法有:
在系统上尽可能多安装RAM。可用的物理RAM越多,系统运行的效率越高。
将所有的操作系统文件放置在自己的分区。这个分区中应该只包含操作系统文件和一个至少相当于物理RAM大小的页面文件。当系统遭遇一个STOP错误时,这个页面文件允许系统创建一个crashdump文件。
至少在另外一个分区上创建一个页面文件,其大小大约为物理RAM + 11 MB。如果可能的话,将这个页面文件放置在一个单独的物理驱动器上,这样系统执行I/O操作就更加有效。
配置系统服务和生成日志文件及扩展数据的应用程序,使它们写入的文件不在操作系统所在的驱动器上。
四、结 语
以上详细论述了使用Win2K和IIS5构建安全Internet网站的Win2K操作系统安全配置指南部分,如果是严格按照这些步骤装扮了Win2K,就可以说基本上做到了从“地面部分”全力堵截入侵者的攻击。要做到从“空中部分”拦截入侵,请看“Win2K Internet服务器安全构建指南(IIS篇)”。