通过负载均衡器进行 Kerberos 身份验证

通过负载均衡器进行 Kerberos 身份验证

我大致了解负载平衡器给 Kerberos 带来的问题。事实上,微软的知识库文章直截了当地说这是不可能的。然而,本文- 也在 MS 网站上 - 表明有可能的解决方法。

有人配置过使用 Kerberos 和负载平衡器的系统吗?您是否需要使用 Forefront 服务器?您能描述一下您的设置吗?

另外,Forefront 服务器提供的实现此功能的具体功能是什么?据我了解,负载平衡器后面的每台服务器都需要不同的 SPN,而负载平衡器前面的任何服务器都无法知道要为哪个 SPN 请求票证。

答案1

您是否咨询过负载均衡器供应商?例如,F5 的本地流量管理器 (LTM) 具有高级客户端身份验证 (ACA) 模块,可为 Kerberos 约束委派提供支持。

http://www.f5.com/pdf/white-papers/kerberos-constrained-delegation-pki-wp.pdf

答案2

我已经配置了 kerberos 和 haproxy 负载均衡器(有点)。基本上,kerberos 需要后端服务器的 dns 来进行身份验证,我所做的是创建了 haproxy 配置,其中监听节在 haproxy 主机上使用 rr 和 httpchk 在两个不同的端口(81 和 82)上监听两个服务器,然后两个前端节和两个后端节监听这些端口,并使用检查和 redir 立场指向后端主机,后端主机需要完整的主机名来进行 kerberos 身份验证。我需要这个来实现带有 jboss 应用和 kerberos 身份验证的两台应用服务器的 HA,不需要 cookie,因为 haproxy 只会对后端服务器进行 301 重定向,然后所有流量都会流向实时服务器。这样做的缺点是用户可以看到后端服务器的完整主机名,并且用户需要可以访问它,因此最好仅用于内部用途,不确定您是否可以在 haproxy 上以不同的方式执行此操作。如果有其他方法可以做到这一点,使后端不可见 - 如果有人分享信息那就太好了!

相关内容