在没有跨域信任的情况下从 Windows 使用外部 Kerberos 领域中的资源?

在没有跨域信任的情况下从 Windows 使用外部 Kerberos 领域中的资源?

我根本不是 Windows 用户,但我理解 Active Directory 的基本思想是 LDAP + Kerberos 5 + 微软特制酱。因此,如果我有一台 Windows 机器,而我无法控制它,并且它位于现有的 Active Directory 域中,那么是否可以让这台机器上的某个人明确获取外部领域的 Kerberos 票证,然后获取我控制的 Linux 服务器上的资源,而该 Linux 服务器位于我控制的 Kerberos/LDAP 领域中?

具体来说,假设我的领域中有一个用户“[电子邮件保护]“,该用户使用用户名“baz”登录到“BAR.COM”中的随机 Windows 计算机,这是一个 Microsoft AD 领域。现在,他们想要通过 Samba 或 NFSv4 从我的机器 quux.myrealm.com 上的共享中获取文件,或者访问需要 Kerberos 身份验证的网页,他们需要这样做[电子邮件保护]代替[电子邮件保护]这是他们用来登录 Windows 的身份。

Linux/Unix/MIT Kerberos 的方法是“kinit[电子邮件保护]“然后去做吧。Windows 上有同等的东西吗?有没有不需要安装任何不寻常的东西的同等的东西(即 Windows 的 MIT Kerberos)。

跨领域信任在这里不是一种选择,因为我怀疑现有的 AD 管理员甚至会为单向身份验证放置适当的 TGT 条目,此外,我不希望信任这个域。

答案1

好的,这是我发现的一些东西。

首先,许多想要使用我的资源的人拥有的 Windows 计算机不属于活动域,只是个人计算机。因此,需要以管理员身份运行终端并

“ksetup / setrealm”我的领域_前往_这里

如果没有管理员权限,ksetup 将无法工作。

重新启动后,Windows 客户端机器将认为在获取票证时应该与我的 KDC 通信(我的 KDC 是 DNS 可发现的)。

ksetup 或多或少是一个命令行界面,用于更改 Linux/Unix 机器上存储在 /etc/krb5.conf 中的信息,因此您可以使用 /setrealm 指定默认领域,可以使用 /addkdc 告诉系统其他领域,并使用 /mapuser 设置 kerberos 主体和本地 Windows 用户之间的映射,如下所述:

https://technet.microsoft.com/en-us/library/hh240190%28v=ws.11%29.aspx

我还没有看到一种配置 krb5.conf 文件的 [capaths] 部分的方法,也就是说,告诉机器如何在层次结构中没有明显关联的域之间获得传递信任(即不是 ABC.EXAMPLE.COM 与 EXAMPLE.COM,而是 ABC.EXAMPLE.COM 与 FOOBAR.COM)

我不确定如果您尝试在 AD 成员上进行 ksetup 会发生什么,我怀疑它会被更加锁定。

答案2

我不是 Unix 用户,但是我可以告诉你,微软有几种这样的技术(而且我怀疑 Unix 也有)。

第一个是 Active Directory 联合身份验证服务,根据维基百科文章,它可以

“为用户提供跨组织边界的系统和应用程序的单点登录访问”

与我将提到的其他产品一样,这款产品使用了新的“基于声明”的方法,您可以让各种安全令牌服务 (STS) 将您的身份验证“声明”转换为您的服务器或服务进行身份验证所需的格式(SAML、JWT 等)。

Active Directory 联合身份验证服务必须安装在 Windows 域中,因此这可能不适合你。不过,微软也有几个基于云的“声明转换”产品可供你使用。其中一个是Azure Active Directory 服务,它既是“身份提供者”,也是“安全令牌服务”。上一个链接指出 Azure Active Directory 服务为您提供

“单点登录数千个云应用程序并访问您在本地运行的 Web 应用程序”。

我确实不推荐 LDAP 解决方案,但如果这是您想要采用的路线,您将需要使用替代的“Graph API”来访问此服务的“数据库”。另请注意,此服务有一个“同步”选项,可以将帐户从本地 Active Directory 同步到此云服务。

最后,Azure 的访问控制服务提供了“安全令牌服务”(无身份提供者)。我个人认为这项服务更适合需要代表用户授权的移动应用程序(OAuth2),但它与 Azure Active Directory 服务有一些重叠,你可能需要了解一下。

PluralSight有许多关于这些技术的课程,如果您想了解有关这些技术的更多信息,我建议您查看一下。

相关内容