我们的环境中使用了很多 Kerberos 身份验证,大多数情况下似乎都有效,但当我们打开 Kerberos 错误日志时,仍然会弹出一些错误。最让我困扰的两个错误是 KDC_ERR_S_PRINCIPAL_UNKNOWN,根据http://technet.microsoft.com/en-us/library/cc772897(WS.10).aspx是服务器不在 Kerberos 数据库中。假设域为 corp.lan,两个错误消息针对的是服务器名称:app.corp.lan 和 dc1.corp.lan。现在,当我执行 setspn -l app 时,我得到了大量的 spn,但没有 app.corp.lan 的 spn。dc1 也是如此,setspn -l dc1 返回 15+ 条记录,setspn -l dc1.corp.lan 重新运行错误。这是一个我们应该尝试追踪和修复的“真正”错误吗?还是只是一些奇怪的应用程序发出了错误的 Kerb 请求?
答案1
您需要检查错误消息以了解这些 SPN 未注册的服务。
这意味着这些服务的 Kerberos Auth 将失败。也许有 NTLM 第二个选项,也许没有。您应该检查每个返回错误的服务。
我注意到有时错误消息不会显示请求票证的 kerberos 服务,因此您可以使用 Ethereal 来检查这一点。我希望事件查看器上有某种查询(如 sql)。
如果一切正常,我通常不会费心,但如果您需要使用某些损坏而您从未意识到的东西,您可以稍后在地毯下面找到一些东西。