【问题标题】:Browser sends NTLM ticket instead of Kerberos ticket浏览器发送 NTLM 票证而不是 Kerberos 票证
【发布时间】:2014-03-19 23:28:26
【问题描述】:

我遇到了一个让我发疯的问题。我正在尝试在 windows server 2012 作为活动目录服务器、ubuntu 12.04 和 apache 作为 web 服务器以及 windows 7 笔记本电脑作为客户端(所有 3 个都在同一个本地网络上)的组合上实现单点登录。我想我已经正确设置了一切:

  • 我在 AD 服务器上创建了一个 keytab 文件,当从 web 服务器上的 kinit 命令使用它时,我没有收到任何错误,并且我可以确认之后使用 klist 收到了 kerberos 票证。

  • 我已经在网络服务器上的 krb5.conf 文件中设置了 AD-realm,并且由于 kinit 工作,我认为这是正确完成的。

  • 我正在测试的受保护目录在 apache2.conf 中设置如下:
    AuthType Kerberos
    KrbMethodNegotiate On
    KrbMethodK5Passwd 开启
    KrbAuthRealms ADREALM.LOCAL
    Krb5KeyTab /etc/apache2/test.keytab
    KrbServiceName NameOfSPNInKeyTabFile
    需要有效用户

  • 笔记本电脑已添加到 AD 服务器,登录后执行 klist 时会列出 3 个 KerbTicket。

  • 我已将网络服务器的 IP 地址添加到 IE 11(http 和 https)中的受信任站点列表中。

不过,当我尝试访问网络服务器上的受保护站点时,我不断收到一个要求登录名和密码的框。当我输入这些内容时,我会通过身份验证并访问该站点。

使用 WireShark,我可以确保客户端在被要求进行身份验证时首先发送 NTLM 票证。由于网络服务器需要一个 kerberos-ticket,这会失败,并且浏览器会退回到简单的身份验证,要求输入登录名和密码。收到这些信息后,网络服务器会联系 AD 服务器并验证凭据。因此身份验证有效 - 只是单点登录失败。

所以最大的问题是:为什么浏览器会在这种情况下发送 NTLM-ticket?我已经用 ie,firefox 和 chrome 对此进行了测试,它们都返回 NTLM-ticket。我尝试了不同的 SPN 名称组合,但结果都相同。是否有一些我遗漏的命名约定或其他可能有问题的地方?

【问题讨论】:

  • 可能与此问题完全无关,但在多林环境中,不要忘记 KFSO。我已经写好了我的解决方案here

标签: apache active-directory single-sign-on kerberos ntlm


【解决方案1】:

我发现 DNS 是问题所在。我将网络服务器添加到 AD 服务器上的 DNS,然后在从笔记本电脑打开页面时传输了 kerberos 票证。

【讨论】:

  • Bjarke,你能说说你具体做了哪些步骤吗?我们面临着类似的问题。有时我们会得到 kerberos 令牌,而大多数时候,它是 NTLM。
【解决方案2】:

我已经完成了这项工作,但与我们的 AD 管理员合作。他们从未真正明确说明在 AD 方面需要什么黑魔法,但需要某种“域信任”。这种信任是为了允许 Web 客户端发送 首先是 GSSAPI 凭据。我们花了几个星期才弄清楚这一点。

我们的配置和你的配置之间的一个区别是

KrbMethodK5Passwd 关闭

您还应该意识到,对于您的 AD 结构之外的 Windows 客户端,要使其正常工作几乎是不可能的。如果他们有外部 IP 地址,我使用 mod_rewrite 将他们定向到基于表单的登录。对初始 GSSAPI 版本失败的客户端使用类似的重定向。

您可能会在此网页上找到一些其他提示。

https://weblogin.stanford.edu/config.html

【讨论】:

  • 只是为了确定 - 域信任必须在网络服务器 (apache) 和 AD 服务器之间?知道如何建立这种信任吗?
  • 是的,在 AD 服务器端有一些神奇的配置会强制客户端首先发送 GSSAPI 而不是 NTLM。我不知道它是什么。可能是 Apache 服务器的 SPN 上的一些神奇配置?
猜你喜欢
  • 1970-01-01
  • 2021-10-20
  • 2018-12-07
  • 1970-01-01
  • 1970-01-01
  • 2011-12-23
  • 1970-01-01
  • 2016-02-17
  • 1970-01-01
相关资源
最近更新 更多