IIS5是Windows2000操作系统所带的Internet服务程式包,他包含了www、ftp、smtp连同index server等等众多实用功能。无论是创建一个Internet外部站点,还是构造一个Intranet内部应用,使用IIS5都是很好的选择。同时,如何保障IIS5安全稳定运行、内容发布正确可靠,这是系统管理员必须高度重视的问题。本文就IIS5的安全策略设计进行概要分析,旨在让大家从宏观角度了解系统管理员都应在哪些方面执行必要的安全配置,然后根据实际环境再在各个环节分别扩展,最终创建一个安全的IIS5服务器。
为虚拟目录配置适当的访问权限
正确配置虚拟目录的访问权限,将会很大程度地影响其中文档的安全可靠性。建议考虑以下几个方面的配置原则:
文档类型 建议的访问权限
CGI 程式(.exe, .dll, .cmd, .pl) Everyone (X) 脚本文档(.asp) Everyone (X) Administrators (Full Control) 包含文档(.inc, .shtm, .shtml) Everyone (X) 静态文档 (.txt, .gif, .jpg, .html) Everyone (R) |
为不同类型的文档创建不同的目录
假如一个虚拟目录下面有多种类型的文档,按照上面的原则为每一种文档配置访问权限,无疑是很烦琐的事情。因此,我们能够采取为不同类型文档创建不同目录的方式,然后再按照上面的原则为每一个目录配置相应的访问权限。比如,我们能够创建如下的目录结构:
C:\inetpub\wwwroot\myserver\static:存放静态文本文档(.html)
C:\inetpub\wwwroot\myserver\include:存放包含文档(.inc)
C:\inetpub\wwwroot\myserver\script:存放脚本文档(.asp)
C:\inetpub\wwwroot\myserver\executable:存放可执行文档(.exe,.dll, .cmd, .pl)
C:\inetpub\wwwroot\myserver\images:存放图像文档(.gif,.jpeg)
另外,请注意以下2个特别的目录:
C:\inetpub\ftproot:FTP服务所在目录
C:\inetpub\mailroot:SMTP服务所在目录
这2个目录的访问权限是Everyone 完全控制(Full Control),每个用户都具备向其中添加数据的权限。这样,就有可能造成目录所在磁盘的空间耗尽。因此,我们建议:
将这2个目录放置到另外的磁盘卷中,和其他的IIS服务程式分开。
使用Windows 2000 磁盘配额功能限制添加到这2个目录的数据量。
为IIS日志文档配置适合的访问权限
IIS日志文档记录了任何访问IIS服务程式的信息,他对于系统管理员检测故障很重要。攻击者为了销毁他们的侵入痕迹,总是要想方设法删除掉日志文档。因此,我们建议对这些日志文档进行重点保护,配置如下的访问权限:
Administrators (Full Control) System (Full Control) Everyone (RWC) |
IIS日志文档一般位于如下路径:%systemroot%\system32\LogFiles。
使用日志文档
日志文档对于检查服务器是否被攻击是极为重要的。日志文档有多种,我们建议使用"W3C扩充日志文档格式",步骤如下:
启动"Internet服务管理器"
点击鼠标右键选择要配置的站点,在从弹出菜单中选择"属性"
点击"Web站点"选项卡
点击选中"启用日志记录"复选框
从"活动日志格式"下拉选择框中选择"W3C 扩充日志文档格式"
点击"属性"
点击"扩充的属性"选项卡,然后依次选中如下属性:
客户IP地址
用户名
方法
URI资源
HTTP状态
Win32状态
用户代理
服务器IP地址
服务器端口
以上最后2个属性只当一个电脑充当多个Web服务器时有意义,也就是所谓的虚拟主机。属性"Win32状态"对于调试很有用,当他的数值等于5时,表示禁止访问(access denied)。我们能够在命令行执行如下命令得到其他的"Win32状态码"所表示的含义:
net helpmsg err
其中err表示Win32状态码。
禁止或删除任何的例子程式
默认安装选项中,例子程式不会被安装到机器中。对于一个正式应用的服务器,我们不应该在其中安装任何例子程式。假如已安装了某些例子程式,建议将他们完整删除掉。为了查找方便,以下我们列出一些例子程式的默认安装路径:
例子程式类别 所在虚拟目录 默认安装路径
IIS例子程式 \IISSamples c:\inetpub\iissamples
IIS文档 \IISHelp c:\winnt\help\iishelp
Data Access \MSADC c:\program files\common files\system\msadc
删除虚拟目录IISADMPWD