Kerberos:客户票中的kvno为'1'

时间:2013-06-10 10:16:23

标签: active-directory kerberos

我们正在为客户配置我们的Web应用程序的SSO,但遗憾的是我们无法访问域控制器(我们不再进行更多实验来检查我们的假设的另一个原因)。因此,我们要求运行ktpass.exe并准备.ktpass文件以用于我们的服务器配置。

我们面临的问题是“指定版本的密钥不可用”。

我查找了keytab文件(knvo = 5),并在我们的网络服务器上使用Wireshark检查了流量: enter image description here

如您所见,AP-REQ票证中的kvno = 1。我想这是检查kvno版本的正确票据。

我知道Windows 2000域存在兼容性问题(/kvno 1必须用于Windows 2000域兼容性),但我们据说处理Windows 2008R2服务器(我可以看到值{{1对于我们的域控制器,它匹配2008R2!)。

我们面临的是W2K域名模式吗?

显式kvno = 1会帮助解决问题吗?即,msDS-Behavior-Version = 4

编辑#1

问题在于错误指定了SPN。它是HTTP /computer_name@DOMAIN.COM,而不是使用完全限定的域名。这只有在启用WINS时才有效,但事实证明它不是。

使用正确的SPN生成密钥表后,一切正常,并根据实际帐户值发送kvno。

请接受解释我观察到的效果的答案。

2 个答案:

答案 0 :(得分:4)

我不太了解内部,但MIT Kerberos客户do forward resolution of the hostname part of a host-based service principal规范化主机名。根据我的经验,如果名称无法解析,它确实会影响Kerberos身份验证。当我为SQL Server设置服务帐户以执行Kerberos时,我总是必须使用主机名和完全限定的域名注册SPN,因为不同的SQL组件似乎使用不同的解析方法。

在非常基本的网络拓扑中,WINS可以解析名称。即使没有WINS,NetBIOS服务也能够解析主机名。 WINS和NetBIOS严重依赖于广播,因此如果您的Web服务器位于不同的子网上,NetBIOS名称解析将失败,如果配置不正确则也会失败。 Windows也需要使用TCP / IP NetBIOS Helper服务。

答案 1 :(得分:1)

问题在于错误指定了SPN。它是HTTP/computer_name@DOMAIN.COM而不是使用完全限定的域名。这只有在启用WINS时才有效,但事实证明它不是。

使用正确的SPN生成密钥表后,一切正常,并根据实际帐户值发送kvno。

请接受解释我观察到的效果的答案。