可以进行Kerberos / AD设置吗?


10

我们有一个稍微复杂的IDAM设置:

在此处输入图片说明

也就是说,最终用户的机器和浏览器与父AD位于一个网络中,而基于Jetty的应用程序和可以与之通信的AD(本地AD)位于另一个网络中。

两个广告之间存在双向信任。父网络中的浏览器在受信任的站点中具有本地域。

Jetty服务器的设置如下:

  • 它使用针对本地AD中的主体生成的keytab文件
  • 它在本地AD中定义的用户下作为Windows服务运行
  • 根据本地AD的域定义领域,领域-领域映射和kdc
  • 它使用spnego-isInitiator设置为false;doNotPrompt为true;storeKey为true

问题是:

  • 作为测试,从本地网络(即链接到本地AD)内的浏览器访问服务器的工作原理 - Kerberos的调试信息出现在日志中,我可以看到的HTTP流量正确的Kerberos协商,并且用户在自动签署。辉煌。
  • 但是,无法从父网络内部的浏览器访问服务器(这是我们的用户执行操作的方式)!浏览器将返回401取消身份验证,但随后会提示您输入凭据,输入凭据后将显示空白屏幕。然后,单击地址栏并单击Enter,将执行以下两项操作之一,具体取决于凭据是用于远程AD还是本地AD:

    • 本地AD凭据,然后使用Kerberos从头开始在日志中正常登录(GET请求,401取消身份验证响应,Kerberos头请求等)
    • 远程AD证书不登录(GET请求,401 UNAUTH响应,看起来像一个NTLM头:Authorization: Negotiate <60 or so random chars>

无论哪种方式,提示的事实都是错误的!

这些症状有解释吗?我们可以进行设置吗?

就上述描述而言,可能是错误的:我提到的有关Jetty服务器的任何配置都应该是准确的,就像我所做的那样。很高兴提供更多详细信息。有关AD或父网络浏览器的任何配置都可能受到怀疑,因为它不在我的控制之下,而且我已经向我报告了该配置,而不是亲自查看。


_kerberos._tcp.OurITOrgDomain和_kerberos._tcp.partentdomain的dns结果中列出的服务器的浏览器之间是否打开了TCP / 88?您可以使用在Jetty服务器上进行身份验证所需的凭据从计算机“浏览器”中初始化吗?
雅各布·埃文斯

roguelynn.com/words/explain-like-im-5-kerberos可能为您的防火墙可能引起问题的方式提供了启示(同样,来自客户端的两个DC均为88)
Jacob Evans

在不进行网络捕获的情况下,太多的变量无法进行详细的逐步说明。然后,您将快速查看SPN是否已正确设置,或者是否需要将浏览器配置为以静默方式进行身份验证。
user2320464

Answers:


3

没有看到数据包捕获,我猜想HTTP / www.website.com SPN需要注册到运行该应用程序的帐户。Microsoft的目录服务团队在下面的URL上有一篇很不错的分多个部分来讨论此主题。

https://blogs.technet.microsoft.com/askds/2008/05/29/kerberos-authentication-problems-service-principal-name-spn-issues-part-1/

在每个环境中从客户端运行数据包捕获(netmon,wireshark),以识别要查找的SPN。确定后,使用setspn cmd将其注册到运行该应用程序的帐户。

FWIW,Kerberos仅在LAN上有效。如果某人需要访问无法访问域控制器的访问权限,则需要考虑使用Shibboleth或ADFS之类的SSO。

编辑:如@ alex-h所述,需要将浏览器配置为通过Kerberos进行静默身份验证。

  • Internet Explorer-尽管TechNet文章并非专门针对您的应用程序,但步骤是相同的​​。
  • Firefox-与IE链接相同,不完全匹配,但步骤相同。

最后,这是Microsoft Sharepoint部署的常见问题。他们希望一旦用户对域进行身份验证,就可以通过Kerberos静默进行SSO。因此,如果上述答案不能解决您的问题,请尝试检查其论坛,例如:

Chrome,Safari或FireFox上的Kerberos


一个很好的答案,比我的好!
亚历克斯·H

多亏了你们俩-我花了几天的时间才能阅读链接的文档,但是我还没有放弃这个问题或任何东西!
罗伯特·格兰特

嗯,实际上不是,但是我认为最好接受这个答案,因为真正的答案是非常不寻常的情况,我将其添加为单独的答案。非常感谢你!
罗伯特·格兰特

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.