OpenLDAP 是一個開放原始碼專案,旨在提供一些基於眾所周知的輕量級目錄存取協定(LDAP)的商業級、功能齊全的應用程式和開發工具。因此,想要管理其使用者和群組資訊的企業可以免費使用這些工具。
OpenLDAP 提供 LDAP 伺服器、LDAP 客戶端和對應的工具來處理 LDAP。LDAP 伺服器稱為 slapd(獨立式 LDAP 守護程式)。它將作為伺服器,提供建立、更新和刪除組織、群組和使用者資訊等功能。除此之外,它還提供另一個重要功能——proxy(代理)。這意味著它可以作為 LDAP 客戶端與不同的 LDAP 伺服器聯繫的代理,而無需知道這些 LDAP 伺服器的詳細資訊。如果某些 LDAP 伺服器位於防火牆後面,而 LDAP 客戶端無法直接訪問它,這將是一個很好的選擇。如果組織想要整合來自不同 LDAP 伺服器的資訊以便可以將其視為一個 LDAP 伺服器,這也將非常有用。
在本系列文章中,我們將介紹 OpenLDAP 代理。主題包括不同類型的代理選項、代理設定、啟用代理的 SSL、啟用代理的簡單驗證以及代理的屬性映射。
- OpenLDAP 代理 -- 簡介
- OpenLDAP 代理 -- slapd.conf
- OpenLDAP 代理 -- 安裝和配置
- OpenLDAP 代理 -- 技巧和提示
- OpenLDAP 代理 -- rwm-map vs map
在這篇文章中,我們將首先簡要介紹建立 OpenLDAP 代理的不同選項。
OpenLDAP 中的後端設計提供了設定代理的可能性。每個後端都代表一個特定的目錄資訊來源。來源可以是某些本地儲存、資料庫、遠端 LDAP 伺服器等。以下是 OpenLDAP 中可用的後端列表。
在這些後端中,其中兩個是代理的良好候選者——ldap 和 meta。
slapd 服務可以使用slapd.conf 作為服務的配置文件。在 slapd.conf 中,可以定義後端類型和其他選項。
ldap
後端 ldap 表示目錄資訊來自另一個遠端 LDAP 伺服器。因此,當客戶端向代理發出某些查詢時,代理將根據提供的基底/字尾將查詢重新導向到對應的遠端 LDAP 伺服器。
ldap 後端允許多個遠端 ldap 伺服器條目。但是,在配置的遠端 LDAP 伺服器列表中,最多只會搜尋一個遠端 LDAP 伺服器。高階架構如下所示。
meta
後端 meta 是另一種類型的後端,可以在其中同時搜尋多個遠端 LDAP 伺服器。它建立在 ldap 後端之上,但有一些增強功能。meta 後端允許虛擬命名內容(基底),客戶端可以使用它來查詢 LDAP 代理。這樣,客戶端可以使用單個查詢來查詢多個遠端 LDAP 伺服器的組合。代理將通過suffixmassage提供虛擬命名內容和每個遠端 LDAP 伺服器的實際基底的映射。
meta 後端的高階架構如下所示
在 slapd.conf 中,在database meta之後有一個suffix選項,該字尾宣告客戶端可以使用來查詢代理的虛擬命名內容。此後,有一個suffixmassage選項,它定義了虛擬命名內容和遠端 LDAP 伺服器的實際基底之間的映射。
ldap 後端和 meta 後端的主要區別在於,對於 ldap 後端,一次只會搜尋一個遠端 LDAP 伺服器,而對於 meta 後端,可以同時搜尋多個遠端 LDAP 伺服器,以便通過迴圈遍歷每個遠端 LDAP 伺服器來累積結果。
在接下來的幾篇文章中,我們將介紹如何使用 slapd.conf 配置 OpenLDAP 代理,以及如何啟用 SSL 和如何使用 OpenLDAP 代理啟用簡單驗證。