![外部网站上的企业用户无缝身份验证](https://linux22.com/image/614848/%E5%A4%96%E9%83%A8%E7%BD%91%E7%AB%99%E4%B8%8A%E7%9A%84%E4%BC%81%E4%B8%9A%E7%94%A8%E6%88%B7%E6%97%A0%E7%BC%9D%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81.png)
背景:
跨国公司,拥有多个办公地点和分散的网络及 IT 系统。大多数网络基于 Windows 并运行 Active Directory,部分网络通过 ADFS 连接。部分网络为纯 MAC 网络。一个办公地点没有网络或域控制器。
托管在 LAMP 环境(Centos 6、Apache 2.2、MySQL 5.1、PHP 5.3)上的外部网站充当公司内联网。目前,用户必须使用与其域帐户不同的一组凭据登录内联网。
设想:
网络团队希望使用户能够享受无缝身份验证,这样他们在从任何公司网络内部访问时无需登录内联网,而且也使他们能够从家里或办公室外访问网站时使用他们的域凭据。
其他用户将继续拥有单独的用户名和密码。
审议:
- 用户可以选择浏览器
- 英国公司 IT 支持仅限于 Windows
- Web 团队基于 LAMP,对 IIS 了解甚少
- 如果在英国取得成功,该系统将扩展到所有其他国家
- 另一个正在进行的项目是使用 ADFS 连接公司内的所有 Windows 网络,但该项目需要 6 个月以上才能完成
我浏览了论坛并找到了一些帖子和答案,它们对我很有帮助,但仍然留下了一些问题,主要问题是: 我们能否实现企业用户在外部网站上的无缝身份验证?
我评论过的一些帖子
对于看到这篇文章的任何人,我们做了以下事情:
- 在 Web 服务器和 AD 林中的 DC 之间创建 VPN 隧道
- 编辑 /etc/hosts 文件以添加林中每个域 kdc 的映射
- 编辑 /etc/krb5.conf 以指定领域及其 kdc,并为每个领域添加域映射
- 编辑网站的虚拟主机文件以添加需要 kerberos 身份验证的位置(您可以使用目录块)。
- 在位置块中添加了以空格分隔的所有领域的列表
- 为每个域生成 keytab 文件并将其安装在 Linux 服务器上
可能不是最理想的,但它确实有效。
在 Web 服务器之间设置 VPN
答案1
简单的回答是可以的,可以实现。
我已经编辑了问题,其中包含了我们为实现无缝身份验证所采取的步骤。我没有提到 VPN 隧道配置,因为这不属于我的职责范围,但基本上您需要允许通过端口 88 和 750 进行 TCP/UDP 双向流量以用于 Kerberos。