追求真正的Active Directory集成

追求真正的Active Directory集成

在你嘲笑我並說「如果你想要 Active Directory,請使用 Windows」或告訴我使用 Google 之前,請聽我說完。

我的公司非常依賴 AD。不,我們現在已經與它結婚了,作為一家財富 10 強公司,這一點不會改變。然而,我們的環境中有很多 *nix 系統(主要是 RHEL 和 SLES),我還沒有找到一個好的機制來與 Active Directory 整合作為身份來源。至少,我需要提供以下內容:

  1. 透過 AD 憑證進行身份驗證(讓使用者進門)
  2. 經過身份驗證後授權(授予使用者存取系統區域的權限)
  3. 審核(能夠將使用者操作與其 AD 憑證連結起來)
  4. 支援 AD 群組(不僅僅是普通 LDAP 以及必須在系統上新增/刪除單一使用者)
  5. 不是基於 AD 信任的重複/鏡像身分來源(我不需要兩個龐大的系統)

我發現的最佳解決方案如下:

  1. 集中化
  2. PowerBroker Open(PBIS Open,以前的 Sametime-Open)
  3. SSSD+SELinux

集中。 。 。就是醜陋。我從來都不是真正的粉絲。另外,出於我公司的需要,我們無法使用 Centrify-Express,因此它不是免費的,也沒有無限的授權。然而,這是我們找到的最好的解決方案,我迫切希望找到其他的解決方案。

PBIS Open 是我所傾向於的。 VMware 在 vShield 後端使用的是這種方式,而且效果非常好。它只需要幾個命令即可設置,它支援 AD 群組,並且沒有輔助身分管理系統 - 它直接與 AD 對話。我不走這條路的唯一原因是我喜歡本地解決方案,如果有更好的方法已經包含在現代發行版中,我完全支持它。

SSSD+SELinux 聽起來很棒。設定起來很麻煩,但它很靈活、原生,並且受到大多數現代發行版的支援。它唯一缺乏的(據我所知)是對 AD 組的支持。許多文章建議利用 FreeIPA 或類似的東西來添加此功能,但經過進一步閱讀,這違反了要求 5,並且基本上創建了一個中間人身份服務。我對複製 AD 或建立對輔助身分服務的信任不感興趣。

我曾經嘗試過的其他拼湊選項包括使用Puppet(我們使用的)將/etc/password、shadow、group 檔案推送到端點,但這需要開發,這是非常間接的,而且我可以看到一些嚴重的問題。更好的選擇是將 SSSD+SELinux 添加到 Puppet 想法中。雖然這會簡化災難,但它仍然是一場災難。

我缺少什麼,你在使用什麼,以及我沒有考慮到的解決 Linux AD 整合問題的「新熱點」是什麼?

答案1

您在這裡的解決方案是 FreeIPA 或 Centrify/PowerBroker。 FreeIPA 是標準 RHEL 訂閱的一部分,因此已經節省了一些費用。

FreeIPA 可以在所有使用者和群組都來自 Active Directory 的模式下運作。您只需將這些使用者和群組對應到 FreeIPA 中的 POSIX 特定環境,例如 SUDO 規則、公用 SSH 金鑰、基於主機的存取控制定義、SE Linux 上下文分配等。為此,您需要將某些 AD 使用者/群組對應到 FreeIPA 中的某些群組,但這不是資訊的重複,而是使用非 AD 特定的部分對其進行修改。

FreeIPA 實作與 Active Directory 相容的方式是將自己呈現為某種與 Active Directory 相容的林。允許AD用戶透過跨林信任來使用FreeIPA資源就足夠了,但不足以允許FreeIPA用戶存取信任另一端的Windows系統。您似乎對第一部分感興趣,所以這應該沒問題。

FreeIPA 4.1 已經成為 RHEL 7.1 beta 的一部分(希望 RHEL 7.1 將「很快」發布),我們有一個強大的機制來在 FreeIPA 中保留 AD 用戶和群組的覆蓋,並且 SSSD 能夠發現所有這些每個伺服器的粒度。

答案2

我真的很想聽聽您在談論 SSSD 時所說的「真正的 AD 群體」是什麼意思。較新版本的 SSSD 不要求群組具有 POSIX 屬性,且如果使用 AD 提供程序,則主要從 TokenGroups 讀取群組成員身分。

此外,在 RHEL-7.1(上游 1.12+)中,SSSD 獲得了使用 GPO 策略進行存取控制檢查的能力。

如果您有具體問題,請隨時寫信給 sssd 使用者清單。

答案3

這裡詳細介紹了 Redhat 產品:
有關 Linux 伺服器 Active Directory 身份驗證的常識?

在我最近的安裝中,這是透過 SSSD(內建)和 ldap 或 sssd.conf 群組過濾器完成的。

您的 Linux 用戶到底需要什麼在系統上?

答案4

winbind + samba + kerberos 怎麼樣?

  • 透過 AD 憑證進行身份驗證(讓使用者進門)

檢查過

  • 經過身份驗證後授權(授予使用者存取系統區域的權限)

檢查過

  • 審核(能夠將使用者操作與其 AD 憑證連結起來)

/var/log/安全?檢查過

  • 支援 AD 群組(不僅僅是普通 LDAP 以及必須在系統上新增/刪除單一使用者)

它允許本地群組中的廣告群組或廣告用戶,選中

  • 不是基於 AD 信任的重複/鏡像身分來源(我不需要兩個龐大的系統)

freeipa不是必需的,勾選

相關內容