我尝试自己解决,但无济于事。Google 提供了很多教程,但我找不到以下案例的教程。
我们有一位外部合作员工,他可以通过 VPN 访问我们的 LAN,并且需要访问我们的一些 Web 应用程序。他的工作站运行的是 Windows 7 Professional。Web 应用程序只能接受基于 Kerberos 的 SSO身份验证 - 由于安全策略,密码身份验证已禁用,并且无法更改。Kerberos AS/KDC 由Windows Server 2008 R2级域,但他的工作站不是该域的成员。
我们如何从他的工作站配置 Kerberos 身份验证无需将其添加到域中? 到目前为止,我只使用 Kerberos 配置基于 UNIX 的系统。在 Windows 下,我可以想到两种不同的解决方案:
安装外部 Kerberos图书馆(即。麻省理工学院 Kerberos对于 Windows) - 我认为配置过程与基于 UNIX 的类似 (即编辑krb5配置文件,设置默认领域并启用基于 DNS 的 KDC 定位)。
配置 Windows 内置 Kerberos 客户端无需将工作站添加到域中-我不确定这是否可行。
我们需要让 SSO 在 Mozilla Firefox 中工作。假设我们使用第一个解决方案,我假设我们应该设置network.negotiate-auth.gsslib
为外部 Kerberos DLL 路径。这个设置能按预期工作吗?从上述选项来看,后者是强烈推荐的,因为我们希望避免外部依赖和可能的不兼容性。
答案1
我最近让 KERBEROS 在未加入域(AWS 管理的 Server 2008R2 Active Directory)的 VPN 连接工作站上运行。关键是将 SRV 和相应的 A 记录添加到民众DNS,以便工作站可以解析_kerberos._tcp.dc._msdcs.mydomain.mydomain.com
到端口 88 上的 DC 本地 VPC 地址(注意mydomain
两次并不是错误)。
Kerberos 客户端使用存储在 Windows 凭据管理器中的域凭据获取票证。无需通过 ksetup 添加领域。