本文介绍了如何设置专用 Internet Information Services (IIS) 5.0、IIS 5.1 或 IIS 6.0 Web 服务器所需的最小权限。 

本文的局限性

警告本文仅适用于使用基本 IIS 功能(例如,支持 HTML 静态内容或简单 Active Server Pages (ASP) 内容)的专用 Web 服务器。 本文讲述的权限要求仅限于运行 IIS 5.xIIS 6.0 的专用 Web 服务器的基本权限。 本文不考虑可能需要其他权限的其他 Microsoft 产品和第三方产品。 你可以阅读服务器和应用程序的文档,了解需要特别注意的安全事项。 我们建议阅读 Web 服务器角色特定的相关文章

在生产环境中配置权限之前的测试步骤

在生产 Web 服务器上更改权限之前,我们建议执行以下步骤:

  1. 运行 IIS 锁定工具的最新版本。 以下程序和服务已作为测试套件的一部分安装,用于在授予本文中概括的权限之后测试服务器安全性:

    • 索引服务

    • 终端服务

    • 脚本调试程序

    • IIS

      • 公用文件

      • 文档

      • FrontPage 服务器扩展 2000

      • Internet 服务管理器 (HTML)

      • WWW

      • FTP

  2. 执行以下功能测试:

    • 超文本文档 (HTML)

    • Active Server Pages (ASP)

    • FrontPage 服务器扩展(如连接、编辑和保存),前提是在使用锁定工具时启用 FPSE

    • 安全套接字层 (SSL) 连接

向管理员和系统授予所有权和权限

若要完成此操作,请按照下列步骤操作:

  1. 打开 Windows 资源管理器。 为此,请依次单击“开始”“程序”,然后单击
    Windows 资源管理器

  2. 展开“我的电脑”。

  3. 右键单击系统驱动器(通常为驱动器 C),然后单击“属性”。

  4. 单击“安全”选项卡,然后单击“高级”以打开“本地磁盘访问控制设置”对话框。

  5. 单击“所有者”选项卡,单击以选中“替换子容器及对象的所有者”复选框,然后单击“应用”。

    如果收到以下错误消息,请单击“继续”:

    将安全信息应用到 %systemdrive%\Pagefile.sys 时发生了错误

  6. 如果收到以下错误信息,请单击“是”:

    您没有读取目录 %systemdrive%\System Volume Information 内容的权限。您要替换目录权限吗?将替换所有权限以授予您完全控制权限

  7. 单击“确定”关闭该对话框。

  8. 单击“添加”。

  9. 添加下列用户,然后授予他们 NTFS 完全控制权限:

    • Administrator

    • System

    • Creator Owner

  10. 添加这些 NTFS 权限之后,单击“高级”,单击以选择“重置所有子对象的权限并允许传播可继承权限”复选框,然后单击“应用”。

  11. 如果收到以下错误消息,请单击“继续”:

    将安全信息应用到 %systemdrive%\Pagefile.sys 时发生了错误

  12. 重置 NTFS 权限后,单击“确定”。

  13. 单击“Everyone”组,单击“删除”,然后单击“确定”。

  14. 打开 %systemdrive%\Program Files\Common Files 文件夹的属性,然后单击“安全”选项卡。 添加用于匿名访问的帐户。 默认情况下,这是 IUSR_<MachineName> 帐户。 然后添加“用户”组。 确保仅选择了下列权限:

    • 读取和执行

    • 列出文件夹内容

    • 读取

  15. 打开保存 Web 内容的根目录的属性。 默认情况下为 %systemdrive%\Inetpub\Wwwroot 文件夹。 单击“安全”选项卡,添加 IUSR_<MachineName> 帐户和“用户”组,然后确保仅选择了下列权限:

    • 读取和执行

    • 列出文件夹内容

    • 读取

  16. 如果要向 Inetpub\FTProot 或 FTP 站点的目录路径授予 NTFS 写入权限,请重复步骤 15。

    注意我们建议不要将 NTFS 写入权限授予任何目录中的匿名帐户,包括 FTP 服务使用的目录。 这可能会导致将不必要的数据上载到 Web 服务器。

在系统目录中禁用继承

若要完成此操作,请按照下列步骤操作:

  1. 在 %systemroot%\System32 文件夹中,选择除下列文件夹之外的所有文件夹:

    • Inetsrv

    • Certsrv(如果有)

    • COM

  2. 右键单击其余文件夹,单击“属性”,然后单击“安全”选项卡。

  3. 单击以清除“允许可继承权限”复选框,单击“复制”,然后单击“确定”。

  4. 在 %systemroot% 文件夹中,选择除下列文件夹之外的所有文件夹:

    • Assembly(如果有)

    • Downloaded Program Files

    • Help

    • Microsoft.NET(如果有)

    • Offline Web Pages

    • System32

    • Tasks

    • Temp

    • Web

  5. 右键单击其余文件夹,单击“属性”,然后单击“安全”选项卡。

  6. 单击以清除“允许可继承权限”复选框,单击“复制”,然后单击“确定”。

  7. 将权限应用到下列文件夹:

    1. 打开 %systemroot% 文件夹的属性,单击“安全”选项卡,添加 IUSR_<MachineName>IWAM_<MachineName> 帐户以及用户 组,然后确保仅选择下列内容:

      • 读取和执行

      • 列出文件夹内容

      • 读取

    2. 打开 %systemroot%\Temp 文件夹的属性,选择 IUSR_<MachineName> 帐户(该帐户已经存在,因为它继承自 Winnt 文件夹),然后单击以选择“修改”复选框。 对 IWAM_<MachineName> 帐户,重复此步骤。
      用户组。

    3. 如果使用 FrontPage 服务器扩展客户端(例如,FrontPage 或 Microsoft Visual InterDev),则打开 %systemdrive%\Inetpub\Wwwroot 文件夹的属性,选择 Authenticated Users 组,选择下列权限,然后单击“确定”:

      • 修改

      • 读取和执行

      • 列出文件夹内容

      • 读取

      • 写入

NTFS 权限

下表列出了在按照“在系统目录中禁用继承”一节的步骤时应用的权限。 该表仅供参考。

 要应用下表中的权限,请按照下列步骤操作:

  1. 打开 Windows 资源管理器。 为此,请单击“开始”,“程序”,“附件”,然后单击“Windows 资源管理器”。

  2. 展开“我的电脑”。

  3. 右键单击“%systemroot%”,然后单击“属性”。

  4. 单击“安全”选项卡,然后单击“高级”。

  5. 双击“权限”,然后从“应用到”列表中选择适当的设置。

注意在“应用到”列中,“默认”一词指“该文件夹、子文件夹及文件”。

目录

用户\组

权限

应用于

%systemroot%\ (c:\winnt)

Administrator

完全控制

默认

System

完全控制

默认

Users

读取、执行

默认

%systemroot%\system32

Administrators

完全控制

默认

System

完全控制

默认

Users

读取、执行

默认

%systemroot%\system32\inetsrv

Administrators

完全控制

默认

System

完全控制

默认

Users

读取、执行

默认

Inetpub\adminscripts

Administrators

完全控制

默认

Inetpub\urlscan(如果有)

Administrators

完全控制

默认

System

完全控制

默认

%systemroot%\system32\inetsrv\metaback

Administrators

完全控制

默认

System

完全控制

默认

%systemroot%\help\iishelp\common

Administrators

完全控制

该文件夹及文件

System

完全控制

该文件夹及文件

IWAM_<Machinename>

读取、执行

该文件夹及文件

Network

完全控制

该文件夹及文件

Service

该文件夹及文件

Users

读取、执行

该文件夹及文件

Inetpub\wwwroot(或内容目录)

Administrators

完全控制

该文件夹及文件

System

完全控制

该文件夹及文件

IWAM_<MachineName>

读取、执行

该文件夹及文件

Service

读取、执行

该文件夹及文件

Network

读取、执行

该文件夹及文件

可选**:

Users

读取、执行

该文件夹及文件


注意如果使用 FrontPage 服务器扩展,Authenticated Users 或 Users 组必须具有更改 NTFS 权限,才能执行创建、重命名、写入操作或从 FrontPage 类型的客户端(例如,Visual InterDev 6.0 或 FrontPage 2002)提供开发人员可能需要的功能。

在注册表中授予权限

  1. 依次单击“开始”、“运行”,键入 regedt32,然后单击“确定”。 请不要使用注册表编辑器,因为它不允许您更改 Windows 2000 中的权限。

  2. 在注册表编辑器中,找到并选择 HKEY_LOCAL_MACHINE

  3. 依次展开“系统”、CurrentControlSet、“服务”。

  4. 选择 IISADMIN 键,单击“安全”(或按 ALT + S),然后选择
    权限(或按 P)。

  5. 单击以清除允许可继承的权限从父对象传播到此对象复选框,单击“复制”,然后删除 除下列用户之外的所有用户:

    • Administrators(允许读取和完全控制)

    • System(允许读取和完全控制)

  6. 单击“确定”。

  7. MSFTPSVC 键,重复这些步骤。

  8. 选择 W3SVC 键,单击“安全”,然后单击“权限”。

  9. 单击以清除允许可继承的权限从父对象传播到此对象复选框,然后删除除下列项之外的所有项:

    • Administrators(允许读取和完全控制)

    • System(允许读取和完全控制)

    • Network(读取)

    • Service(读取)

    • IWAM_<MachineName>(读取)

  10. 单击“确定”。

注册表

下表列出了在执行“在注册表中授予权限”一节中的步骤时将应用的权限。 该表仅供参考。

注意首字母缩写词 HKLM 表示 HKEY_LOCAL_MACHINE。

位置

用户\组

权限

HKLM\System\CurrentControlSet\Services\IISAdmin

Administrators

完全控制

系统

完全控制

HKLM\System\CurrentControlSet\Services\MsFtpSvc

Administrators

完全控制

系统

完全控制

HKLM\System\CurrentControlSet\Services\w3svc

Administrators

完全控制

系统

完全控制

IWAM_<MachineName>

读取

在“本地安全策略”中授予权限

  1. 依次单击“开始”、“设置”和“控制面板”。

  2. 双击“管理工具”,然后双击“本地安全策略”。

  3. 在“本地安全设置”对话框中,展开“本地策略”,然后单击“用户权限分配”。

  4. 修改适当的策略:

    1. 双击该策略。

    2. 对下表中未列出的任一用户,选择并单击“删除”。

    3. 添加未列出的任一用户。 为此,请单击
      单击“添加”,然后在“选择用户或组”对话框中选择该用户。

请注意,因为域控制器策略会替代本地策略,所以必须确保有效策略设置匹配本地策略设置。

策略

下表列出了在执行“在‘本地安全策略’中授予权限”一节中的步骤时将应用的权限。

策略

Users

在本地登录

Administrators

IUSR_<MachineName>(匿名)

Users(需要验证)

从网络访问此计算机

Administrators

ASPNet (.NET Framework)

IUSR_<MachineName>(匿名)

IWAM_<MachineName>

“用户”

作为批处理作业登录

ASPNet

Network

IUSR_<MachineName>

IWAM_<MachineName>

Service

作为服务登录

ASPNet

Network

Bypass Traverse Checking

Administrators

IUSR_<MachineName>(匿名)

Users(基本、集成、摘要)

IWAM_<MachineName>

参考

有关如何为 Windows 2000 还原默认 NTFS 权限的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

266118如何恢复 Windows 2000 的默认 NTFS 权限

260985使用 CDONTS 所需的最低 NTFS 权限

324068如何为特定对象设置 IIS 权限

815153如何针对 ASP.NET 应用程序的安全性配置 NTFS 文件权限 有关 IIS 6.0 所需权限的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

812614IIS 6.0 的默认权限和用户权限
 

更多信息

本文不能满足以下服务器角色或应用程序的任何特定的安全需要:

  • Windows 2000 域控制器

  • Microsoft Exchange 5.5 或 Microsoft Exchange 2000 Outlook Web Access

  • Microsoft Small Business Server 2000

  • Microsoft SharePoint Portal 或 Team Services

  • Microsoft Commerce Server 2000 或 Microsoft Commerce Server 2002

  • Microsoft BizTalk Server 2000 或 Microsoft BizTalk Server 2002

  • Microsoft Content Management Server 2000 或 Microsoft Content Management Server 2002

  • Microsoft Application Center 2000

  • 依赖其他权限的第三方应用程序

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

你对翻译质量的满意程度如何?

哪些因素影响了你的体验?

是否还有其他反馈?(可选)

谢谢您的反馈意见!

×