Kerberos 和 IIS6:仅与特定用户合作

Kerberos 和 IIS6:仅与特定用户合作

我正在设置 Kerberos,但遇到了一些奇怪的问题。我正在用两个用户测试它,一个用户具有有效的 SPN 并且被信任进行委派(用户 1),另一个用户没有有效的 SPN 并且不被信任进行委派(用户 2)。测试在服务器和客户端上执行。用户设置在应用程序池级别。这是它目前的工作方式

From the server:
Using IP to access Application running under user1: Negotiate and chooses NTLM
Using domain name to access Application running under user1: Kerberos
Using IP to access Application running under user2: Negotiate and chooses NTLM
Using domain name to access Application running under user2: Negotiate and chooses NTLM

From the client:
Using IP to access Application running under user1: Kerberos
Using domain name to access Application running under user1: Kerberos
Using IP to access Application running under user2:Logon Process:Kerberos, Unknown user name or bad password
Using domain name to access Application running under user2:  Logon Process:Kerberos, Unknown user name or bad password

是否可以解决这个问题,以便我只需要对实际需要委派的用户使用 setspn,而让 kerberos/NTLM 与不需要委派的其他用户一起工作?这样我就可以为需要委派的用户帐户使用 setspn,而只使用其他帐户而无需配置它们?似乎 Kerberos 软件包无法为用户找到通往服务器的途径,因为当我在服务器上测试时它与 NTLM 一起工作,但当我从客户端测试时却不能。

答案1

委派不适用于 NTLM,并且为了使委派适用于 Kerberos,您需要为计算机设置 SPN 以及(如果使用)用于托管应用程序池的服务帐户。

通常,SPN 会分配给托管应用程序的计算机名称以及用于与您的网站关联的 IIS 应用程序池的“身份”选项卡的用户帐户。如果您的应用程序需要访问其他计算机上的资源,同时模拟登录到 IIS 应用程序的用户,则通常需要在应用程序池的“身份”选项卡中使用非用户(服务)帐户。

对于只需登录并使用 IIS 应用程序的用户,不需要 SPN 和受信任的委派。

被信任委派的帐户可以冒充其他用户帐户,无需密码甚至安全令牌。这是一项安全关键功能,普通用户帐户绝不应该这样做。

相关内容