在 url 中使用别名时 NTLM 而不是 Kerberos 和 Chrome 版本 69

Posted

技术标签:

【中文标题】在 url 中使用别名时 NTLM 而不是 Kerberos 和 Chrome 版本 69【英文标题】:NTLM instead of Kerberos with Chrome version 69 when using alias in url 【发布时间】:2018-09-06 05:26:30 【问题描述】:

自从更新到 69.0.3497.81 版本后,我们的应用程序上的 kerberos 身份验证不再起作用。我不掌握身份验证过程,但似乎 chrome 使用 NTLM 而不是 Kerberos 进行身份验证。

访问我们应用程序的 url 使用别名。示例:

https://myApplication/test

应用程序部署在服务器上:serverA.domain.com

我认为 keytab 引用了 serverA.domain.com。

我注意到,如果我在域中使用完整的服务器名称,它可以工作! -> https://serverA.domain.com/test

我们确认使用以前的 chrome 版本,它可以工作。

你们在上次 chrome 更新时遇到过类似的问题吗?有什么建议吗?

【问题讨论】:

与 keytabs 无关;默认情况下,Kerberos 需要 规范 DNS 名称,并执行 DNS 查找然后反向查找以防止 IP 欺骗。 你是对的。就像我说的那样,我发现了这个主题,它不是我的域;)问题是 chrome 自从上次更新以来没有做 Cnames 的解析。已完成修复并将很快发布到新的 chrome 版本。 【参考方案1】:

这是谷歌浏览器上的一个错误。从版本 69.0.3497.23 开始,chrome 不再解析 Cnames。因此,如果您在 DNS 中使用别名,它不会被解析并直接用于协商 kerberos。

chrome 出现错误“ERR_ACCESS_DENIED”。

如果 SPN 不正确,票证获取将失败。在这些情况下,Windows 默认使用 NTLM。

来自错误聊天的更多解释:

“异步主机解析器当前不解析 CNAME。因此使用 异步解析器当前不兼容 HttpAuthHandlerNegotiate 哪里需要正确的 CNAME 查找。”

错误:https://bugs.chromium.org/p/chromium/issues/detail?id=872665

希望这对其他人有所帮助!

【讨论】:

【参考方案2】:

是的,我们有这样的问题,这似乎是最新版本的 Chrome 中的一个错误,请参阅https://bugs.chromium.org/p/chromium/issues/detail?id=872665

【讨论】:

您在两天前引用了与 Mathieu 相同的错误。这个答案并没有比他的好。

以上是关于在 url 中使用别名时 NTLM 而不是 Kerberos 和 Chrome 版本 69的主要内容,如果未能解决你的问题,请参考以下文章

cloudfront 重定向到源而不是别名

curl:如何在 Windows 上使用 Kerberos 而不是 NTLM 身份验证?

Asp.Net Core HTTP.SYS Windows 身份验证回退到 NTLM 而不是 Kerberos

NET命令用不了,提示:不是内部或外部命令

在 Axios 中使用 NTLM 身份验证

你啥时候在流中使用接口而不是类型别名?