Открыть сервис

OpenLDAP

OpenLDAP — это свободная реализация протокола LDAP (Lightweight Directory Access Protocol, «облегчённый протокол доступа к каталогам»), распространяемая под лицензией OpenLDAP Public License (аналог BSD). OpenLDAP представляет собой набор серверного и клиентского программного обеспечения для создания, управления и использования служб каталогов. Разработка ведётся проектом OpenLDAP Project, основанным в 1998 году. OpenLDAP является одной из наиболее распространённых открытых реализаций LDAP, используемой в операционных системах семейства Linux, BSD, macOS и ряде Unix-подобных систем.

История

Протокол LDAP возник в начале 1990-х годов как упрощённая альтернатива протоколу X.500 (OSI DAP). Первая спецификация (RFCs 1777–1778) была опубликована в 1995 году. Коммерческие реализации (например, Novell Directory Services, Microsoft Active Directory) появились практически сразу, но среди свободного ПО долгое время доминировала университетская реализация LDAP от Мичиганского университета (University of Michigan LDAP).

В 1998 году из-за прекращения финансирования разработчики из Мичигана передали код и контроль над проектом сообществу, которое основало OpenLDAP Project. Первая версия, OpenLDAP 1.0, была выпущена в августе 1998 года и базировалась на коде SLAPD/LDAPv3. В 2000 году вышла версия 2.0, в которой были реализованы протокол LDAPv3 (RFC 2251–2256), поддержка TLS (через OpenSSL) и SASL (через Cyrus SASL). OpenLDAP 2.3 (2005 год) ввёл архитектуру модульных бэкендов (backends) и улучшенную поддержку репликации (syncrepl). OpenLDAP 2.4 (2007 год) стал стабильной версией с расширенной функциональностью по управлению доступом (ACI — Access Control Instructions) и динамической реконфигурацией. Версия 2.5 (2019 год) добавила поддержку UTF-8 по умолчанию, улучшенную обработку схемы и новые бэкенды. Текущая стабильная ветка — 2.6 (выпущена в 2023 году) — продолжает развитие с акцентом на производительность и безопасность.

Архитектура и компоненты

Серверная часть

OpenLDAP включает три основных серверных демона:

Клиентская часть

В состав OpenLDAP входят стандартные утилиты командной строки для взаимодействия с любым LDAP-сервером (не только OpenLDAP):

Все утилиты поддерживают аутентификацию по паролю (простая аутентификация) и по SASL-механизмам (GSSAPI, DIGEST-MD5, PLAIN, EXTERNAL).

Модель данных

OpenLDAP реализует стандартную иерархическую модель данных LDAP, основанную на записях (entries). Каждая запись имеет Distinguished Name (DN), который уникально идентифицирует её в дереве каталогов и состоит из последовательности Relative Distinguished Names (RDN). Пример DN: cn=Иванов Иван Иванович, ou=Сотрудники, dc=example, dc=com. Записи содержат атрибуты (например, cn — common name, sn — surname, mail — email, telephoneNumber, uid — user id). Схема (schema) определяет, какие объектные классы (object classes) и атрибуты могут использоваться, их типы, обязательность и разрешённые значения. Схема OpenLDAP соответствует стандартным LDAP-схемам (RFC 4519, RFC 4512), а также включает дополнительные схемы (например, для групп, почтовых псевдонимов, DNS).

Бэкенды и хранение данных

OpenLDAP поддерживает несколько способов хранения данных (backend). Выбор бэкенда критичен для производительности и надёжности каталога.

Overlay (накладки)

Overlay — это модули, которые могут быть включены в slapd для расширения функциональности без изменения ядра сервера. Ключевые overlay:

Применение

OpenLDAP традиционно используется в средах, где требуется централизованное управление пользователями, группами и ресурсами. Основные сценарии:

Репликация

OpenLDAP поддерживает несколько режимов репликации каталогов, что обеспечивает отказоустойчивость и горизонтальное масштабирование чтения.

Безопасность

OpenLDAP реализует несколько уровней безопасности:

Критика

Интересные факты

Источники

  1. OpenLDAP Software 2.6 Administrator's Guide (административное руководство).
  2. RFC 4510 – RFC 4519: LDAPv3 Technical Specification.
  3. Сервер каталогов OpenLDAP // Хостинг-провайдеры, 2023.
  4. Michael Stroeder. OpenLDAP Cookbook. O'Reilly Media, 2008.
  5. Jonathan B. Postel, et al. The LDAP Replication Architecture (RFC 2849).
  6. Документация OpenLDAP Project (www.openldap.org).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →