Active Directory 与 MIT Kerberos 之间的跨领域信任

Active Directory 与 MIT Kerberos 之间的跨领域信任

我目前正在扩展我的开发环境,到目前为止,该环境仅运行 Linux 服务器,现在我通过添加运行 Windows Server 2016 的计算机来扩展它。身份验证过程由 MIT Kerberos 处理。对于新的 Windows 计算机,我计划使用 Active Directory。由于我不想在两个系统中管理用户,因此我正在 Windows AD 和现有的 MIT Kerberos 安装之间建立跨领域信任。

为此,我遵循了以下指南:https://bluedata.zendesk.com/hc/en-us/articles/115007484067-如何建立跨领域信任从MIT-KDC到AD

现在,我注意到我可以从 Windows AD 中为 Linux 机器上的 AD 中的用户获取票证:运行完成,没有任何错误,并按预期给我一张票证。kinit [email protected]

另一方面,我无法使用来自 MIT Kerberos 设置的帐户登录任何 Windows 计算机。尝试使用我的测试帐户([email protected]来自 MIT 领域 DOMAIN.LOCAL)登录会引发以下错误:

“服务器上的安全数据库没有此工作站信任关系的计算机帐户”。

我注意到的另一件事是,当我尝试使用命令验证信任关系时netdom trust DOMAIN.LOCAL /Domain:AD.DOMAIN.LOCAL /Kerberos /verbose /verify,收到以下错误消息:

“无法联系域 DOMAIN.LOCAL。命令未能成功完成。”

似乎 Windows AD 无法与 MIT Kerberos 安装通信,但这似乎很奇怪,因为它显然确实反过来工作。我已经仔细检查了所有 DNS 记录(domain.local、ad.domain.local 和 KDC 的 FQDN)是否解析到正确的 IP 地址。在研究这个问题时,我偶然发现了这篇文章https://stackoverflow.com/questions/45236577/using-mit-kerberos-as-account-domain-for-windows-ad-domain,一开始看起来很有希望,但无法帮助我解决问题。任何帮助都非常感谢!

答案1

公平地说,我在这方面的知识目前已经非常过时了。就像 2000 年代初、Windows 2003 时代的 Active Directory 一样。所以现在情况可能有所不同。

主要问题是 Windows 默认不知道如何找到 MIT 领域的 KDC(具有讽刺意味的是,它不会像 AD 那样使用 DNS 来查找)。有一个名为ksetup.exe它将允许您将领域名称映射到一个或多个 KDC 服务器。最终,此实用程序只是设置一些注册表值。因此,如果需要,您可以使用组策略自动执行此操作。

更新:@grawity 提到,只要存在正确的 SRV 记录并且至少使用 ksetup 来定义领域,Windows 实际上就能够通过 DNS 找到 KDC。

我们在 AD 中还拥有与 MIT 领域中定义的用户相匹配的“影子”帐户。这些帐户的密码并不重要,它们必须存在。我们可能还设置了一些与 MIT 领域相关的其他属性,如 UPN 或 SPN。不过记忆已经模糊了。

另一件需要注意的事情是 AD 和 MIT 领域之间支持的加密类型。如果两者都是最新的,那么可能就没问题了。但是当我们这样做时,我们的 MIT 领域已经很旧了,我们必须在 AD 中添加组策略来添加 MIT 领域支持的一些旧版加密类型。

希望这能让你朝着正确的方向前进。

相关内容