Internet Information Services 5 基准安全清单

本文档列出了一些建议和最佳操作,以保护在 Web 上运行 Internet Information Services (IIS) 5 的服务器。

要点 本文的目的是指导在运行IIS 5 的服务器上配置安全的基准级别。在 Microsoft TechNet 安全网站的完整 IIS 5 安全清单中有其他高级设置。

Internet Information Services 5 设置

步骤
Box

对虚拟目录设置适当的 ACL

Box

设置适当的 IIS 日志文件 ACL

Box

启用日志记录

Box

禁用或删除所有示例应用程序

Box

删除 IISADMPWD 虚拟目录

Box

删除未使用的脚本映射

Microsoft Internet Information Services 5 安全清单详细信息

对虚拟目录设置适当的 ACL

虽然此设置有些依赖于应用程序,但要遵从一些主要的规则:

文件类型
访问控制列表
CGI (.exe, .dll, .cmd, .pl)

Everyone (X)
Administrators(完全控制)
System(完全控制)

脚本文件 (.asp)

Everyone (X)
Administrators(完全控制)
System(完全控制)

包含文件 (.inc, .shtm, .shtml)

Everyone (X)
Administrators(完全控制)
System(完全控制)

静态内容 (.txt, .gif, .jpg, .html)

Everyone (R)
Administrators(完全控制)
System(完全控制)

按文件类型建议默认的 ACL。

不要为每个文件都设置 ACL,最好为每种文件类型创建新的目录,再对该目录设置 ACL,并允许该 ACL 继承到那些文件。例如,目录结构可能如下所示:

  • C:\inetpub\wwwroot\myserver\static (.html)
  • C:\inetpub\wwwroot\myserver\include (.inc)
  • C:\inetpub\wwwroot\myserver\script (.asp)
  • C:\inetpub\wwwroot\myserver\executable (.dll)
  • C:\inetpub\wwwroot\myserver\images (.gif, .jpeg)

另外,有两个目录需要引起特别注意:

  • C:\inetpub\ftproot(FTP 服务器)
  • C:\inetpub\mailroot(SMTP 服务器)

这两个目录上的 ACL 都是 Everyone(完全控制),并且应该根据功能的级别使用较严格的 ACL 进行替代。如果要支持 Everyone(写入),或者使用 Windows 2000 磁盘配额限制可以写入这些目录的数据数量,请将文件夹放在除 IIS 服务器之外的其他卷上。

设置适当的 IIS 日志文件 ACL

请确保 IIS 生成的日志文件 (%systemroot%\system32\LogFiles) 上的 ACL 是:

  • Administrators(完全控制)
  • System(完全控制)
  • Everyone (RWC)

这有助于防止恶意用户删除文件以掩饰他们的踪迹。

启用日志记录

如果要查看服务器是否正在受到攻击,日志将非常重要。应该按照下列过程使用 W3C 扩展日志记录格式:

  1. 加载 Internet 信息服务工具。
  2. 右键单击有问题的站点,然后从上下文菜单中选择“属性”。
  3. 单击“网站”选项卡。
  4. 选中“启用日志记录”复选框。
  5. 从“活动日志格式”下拉列表中选择“W3C 扩展日志文件格式”。
  6. 单击“属性”。

    单击“扩展属性”选项卡,然后设置下列属性:

    • 客户 IP 地址
    • 用户名
    • 方法
    • URI 资源
    • HTTP 状态
    • Win32 状态
    • 用户代理
    • 服务器 IP 地址
    • 服务器端口

只有在一台计算机上管理多台 Web 服务器时后两个属性才有用。Win32 “状态”属性对于调试非常有用。在检查日志时,请注意错误 5,此错误意味着访问被拒绝。可以通过在命令行输入 net helpmsg err 来查看其他 Win32 错误的意义,其中 err 是希望知道错误的错误号。

禁用或删除所有示例应用程序

这样的示例在默认情况下不安装,而且永远不应该安装在产品服务器上。注意,某些示例被安装以便它们仅能通过 http://localhost,或 127.0.0.1 进行访问;但是,这些示例仍应被删除。

下表列出了其中一些示例的默认位置。
示例
虚拟目录
位置
IIS 示例

\IISSamples

c:\inetpub\iissamples

IIS 文档

\IISHelp

c:\winnt\help\iishelp

数据访问

\MSADC

c:\program files\common files\system\msadc

示例文件和 Internet Information Services 5 包含在一起。

删除 IISADMPWD 虚拟目录

该目录允许您重设 Windows NT 和 Windows 2000 密码。它主要是为 Intranet 方案而设计的,并且不作为 IIS 5 的一部分来安装,但从 IIS 4 服务器被升级到 IIS 5 时不会删除此目录如果没有使用 Intranet 或者您将服务器连接到 Web 时,则应该删除该目录。有关此功能的详细信息,请参阅 Microsoft 知识库文章 Q184619。

删除未使用的脚本映射

IIS 被预先配置成支持常见的文件扩展名,如 .asp 和 .shtm 文件。当 IIS 接收到针对其中某一类型文件的请求时,该调用由 DLL 进行处理。如果您不会用到其中某些扩展名或功能,请按照如下步骤进行删除:

  1. 打开 Internet 服务管理器。
  2. 右键单击 Web 服务器,然后选择“属性”。
  3. 单击“主属性”。
  4. 选择“WWW 服务”,单击“编辑”,单击“HomeDirectory”,然后单击“配置”。

删除下面这些引用:

如果没有使用...
删除此项:
基于 Web 的密码重设

.htr

Internet 数据库连接器(所有的 IIS 5 网站都应该使用 ADO 或相似的技术)

.idc

服务器端包含程序

.stm、.shtm 和 .shtml

Internet 打印

.printer

索引服务器

.htw、.ida 和 .idq

注意 可以通过组策略及 Internet 服务管理器来配置 Internet 打印。如果组策略设置和 Internet 服务管理器中的设置有冲突,则组策略设置优先。如果通过 Internet 服务管理器删除 Internet 打印,请确认它不会被本地或域组策略重新启用。(默认的组策略既不会启用也不会禁用 Internet 打印。)在 MMC 组策略管理单元中,请单击“计算机配置”,单击“管理模板”,然后单击“基于 Web 的打印”。

注意 除非因为有重要任务而要使用 .htr 功能,否则应删除 .htr 扩展名。

©2001 Microsoft Corporation. 保留所有权利。