Networking

在外部網站上對企業使用者進行無縫身份驗證

  • May 13, 2014

背景:

擁有多個地點和不同網路和 IT 系統的全球性公司。大多數網路是基於 Windows 並執行 Active Directory 的,有些是通過 ADFS 連接的。有些是純 MAC 網路。一個位置沒有網路或域控制器。

託管在 LAMP 環境(Centos 6、Apache 2.2、MySQL 5.1、PHP 5.3)上的外部網站充當公司內部網。目前,使用者必須使用與其域帳戶不同的一組憑據登錄到 Intranet。

設想:

Web 團隊希望使使用者能夠享受無縫身份驗證,因此他們在從任何公司網路內部訪問時無需登錄到 Intranet,而且還使他們能夠在在家中或外部訪問站點時使用其域憑據辦公室。

其他使用者將繼續擁有單獨的使用者名和密碼。

審議:

  • 使用者可以選擇瀏覽器
  • 英國公司的 IT 支持僅限 Windows
  • Web 團隊基於 LAMP,對 IIS 了解最少
  • 如果英國成功,該系統將擴展到所有其他國家
  • 另一個項目正在進行中,使用 ADFS 連接公司內的所有 Windows 網路,但這將在 6 個月內完成 +

我瀏覽了論壇,發現了許多文章和答案,這些文章和答案讓我有所了解,但仍然給我留下了一些問題,主要問題是: 我們能否在外部網站上實現企業使用者的無縫身份驗證?

我看過的一些文章


對於遇到這篇文章的任何人,我們做了以下事情:

  1. 在 Web 伺服器和 AD 林中的 DC 之間創建 VPN 隧道
  2. 編輯 /etc/hosts 文件以添加林中每個域 kdc 的映射
  3. 編輯 /etc/krb5.conf 以指定領域及其 kdc,並為每個領域添加領域領域映射
  4. 為站點編輯了虛擬主機文件以添加需要 kerberos 身份驗證的位置(您可以使用目錄塊)。
  5. 將所有領域的空格分隔列表添加到位置塊
  6. 為每個域生成 keytab 文件並安裝在 Linux 伺服器上

可能不理想,但它有效。

在 Web 伺服器之間設置 VPN

簡單的回答是肯定的,是可以實現的。

我已經用我們為實現無縫身份驗證而採取的步驟編輯了這個問題。我已經省略了 VPN 隧道配置,因為這不是我的職責的一部分,但基本上你需要允許 TCP / UDP 雙向流量通過埠 88 和 750 用於 kerberos。

引用自:https://serverfault.com/questions/523636