企业用户在外部网站上的无缝validation

背景:

全球公司拥有多个地点和不同的networking和IT系统。 大多数networking都是基于Windows的并运行Active Directory,有些则通过ADFS连接。 有些是纯粹的MACnetworking。 一个位置没有networking或域控制器。

在LAMP环境(Centos 6,Apache 2.2,MySQL 5.1,PHP 5.3)上托pipe的外部网站充当公司内联网。 目前,用户必须使用不同的凭证集login到Intranet,才能访问其域帐户。

场景:

Web团队希望使用户能够享受无缝身份validation,以便在从任何公司networking内部访问时不需要login到Intranet,而是在从本地或外部访问站点时使其能够使用他们的域凭据办公室。

其他用户将继续有一个单独的用户名和密码。

审议:

  • 用户可以select浏览器
  • 英国公司IT支持只有Windows
  • Web团队是基于最less的IIS知识的LAMP
  • 如果英国成功,该系统将扩展到所有其他国家
  • 另一个项目正在使用ADFS来连接公司内的所有Windowsnetworking,但是这个项目在6个月内还不能完成

我已经通过论坛,发现了一些post和答案,但我仍然有几个问题,主要是: 我们可以实现企业用户在外部网站的无缝validation?

一些我已经审查的职位

  • AD单点login…
  • 自动validationWindows用户…
  • 使用LDAP检查AD用户…
  • 微软的AD和PHP …

对于任何遇到这个post的人,我们做了以下几点:

  1. 在Web服务器和AD林中的DC之间创buildVPN隧道
  2. 编辑/ etc / hosts文件为森林中的每个域kdc添加映射
  3. 编辑/etc/krb5.conf以指定领域及其kdcs,并为每个领域添加域领域映射
  4. 为网站编辑虚拟主机文件以添加需要Kerberos身份validation的位置(可以使用目录块)。
  5. 增加了所有领域的空格分隔列表到位置块
  6. 为每个域生成keytab文件并将其安装在Linux服务器上

可能不理想,但它的作品。

在Web服务器之间build立一个VPN

简单的答案是肯定的,可以实现。

我已经用我们为实现无缝authentication所采取的步骤编辑了这个问题。 由于这不是我职权范围内的一部分,所以我忽略了VPN隧道configuration,但是基本上你需要允许通过端口88和750的TCP / UDP双向通信来访问Kerberos。