摘要式身份验证

摘要式身份验证提供与基本身份验证相同的功能;但是,摘要式身份验证在通过网络发送用户凭据方面提高了安全性。摘要式身份验证将凭据作为 MD5 哈希或消息摘要在网络上传送(无法从哈希中解密原始的用户名和密码)。在 Web 分布式创作和版本控制 (WebDAV) 目录中可以使用摘要式身份验证。

不需要安装额外的客户端软件;但正如万维网联合会网站中的 RFC 2617 规范所定义的一样,摘要式身份验证依赖于 HTTP 1.1 协议。因为摘要式身份验证需要与 HTTP 1.1 兼容,所以并非所有的浏览器均支持该验证。如果与 HTTP 1.1 不兼容的浏览器从使用摘要式身份验证的服务器请求文件,则该服务器将要求客户端提供摘要式身份验证凭据。与 HTTP 1.1 不兼容的客户端拒绝该请求,因为客户端不支持摘要式身份验证。

摘要式身份验证的要求

在 IIS 服务器上启用摘要式身份验证之前,必须满足以下最低要求。只有域管理员才能够验证是否达到域控制器要求。如果不知道域控制器是否达到以下要求,请与域管理员联系。

要点 要点 如果服务器在工作进程隔离模式下运行,则必须以 LocalSystem 帐户的身份运行。

子验证

当域控制器运行 Windows 2000 时,要在 IIS 6.0 中使用摘要式身份验证,必须启动子验证(在 IIS 6.0 上没有默认安装)。要启用子验证,必须满足三个要求:

安装子验证组件

  1. 从“开始”菜单,单击“运行”。
  2. 在“打开”框中,键入 cmd,然后单击“确定”。
  3. 在命令提示符下,键入 rundll32 systemroot\system32\iissuba.dll,RegisterIISSUBA
  4. 按 Enter。
  5. 对于任何使用摘要式身份验证的应用程序池,请将标识设置为 LocalSystem。

当不再需要使用子验证时,撤销注册子验证组件。

撤销注册子验证组件

  1. 从“开始”菜单,单击“运行”。
  2. 在“打开”框中,键入 cmd,然后单击“确定”。
  3. 在命令提示符下,键入 rundll32 systemroot\system32\iissuba.dll,UnregisterIISSUBA
  4. 按 Enter。

客户身份验证过程

以下步骤概述了如何使用摘要式身份验证对客户进行身份验证:摘要式身份验证客户验证。
  1. 客户从运行 IIS 的服务器请求文件。
  2. 运行 IIS 的服务器拒绝请求,并给客户端发送以下信息:
  3. Internet Explorer 提示用户输入凭据(用户名和密码)。然后,Internet Explorer 合并这些凭据和领域名称以创建一个 MD5 哈希,并从运行 IIS 的服务器重新提交文件请求,此时发送的是 MD5 哈希。
  4. 运行 IIS 的服务器接收哈希,并将客户端的哈希发送到域控制器以进行验证。
  5. 域控制器向运行 IIS 的服务器通知验证结果。
  6. 如果客户端已经过身份验证,则 IIS 将请求的文档或数据发送到客户端。

要点 要点 仅当域控制器拥有 Active Directory 中存储的所请求用户密码的可逆加密(明文)副本时,摘要式身份验证才会完成。要以明文方式存储密码,您需要在 Active Directory 中激活用户“帐户”选项卡上的“使用可逆的加密保存密码”设置。或者,设置组策略以启用该功能。在指定此设置后,您需要设置新的密码以激活此功能,因为无法确定旧密码。有关在 Active Directory 中设置用户属性的详细信息,请参阅 Windows 帮助。

配置摘要式身份验证

要在运行 IIS 的服务器上启用摘要式身份验证,您需要完成以下两个任务:

要点 要点 您必须是本地计算机上 Administrators 组的成员或者必须被委派了相应的权限,才能执行下列步骤。作为安全性的最佳操作,请使用不属于 Administrators 组的帐户登录计算机,然后使用运行方式命令以管理员身份运行 IIS 管理器。在命令提示符下,键入 runas /user:administrative_accountname "mmc %systemroot%\system32\inetsrv\iis.msc"

为 Windows 域服务器启用摘要式身份验证

  1. 在 IIS 管理器中,右键单击“网站”文件夹、网站、虚拟目录或文件,然后单击“属性”。

    注意 注意 所有网站均能继承在网站文件夹级别设定的配置设置。

  2. 单击“目录安全性”或“文件安全性”选项卡,具体情况取决于所配置的安全设置级别。
  3. 在“身份验证和访问控制”部分中,单击“编辑”。
  4. 在“用户访问需经过身份验证”部分中,选择“Windows 域服务器的摘要式身份验证”复选框。
  5. 在“领域”框中,键入领域的名称,或者单击“选择”以浏览域。
  6. 单击“确定”两次。

注意 注意 如果为所配置的站点、虚拟目录或文件夹启用了基本身份验证,则还可以使用“默认域”框。但是,对于摘要式身份验证而言,只有“领域”是有效的。

配置领域名称

除了使用 IIS 管理器配置领域名称外,还可以使用脚本在任何配置数据库级别配置领域名称(如下表所示)。如果没有特别配置子项,则它将从上一配置级别继承其配置。

配置数据库级别 描述
W3SVC W3SVC 级别(也称为 IISWebService 级别)是可以配置摘要式身份验证的配置数据库中的最高级别。没有具体配置设置的较低级别可以继承在此级别设置的配置。
W3SVC/n W3SVC/n 级别(也称为 IISWebService 级别)是特定的网站,其中 n 是该站点的编号。站点从 1 开始编号。默认网站为 1。
W3SVC/n/root W3SVC/n/Root 级别(称为 IISWebVirtualDir 级别)是网站的起点,其中 n 是该站点的编号。
W3SVC/n/root/vdir W3SVC/n/ROOT/WebVirtualDir 级别(称为 IISWebVirtualDir 级别)是网站中的虚拟目录,其中 n 是该站点的编号。
W3SVC/n/root/vdir/webdir W3SVC/n/Root/WebVirtualDir/WebDir 级别(也称为 IISWebDirectory 级别)是网站内虚拟目录中的物理目录,其中 n 是该站点的编号。
W3SVC/n/root/vdir/file W3SVC/n/root/vdir/file 级别是 W3SVC/n/ROOT/WebVirtualDir 级别中的单独文件,其中 n 是该站点的编号。
W3SVC/n/root/vdir/webdir/file W3SVC/n/root/vdir/file 级别是 W3SVC/n/Root/WebVirtualDir/WebDir 级别中的单独文件,其中 n 是该站点的编号。

可以在运行 IIS 的服务器上配置一个或多个领域名称。可能需要配置多个领域名称,例如,给 domain1 的成员授予访问 sales 虚拟目录的权限,给 domain2 的成员授予访问 engineering 虚拟目录的权限。它尤其适用于 domain1 和 domain2 没有受信关系的情形。如果配置多个领域名称,则必须在不同的配置数据库级别对它们进行配置。有关域的详细信息,请参阅 Windows Server 2003 家族帮助。

如果没有给配置数据库中的某个子项配置领域名称,则该子项从配置了领域名称的上一个父项继承领域名称。如果没有配置领域名称,则 IIS 发送其自己的计算机名称作为领域名称。如果 IIS 发送其自己的名称作为领域名称,并且 IIS 不是在具有 Active Directory 的 Windows Server 2003 家族域控制器上运行,摘要式身份验证将失败。由于安全风险和性能方面的原因,建议不要在域控制器上运行 IIS(尽管也可以在上面运行)。


© 1997-2003 Microsoft Corporation。保留所有权利