Налаштування OpenLDAP сервера для централізованої автентифікації

Ручне керування обліковими записами в десятках систем перетворює адміністрування на хаос і створює ризики безпеки. Ми налаштовуємо OpenLDAP сервер, створюючи єдиний централізований каталог для аутентифікації та управління користувачами. Наша команда реалізує проєкт під ключ — від проєктування структури до впровадження та подальшої підтримки, забезпечуючи надійне та масштабоване рішення для вашого бізнесу.
Часті запитання

Коли і навіщо потрібен OpenLDAP?

Уявіть: ваша компанія зростає — 50, 100, 500 співробітників. Щодня приходять нові люди, і адміну потрібно створювати облікові записи в пошті, VPN, GitLab, Nextcloud, Grafana, SSH та інших системах. А коли співробітник звільняється, відключення доступу перетворюється на квест по восьми різних інтерфейсах. Помилка — і колишній співробітник зберігає доступ до критичних даних. OpenLDAP вирішує цю проблему раз і назавжди: єдиний LDAP сервер, одна точка керування, миттєве блокування.

Ми розгорнули OpenLDAP для 50+ організацій — від стартапів до холдингів з тисячами співробітників. Наш досвід показує, що правильно спроектований LDAP-каталог знижує час адміністрування облікових записів на 70%, а MTTR при інцидентах — з годин до хвилин (середній uptime 99.9%). OpenLDAP — це відкрита реалізація LDAP, що відповідає стандарту RFC 4511. На відміну від Windows Active Directory, він не вимагає ліцензій і працює на будь-якому Linux. Економія на ліцензіях сягає 70% порівняно з AD.

Але LDAP корисний не лише для автентифікації. Його можна використовувати як універсальний довідник контактів, централізоване сховище сертифікатів, каталог мережевих ресурсів. У компаніях, де вже є AD, OpenLDAP часто стає концентратором між Linux- та Windows-інфраструктурами.

Порівняння рішень для централізованої автентифікації

Критерій OpenLDAP FreeIPA Active Directory
Ліцензія Open Source (BSD-like) GPL Пропрієтарна
Платформа Linux, *BSD Linux Windows Server
Підтримка Kerberos Вручну Вбудована Вбудована
Інтеграція з DNS Налаштування BIND Вбудована Вбудована
Складність впровадження Середня Середня Висока (ліцензії)
Типовий сценарій Linux-інфраструктура, веб-сервіси Linux+Kerberos, домен Windows-домен, Office 365

Отримайте консультацію з вибору рішення для вашої інфраструктури — ми допоможемо уникнути типових помилок.

Як спроектувати дерево LDAP?

LDAP — це ієрархічне дерево об'єктів (DIT). Перед встановленням обов'язково спроектуйте структуру. Типова схема:

dc=example,dc=com
├── ou=users — облікові записи користувачів
├── ou=groups — групи
├── ou=services — сервісні акаунти для додатків
└── ou=computers — комп'ютери (якщо потрібно)

Кожен користувач — об'єкт з класами inetOrgPerson та posixAccount. Це забезпечує сумісність з PAM, NSS та більшістю веб-додатків.

Приклад запису користувача:

dn: uid=jsmith,ou=users,dc=example,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
uid: jsmith
cn: John Smith
sn: Smith
mail: [email protected]
uidNumber: 10001
gidNumber: 10000
homeDirectory: /home/jsmith
loginShell: /bin/bash
userPassword: {SSHA}hashhere

Структура додається командою: ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f structure.ldif.

Встановлення та налаштування TLS

Встановлення: apt install slapd ldap-utils, потім dpkg-reconfigure slapd для завдання пароля admin та суфікса. Конфігурація ведеться через OLC (cn=config) — це live and running, без перезапуску slapd.

Без TLS паролі передаються у відкритому вигляді — це критична вразливість. Налаштовуємо TLS через LDIF:

dn: cn=config
changetype: modify
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/ca-certificates.crt
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ldap/ssl/ldap.crt
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ldap/ssl/ldap.key
-
add: olcTLSVerifyClient
olcTLSVerifyClient: never

Застосувати: ldapmodify -Y EXTERNAL -H ldapi:/// -f tls.ldif. На клієнтах у ldap.conf пропишіть TLS_CACERT та TLS_REQCERT demand. Ми завжди налаштовуємо StartTLS або LDAPS залежно від вимог безпеки.

Реплікація для відмовостійкості

Для production мінімум два сервери. Ми використовуємо MirrorMode: зміни застосовуються на будь-який сервер, реплікуються асинхронно. При недоступності одного сервера клієнти автоматично перемикаються на другий. Час перемикання — менше 5 хвилин. Uptime — 99.9%.

Конфігурація реплікації:

dn: olcDatabase={1}mdb,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=001 provider=ldap://ldap01.example.com bindmethod=simple binddn="cn=replicator,dc=example,dc=com" credentials=replicapassword searchbase="dc=example,dc=com" schemachecking=on type=refreshAndPersist retry="5 5 300 +"
add: olcMirrorMode
olcMirrorMode: TRUE

Для аварійного відновлення — щоденний експорт через slapcat -l /backup/ldap-$(date +%Y%m%d).ldif. Зберігання 30 днів. Відновлення через slapadd.

Інтеграція з сервісами

Кожному додатку — окремий сервісний акаунт в ou=services з мінімальними правами (принцип least privilege). ACL обмежують доступ лише до необхідних атрибутів. Наприклад, для GitLab:

olcAccess: to * by dn.base="uid=gitlab-svc,ou=services,dc=example,dc=com" read by * none 

Nextcloud, GitLab, Grafana, Zabbix, OpenVPN — всі підтримують LDAP. Новий співробітник отримує доступ до всіх систем одночасно. Час на створення обліковки — 30 секунд.

Реальний кейс: розгортання для e-commerce з 5000 користувачів

Великий інтернет-магазин звернувся до нас для централізації автентифікації. Спершу кожен сервіс (1С-Бітрікс, Jira, GitLab, Zabbix, Grafana, пошта) мав власну базу користувачів. При звільненні співробітника доступ залишався ще тижнями.

Ми спроектували дерево: ou=users (5000 записів), ou=groups (200 груп), ou=services (15 акаунтів). Розгорнули 2 сервери OpenLDAP у різних дата-центрах з MirrorMode, налаштували TLS та ACL. Інтегрували всі 15 сервісів, створили веб-інтерфейс на LDAP Account Manager для самообслуговування (зміна пароля, оновлення контактів). Результат: час на адміністрування облікових записів скоротився з 20 годин на тиждень до 2 годин. Час автентифікації — менше 10 мс. Uptime 99.95% за рік.

Процес роботи та терміни

Етап Тривалість
Аналітика (аудит поточної інфраструктури) 1 день
Проектування дерева та прав доступу 1 день
Встановлення OpenLDAP, налаштування TLS та реплікації 1-2 дні
Інтеграція додатків та імпорт користувачів 1-2 дні
Тестування автентифікації, failover та бекапів 1 день
Документування та навчання адміністраторів 1 день

Орієнтовні терміни: від 5 до 10 робочих днів залежно від кількості сервісів та обсягів міграції. Вартість розраховується індивідуально. Оцінимо ваш проєкт — зв'яжіться з нами для консультації.

Що ви отримуєте в результаті

За підсумком проєкту ви отримуєте:

  • Працюючий OpenLDAP-каталог з TLS та реплікацією.
  • Інтеграцію з усіма зазначеними сервісами (до 20).
  • Скрипти резервного копіювання та відновлення.
  • Документацію: архітектура, інструкції, контакти.
  • Навчання ваших адміністраторів (2-3 години).
  • Підтримку протягом 2 тижнів після впровадження.

Типові помилки та як їх уникнути

  • Пропуск TLS — паролі передаються відкритим текстом. Завжди вмикайте TLS або StartTLS.
  • Один акаунт для всіх додатків — кожному сервісу свій акаунт з мінімальними правами.
  • Відсутність реплікації — єдиний сервер — точка відмови. Мінімум два сервери.
  • Складна структура — надто глибокі ou або надлишкові objectClass. Проектуйте під реальні завдання, не ускладнюйте.
  • Невраховані залежності — перед міграцією проведіть аудит. Наш досвід: у 30% проєктів виявляються приховані залежності, які без аудиту ведуть до простою.

Замовте аудит вашої інфраструктури — ми виявимо ризики та запропонуємо план міграції.

Наші компетенції:

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1393
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1368
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    815
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1139