active-directory - Kerberos:kvno 在客户端票据中是 '1'

标签 active-directory kerberos

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

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

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

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

我知道 Windows 2000 域存在兼容性问题(/kvno 1 必须用于 Windows 2000 域兼容性),但据说我们处理的是 Windows 2008R2 服务器(我可以看到域 Controller 的值 msDS-Behavior-Version = 4,与 2008R2 匹配!)。

有没有像我们面临的 W2K 域模式?

显式 kvno=1 是否有助于解决问题?即,ktpass.exe [..] /kvno 1
编辑#1

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

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

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

最佳答案

我不太了解内部结构,但 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 严重依赖广播,因此如果您的网络服务器在不同的子网上,NetBIOS 名称解析将失败,如果配置不正确,WINS 也会失败。 Windows 还需要使用 TCP/IP NetBIOS Helper 服务。

关于active-directory - Kerberos:kvno 在客户端票据中是 '1',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17021527/

相关文章:

ssl - 为 System.DirectoryServices.DirectoryEntry 设置回调以处理自签名 SSL 证书?

c# - 使用PrincipalContext和PrincipalSearcher从单独的服务器访问Active Directory用户

kerberos - CAS 和 Kerberos 之间的差异

c# - 事件目录跨域 - 使用 PrincipalContext 的组成员

active-directory - LDAP 查询查找具有多个父级的所有组

azure - Windows Azure AD 同步中缺少 DirectorySyncClientCmd.exe

kerberos - Dask hdfs3 在 kerberized 集群上的使用

java - 如何使用 Kerberos 在 hive UDF 中获得 HBase 连接?

kerberos - "Can' t 在 yarn 集群上获取 Kerberos 领域

java - Kerberos 身份验证错误 - Sqoop 通过 Hive 从 SQL 导入 HDFS