当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 在 IIS 网站上配置 Kerberos 身份验证

作者:精品下载站 日期:2024-12-14 22:48:56 浏览:13 分类:玩电脑

在 IIS 网站上配置 Kerberos 身份验证


以下是有关如何在运行 Windows Server 2012 R2 的 IIS 网站上配置透明 SSO(单点登录)Kerberos 域用户身份验证的分步指南。

在 Web 服务器上启动 IIS 管理器,选择必要的网站并转到身份验证部分。如您所见,默认情况下仅启用匿名身份验证。禁用它并启用Windows 身份验证首先,IIS 始终尝试执行匿名身份验证)。

[玩转系统] 在 IIS 网站上配置 Kerberos 身份验证

打开可用于 Windows 身份验证的提供商列表(提供商)。默认情况下,有两个可用的提供程序:NegotiateNTLM。 Negotiate是一个使用Kerberos作为第一种身份验证方法的容器,如果身份验证失败,则使用NTLM。要求 Negotiate 在提供商列表中排在第一位。

[玩转系统] 在 IIS 网站上配置 Kerberos 身份验证

下一步包括注册用户将访问的网站名称的服务主体名称 (SPN) 条目。如果 IIS 网站必须仅通过其所在服务器的名称(http://server-namehttp://server-name.adatum.loc)访问,则无需创建其他 SPN 条目(SPN 条目已存在于 AD 中的服务器帐户中)。如果网站地址与主机名不同,或者您正在构建具有负载平衡功能的网络场,则必须将其他 SPN 条目连接到服务器或用户帐户。

假设我们有一个 IIS 服务器场。在这种情况下,最好创建一个单独的 AD 帐户并将 SPN 条目与其绑定。我们网站的目标应用程序池将从该帐户启动。

创建域帐户 iis_service。确保未为此对象分配 SPN 条目(servicePrincipalName 属性为空)。

[玩转系统] 在 IIS 网站上配置 Kerberos 身份验证

假设网站必须在 http://webportalhttp://webportal.adatum.loc 进行响应。我们必须在服务帐户的 SPN 属性中指定这些地址。

Setspn /s HTTP/webportal adatum\iis_service
Setspn /s HTTP/webportal.adatum.loc adatum\iis_service

[玩转系统] 在 IIS 网站上配置 Kerberos 身份验证

因此,当用户访问这些地址时,我们允许此帐户解密 Kerberos 票证并验证会话。

您可以像这样检查帐户的 SPN 设置:

setspn /l iis_service

[玩转系统] 在 IIS 网站上配置 Kerberos 身份验证

提示。如果不同的域条目使用相同的 SPN,Kerberos 将无法正常工作。使用以下命令,确保域中没有重复的 SPN:

setspn -x

下一步是配置 IIS 应用程序池,以从之前创建的帐户启动它。

选择您网站的应用程序池(在我们的示例中为 DefaultAppPool)。

[玩转系统] 在 IIS 网站上配置 Kerberos 身份验证

打开高级设置并转到身份。

[玩转系统] 在 IIS 网站上配置 Kerberos 身份验证

将其从 ApplicationPoolIdentity 更改为 adatum\iis_service

[玩转系统] 在 IIS 网站上配置 Kerberos 身份验证

然后在 IIS 管理器中转到您的网站并选择配置编辑器

在下拉菜单中选择system.webServer > 安全 > 身份验证 > windowsAuthentication

[玩转系统] 在 IIS 网站上配置 Kerberos 身份验证

useAppPoolCredentials 更改为 True

因此,我们允许 IIS 使用域帐户来解密来自客户端的 Kerberos 票证。

使用以下命令重置 IIS:

iisreset

[玩转系统] 在 IIS 网站上配置 Kerberos 身份验证

必须在所有网络场服务器上进行相同的配置。

让我们测试 Kerberos 身份验证。为此,请在客户端浏览器中打开 http://webportal.adatum.loc。

[玩转系统] 在 IIS 网站上配置 Kerberos 身份验证

您可以通过使用 Fiddler 监控 HTTP 流量来确保您的网站使用 Kerberos 身份验证。

启动Fiddler并在浏览器中打开目标网站。在窗口的左侧,找到网站访问线。转到窗口右侧的“检查器”选项卡。 “授权标头(协商)似乎包含 Kerberos 票证”行表明 Kerberos 已用于在 IIS 网站上进行身份验证。

[玩转系统] 在 IIS 网站上配置 Kerberos 身份验证

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯