如何确保机器加入了“Kerberos 域”?

如何确保机器加入了“Kerberos 域”?

我遇到了一些问题对 Windows API 函数的调用LogonUser将回退到NTLM身份验证,而不是使用首选的默认Kerberos身份验证。

研究这个问题,一个人有个建议

要做的是弄清楚为什么代码首先使用 NTLM 而不是 Kerberos,因为 Kerberos 是默认的,并尝试看看是否可以更改它以使其使用 Kerberos。我想到了几件事:

  • 客户端计算机必须加入域才能使用 Kerberos

现在我已经绝不听说过being domain joined to use Kerberos。您要么加入了 Active Directory 域,要么没有,对吗?

在这种情况下,机器加入 Active Directory 域,例如:

contoso.local

“是什么意思”域已加入以使用 Kerberos“;我如何确保我的机器是?

答案1

每当我听到或使用术语“域加入”时,它的意思是“加入 Active Directory 域的状态”。

答案2

睡了一觉才明白@TheCleaner 和@HarryJohnston 的评论。

原作者的观点非常明显,我的大脑一直在寻找其真正的含义。

Kerberos 身份验证仅适用于 Active Directory 域(以下称为一个域)。

Machine Joined to        Logon Types available
=====================    ================================
Workgroup                NTLM
Windows NT 4 domain      NTLM
Active Directory domain  Kerberos (with fallback to NTLM)

您希望使用 Kerberos 的唯一方式是加入 Active Directory 域。

我原以为这是非常基本的问题,甚至不存在任何问题。

但这里有建议。

答案3

要查看某台机器是否正在使用 kerberos 身份验证,您可以使用“Kerberos 托盘”,并klist查看是否可以看到 KTG(kerberos 票证授予票证)。如果看到此信息,则表示您已“加入”kerberos 域。

Kerberos 托盘和 Kerberos 列表klist包含在 Windows Server 2003 资源工具包和 Windows 2000 资源工具包中。

也可以看看:http://technet.microsoft.com/en-us/library/cc738673%28v=ws.10%29.aspx

答案4

我遇到过一个问题,由于端口 88 被阻止而强制进行 NTLM 回退,这是 DMZ 中的一个奇怪配置,与您的问题无关,但有用的一点是我们通过进行网络跟踪确定了回退的原因。我们可以准确地观察到 Kerberos 请求尝试(并失败)的 IP 和端口,3 组数据包,然后是发生故障时发出的 NTLM 请求。在这种情况下,我们只需要打开一个端口,您的情况可能会有所不同,但跟踪中的信息应该可以帮助您找出回退的原因。

相关内容