Networking
在外部網站上對企業使用者進行無縫身份驗證
背景:
擁有多個地點和不同網路和 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 個月內完成 +
我瀏覽了論壇,發現了許多文章和答案,這些文章和答案讓我有所了解,但仍然給我留下了一些問題,主要問題是: 我們能否在外部網站上實現企業使用者的無縫身份驗證?
我看過的一些文章
對於遇到這篇文章的任何人,我們做了以下事情:
- 在 Web 伺服器和 AD 林中的 DC 之間創建 VPN 隧道
- 編輯 /etc/hosts 文件以添加林中每個域 kdc 的映射
- 編輯 /etc/krb5.conf 以指定領域及其 kdc,並為每個領域添加領域領域映射
- 為站點編輯了虛擬主機文件以添加需要 kerberos 身份驗證的位置(您可以使用目錄塊)。
- 將所有領域的空格分隔列表添加到位置塊
- 為每個域生成 keytab 文件並安裝在 Linux 伺服器上
可能不理想,但它有效。
在 Web 伺服器之間設置 VPN
簡單的回答是肯定的,是可以實現的。
我已經用我們為實現無縫身份驗證而採取的步驟編輯了這個問題。我已經省略了 VPN 隧道配置,因為這不是我的職責的一部分,但基本上你需要允許 TCP / UDP 雙向流量通過埠 88 和 750 用於 kerberos。