OpenLDAP 是一个开源项目,旨在基于著名的轻量级目录访问协议(LDAP)提供一些商业级的、功能齐全的应用程序和开发工具。因此,想要管理其用户和组信息的企业可以自由使用这些工具。
OpenLDAP 提供 LDAP 服务器、LDAP 客户端和相应的工具来处理 LDAP。LDAP 服务器称为 slapd(独立 LDAP 守护进程)。它将作为服务器,提供创建、更新和删除组织、组和用户信息等功能。除此之外,它还提供另一个重要功能——代理。这意味着它可以作为 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 服务器。因此,当客户端向代理发出某些查询时,代理将根据提供的 base/suffix 将查询重定向到相应的远程 LDAP 服务器。
ldap 后端允许多个远程 ldap 服务器条目。但是,在配置的远程 LDAP 服务器列表中,最多只有一个远程 LDAP 服务器将被搜索。高级架构如下所示。
meta
后端 meta 是另一种后端类型,可以同时搜索多个远程 LDAP 服务器。它基于 ldap 后端构建,但有一些增强功能。meta 后端允许虚拟命名上下文(base),客户端可以使用它来查询 LDAP 代理。通过此方式,客户端可以使用单个查询来查询远程 LDAP 服务器的组合。代理将通过suffixmassage提供虚拟命名上下文和每个远程 LDAP 服务器的实际 base 之间的映射。
meta 后端的高级架构如下所示
在 slapd.conf 中,在database meta之后有一个suffix选项,该 suffix 声明客户端可以使用虚拟命名上下文(base)来查询代理。此后,还有一个suffixmassage选项,它定义了虚拟命名上下文和远程 LDAP 服务器的实际 base 之间的映射。
ldap 后端和 meta 后端的主要区别在于,对于 ldap 后端,一次只搜索一个远程 LDAP 服务器,而对于 meta 后端,可以同时搜索多个远程 LDAP 服务器,以便通过循环遍历每个远程 LDAP 服务器来累积结果。
在接下来的几篇文章中,我们将介绍如何使用 slapd.conf 配置 OpenLDAP 代理,以及如何启用 SSL 和如何使用 OpenLDAP 代理启用简单身份验证。