Windows - 来自域外部的 Kerberos SSO

sam*_*usz 5 windows active-directory kerberos mitkerberos

我试图自己解决这个问题,但无济于事。谷歌提供了很多教程,但我找不到适合以下情况的教程。

我们有一名外部合作员工,可以通过 VPN 访问我们的 LAN,他需要访问我们的一些 Web 应用程序。他的工作站在 Windows 7 Professional 下运行。Web 应用程序只能接受基于 Kerberos 的 SSO身份验证 - 密码身份验证由于安全策略而被禁用,并且无法更改。Kerberos AS/KDC 由Windows Server 2008 R2级域提供,他的工作站不是该域的成员。

我们如何从他的工作站配置 Kerberos 身份验证而不将其添加到域中?到目前为止,我只使用 Kerberos 配置基于 UNIX 的系统。在Windows下我可以想到两种不同的解决方案:

  1. 安装外部 Kerberos库(即MIT Kerberos for Windows) - 我假设配置过程类似于基于 UNIX 的配置过程(即编辑krb5.conf、设置默认领域并启用基于 DNS 的 KDC 定位)。

  2. 配置 Windows 内置 Kerberos 客户端而不将工作站添加到域 - 我不确定这是否可能。

我们需要使 SSO 在 Mozilla Firefox 中正常工作。如果我们使用第一个解决方案,我假设我们应该设置network.negotiate-auth.gsslib为外部 Kerberos DLL 路径。这个设置能按预期工作吗?从上面的选项来看,后者是强烈首选,因为我们希望避免外部依赖和可能的不兼容。

小智 1

我最近在未加入域(AWS 管理的 Server 2008R2 Active Directory)的 VPN 连接工作站上运行 KERBEROS。关键是将 SRV 和相应的 A 记录添加到公共DNS,以便工作站可以解析_kerberos._tcp.dc._msdcs.mydomain.mydomain.com到端口 88 上的 DC 本地 VPC 地址(注意mydomain两次不是错误)。

Kerberos 客户端使用 Windows 凭据管理器中存储的域凭据获取票证。不需要通过 ksetup 添加领域。