Kerberos 身份验证,并委派问题进行故障排除

文章翻译 文章翻译
文章编号: 907272 - 查看本文应用于的产品
IIS 开发人员支持语音列

Kerberos 身份验证,并委派问题进行故障排除

要自定义此列设置为您的需要,我们想要邀请您提交您的想法有关您和您想要查看的问题感兴趣的主题在将来解决知识文库文章和 Support Voice 专栏。您可以提交您的意见和反馈使用 诚征意见 表单。也是一个链接到该窗体,在此列的底部。
展开全部 | 关闭全部

本文内容

我的名字是马丁 Smith,我与 Microsoft 的 MicrosoftInternet Information Services (IIS) 解决关键问题组。我有与 Microsoft 已 9 年中,已经与 IIS 团队所有九个年份。我已在编译中的多个位置的信息 http://msdn.microsoft.comhttp://www.microsoft.com 有关 Kerberos 以及如何解决委派问题。

IIS 6.0

下面的白皮书介绍了如何设置中的委派Microsoft Windows 服务器 2003年。该白皮书具有的特定信息网络负载平衡 (NLB),但包括有关如何设置出色细腻的细节而无需使用 NLB 委派的情况。若要查看这份白皮书,请访问下面的 Microsoft Web 站点:
http://technet.microsoft.com/en-us/library/cc757299.aspx
注意使用 HTTP 服务主体名称 (Spn),尤其是当您使用NLB。

另一个受欢迎的 Kerberos 问题最近已需要允许为多个应用程序池使用相同的 DNS 名称。遗憾的是,使用 Kerberos 委派的凭据时,不能将绑定相同的服务主体名称 (SPN) 到不同的应用程序池。您不能这样做是因为Kerberos 的设计。Kerberos 协议需要共享的多个机密信息,以便能够正确的协议。通过使用的同一个 SPN 不同应用程序池,我们消除这些共享的机密之一。活动目录目录服务将不会支持这种配置的 Kerberos由于安全问题的协议。

在此配置 Spn方式会导致 Kerberos 身份验证失败。为此可能的解决方法问题是,使用协议转换。初始身份验证在客户端和服务器运行 IIS 之间会处理使用NTLM 身份验证协议。Kerberos 将处理之间的身份验证IIS 和后端资源服务器。

Microsoft Internet Explorer 6 或更高版本

客户端浏览器可能会遇到的问题如接收重复的登录提示输入凭据或"401 拒绝访问"错误消息从运行 IIS 的服务器。我们已发现可能的以下两个问题帮助您解决这些问题:
  • 请验证 启用集成的 Windows身份验证 在属性浏览器的选择。 有关详细信息,请单击下面的文章编号,若要查看 Microsoft 知识库中相应的文章:
    299838无法协商之后升级到 Internet Explorer 6 的 Kerberos 身份验证
  • 如果 Internet Explorer 增强的安全配置在添加/删除程序中启用,则必须添加使用委派到一个站点受信任的站点 列表。 有关详细信息,请单击下面的文章编号,若要查看 Microsoft 知识库中相应的文章:
    815141Internet Explorer 增强的安全配置更改浏览体验

IIS 5.0 和 IIS 6.0

之后从 IIS 4.0 升级到 IIS 5.0 或 IIS 6.0 中,委派可能无法正确,或者可能是其他人或应用程序已修改配置数据库属性 NTAuthenticationProviders 中。 有关如何解决此问题的详细信息,请单击下列文章编号,以查看 Microsoft 知识库中相应的文章:
248350从 IIS 4.0 升级到 IIS 5.0 后,Kerberos 身份验证失败

设置 SPN 时,可能会发生故障的特定区域

确定服务器名

确定是否您要通过使用连接到 Web 站点实际的 NetBIOS 名称的服务器,或使用一个别名的名称,如 DNS 名称(例如,www.microsoft.com)。如果您正在访问 Web 服务器,通过使用名称不是实际服务器的名称,新的服务主体名称(SPN) 必须使用 Setspn 工具从 Windows 2000 注册服务器资源工具包。因为 活动目录(AD) 目录服务不知道此服务名称,票证授予服务 (TGS) 不授予用户若要对用户进行身份验证票证。这种现象会强制客户端使用下一个可用的身份验证方法,是 NTLM 进行重新协商。如果网站服务器响应 www.microsoft.com DNS 名称,但服务器被命名为 webserver1.development.microsoft.com,您必须注册正在运行 IIS 的服务器上在 活动目录(AD) 中 www.microsoft.com。为此:您必须下载的 Setspn 工具并将其安装在运行 IIS 的服务器上。

如果您使用的 Windows Server 2003 和 IIS 6,Microsoft Windows Server 2003 的 Setspn 工具是从以下位置中:
http://support.microsoft.com/kb/970536
若要确定是否使用了真实名称进行连接请尝试使用真实名称而不是服务器的连接到服务器DNS 名称。如果您无法连接到服务器,请参阅"验证计算机被信任以便用于委任"一节。

如果您可以连接到服务器,请按照以下步骤为您用来连接的 DNS 名称的 SPN 设置到服务器:
  1. 设置 Setspn 工具。
  2. 在运行 IIS 服务器上,打开命令提示符,然后打开的 C:\Program Files\Resource 包文件夹。
  3. 运行下面的命令以添加此新的 SPN(www.microsoft.com) 对 活动目录(AD) 的服务器:
    Setspn-HTTP/www.microsoft.com webserver1
    注意在此命令中, webserver1 代表服务器的 NetBIOS 名称。
您收到类似于以下内容的输出:
Registering ServicePrincipalNames for CN=webserver1,OU=Domain Controllers,DC=microsoft,DC=com
HTTP/www.microsoft.com
Updated object
若要查看的 Spn 列表以检查这个新值的服务器上在运行 IIS 的服务器上键入以下命令:
Setspn-L webservername
请注意您不必注册所有服务。很多服务类型如 HTTP、 W3SVC、 WWW、 RPC,CIFS (文件访问权限)、 WINS,和不间断电源 (UPS) 时,会将映射到的默认服务类型命名的主机。例如,如果您的客户端软件使用的 SPN若要创建 HTTP 连接到 Web 服务器上的 HTTP/webserver1.microsoft.comwebserver1.microsoft.com 服务器上,但该 SPN 上未注册服务器,Windows 2000 域控制器将自动映射与 HOST/webserver1.microsoft.com 的连接。仅当应用此映射Web 服务在本地系统帐户下运行。

验证该计算机受信任以进行委派

如果此运行 IIS 的服务器是域的成员,但不是域控制器上,该计算机必须被信任作为委派到 Kerberos正常工作。若要执行此操作,请执行以下步骤:
  1. 在域控制器上,请单击 开始,指向 设置然后单击 控件面板.
  2. 在控制面板中,打开 管理工具.
  3. 双击 活动目录用户和计算机.
  4. 在您的域,请单击 计算机.
  5. 在列表中,找到运行 IIS 的服务器,请右键单击服务器名称,然后单击 属性.
  6. 单击 常规 选项卡上,单击以选择受信任以进行委派 复选框,然后单击确定.
请注意,如果多个 Web 站点都达到相同的 URL,但在不同的端口,将不能委派。若要实现此目的,必须使用不同的主机名和其他 Spn。当 Internet Explorer 请求或者http://www。mywebsite.com 或http://www。mywebsite.com:81,Internet ExplorerSPN HTTP/www.mywebsite.com 的要求将票证。Internet Explorer 将不会添加端口或对该 SPN 请求 vdir。这种行为是相同的http://www。mywebsite.com/app1 或http://www。mywebsite.com/app2。在这种情况下,Internet Explorer 将 SPN 的请求票证http://www。mywebsite从密钥分发.com中心 (KDC)。可以只为一个标识声明一个 SPN。因此,您如果您尝试将此声明还会收到 KRB_DUPLICATE_SPN 错误消息每个标识的的 SPN。

委派和 Microsoft ASP.NET

有关详细信息使用 ASP.NET 时委派的凭据配置应用程序中,请单击下面的文章编号,以查看在文章Microsoft 知识库文章:
810572如何配置 ASP.NET 应用程序,用于委派方案
模拟和委派是两种方法服务器的名义运行的客户端进行身份验证。确定以下哪种若要使用的方法和它们的实现会导致混乱。您必须检查这两种方法之间的差异,并检查以下哪种您可能想的方法都使用您的应用程序。我建议应为请阅读下面的白皮书,了解详细信息:
http://msdn2.microsoft.com/en-us/library/ms998351.aspx

参考

http://technet.microsoft.com/en-us/library/cc757299.aspx

http://msdn.microsoft.com/msdnmag/issues/05/09/SecurityBriefs/default.aspx

305971 Windows 2000 服务器就会提示输入凭据的域用户
262177 如何启用 Kerberos 事件日志记录
326985 如何在 IIS 中对 Kerberos 相关的问题进行疑难解答
842861 TechNet 网络广播: 故障诊断与安全 Web 应用程序和 Microsoft SQL Server 的 Kerberos 身份验证
与以往一样,随意提交有关的主题的意见则希望在今后的专栏中或在知识文库中使用地址 询问它 表单。

属性

文章编号: 907272 - 最后修改: 2013年5月30日 - 修订: 6.0
这篇文章中的信息适用于:
  • Microsoft Internet Information Services 6.0
关键字:?
kbiis kbhowto kbasp kbmt KB907272 KbMtzh
机器翻译
重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。
点击这里察看该文章的英文版: 907272
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com