Если клиент поддерживает оба режима, выбор зависит от схемы подключения и требований приложения. LDAPS подходит для отдельной TLS-точки входа на порту 636. StartTLS подходит, когда клиент подключается к стандартному LDAP-порту 389, а затем переводит уже открытое TCP-соединение в защищенный режим.
LDAPS не считается автоматически более безопасным вариантом. При корректной проверке сертификата оба подхода шифруют LDAP-трафик и защищают логин с паролем. Риск появляется, когда клиент отключает проверку сертификата, выполняет bind до TLS или после ошибки StartTLS продолжает работу по открытому каналу.
Практическое правило выбора простое: используйте LDAPS, если приложение явно ожидает адрес ldaps:// и порт 636. Выбирайте обязательный StartTLS, если продукт поддерживает LDAP extended operation и подключение через порт 389 вписывается в сетевую политику. В обоих случаях сертификат, доверие к CA, проверка имени хоста и отказ от небезопасного fallback обязательны.
| Критерий | LDAPS | StartTLS |
|---|---|---|
| Схема подключения | TLS устанавливается сразу после TCP-подключения | Сначала LDAP-соединение, затем запрос StartTLS и TLS handshake |
| Типичный порт | 636 | 389 |
| Адрес в настройках | ldaps://ldap.example.net | ldap://ldap.example.net с обязательным StartTLS |
| Совместимость | Удобен для клиентов с поддержкой LDAP over TLS | Удобен для клиентов, которые поддерживают LDAP extended operation |
| Типовой риск | Отключенная проверка сертификата или неверное имя хоста | Переход в открытый режим после ошибки StartTLS |
| Сценарий | Готовая интеграция с отдельным защищенным endpoint | Постепенный переход на TLS при сохранении порта 389 |
LDAPS или StartTLS: короткий ответ для выбора
Когда выбрать LDAPS
LDAPS выбирайте, когда приложение содержит отдельный параметр LDAP URL и принимает адрес вида ldaps://ldap.example.net:636. Клиент сразу начинает TLS handshake, поэтому LDAP bind и последующие запросы выполняются внутри защищенной сессии.
Этот вариант удобен для готовых интеграций, сетевых устройств и приложений с ограниченной поддержкой StartTLS. Отдельный endpoint помогает явно отделить защищенные подключения от обычного LDAP-трафика. Межсетевой экран при этом должен разрешать порт 636 между конкретными клиентами и сервером каталога.
Сертификат сервера должен соответствовать имени, которое указано в конфигурации клиента. Если клиент подключается к ldap.example.net, это имя должно присутствовать в поле SAN. Сертификат для короткого имени ldap или для IP-адреса не заменяет сертификат для FQDN. Отключать hostname verification из-за такой ошибки нельзя.
Пошаговые примеры настройки TLS на OpenLDAP и Active Directory, включая параметры клиентов, собраны в руководстве по переходу с LDAP на LDAPS.
Когда выбрать StartTLS
StartTLS выбирайте, когда приложение поддерживает стандартное LDAP-подключение на порту 389 и умеет выполнять LDAP extended operation для перехода в TLS. Последовательность выглядит так: клиент открывает TCP-соединение, отправляет StartTLS-запрос, получает успешный ответ, выполняет TLS handshake, проверяет сертификат и только после этого делает bind.
Порт 389 не означает передачу данных в открытом виде на всем протяжении сессии. После успешного StartTLS LDAP-обмен идет внутри TLS. До этого момента канал не защищен, поэтому пароль и простой bind передавать нельзя.
В настройках клиента нужен режим обязательного StartTLS. Если продукт предлагает варианты «StartTLS», «Require TLS», «TLS required» или похожие параметры, выбирайте режим, при котором ошибка расширенной операции завершает подключение. Настройка, разрешающая повторить bind без TLS, создает путь для downgrade и перехвата учетных данных.
LDAPS и StartTLS: как устроено защищенное подключение
Схема подключения LDAPS через отдельный TLS-порт
- Клиент разрешает DNS-имя LDAP-сервера.
- Клиент открывает TCP-соединение к порту
636. - Стороны выполняют TLS handshake и согласуют версию TLS и криптографические параметры.
- Сервер предъявляет сертификат, клиент проверяет цепочку доверия, срок действия и соответствие имени хоста.
- После успешной проверки клиент выполняет LDAP bind.
- Поиск пользователя, проверка групп и остальные LDAP-операции идут внутри TLS-сессии.
Термин LDAPS исторически связан с LDAP over SSL. В актуальных конфигурациях используется TLS, хотя название LDAPS закрепилось в документации и интерфейсах многих продуктов.
При ошибке сертификата клиент должен завершить подключение. Сообщение об успешном TCP-соединении не подтверждает безопасность: оно показывает только доступность порта.
Схема StartTLS на стандартном LDAP-порту
- Клиент открывает TCP-соединение к порту
389. - Клиент отправляет LDAP extended operation с запросом StartTLS.
- Сервер подтверждает возможность перехода в TLS.
- Клиент и сервер выполняют TLS handshake.
- Клиент проверяет сертификат и имя хоста.
- После успешного TLS-перехода клиент выполняет bind и отправляет запросы каталогу.
До шага с успешным TLS handshake канал остается открытым для сетевого посредника. Сам факт отправки StartTLS-запроса не шифрует последующие данные. Приложение должно дождаться положительного ответа и завершить попытку подключения при любой ошибке.
StartTLS позволяет использовать один стандартный LDAP endpoint, но требует дисциплины со стороны клиента. В конфигурации нужно различать «попробовать TLS» и «требовать TLS». Для аутентификации подходит второй вариант.
Почему оба варианта требуют правильной политики клиента
TLS защищает канал между LDAP-клиентом и сервером. Он не проверяет, имеет ли пользователь право входить в конкретное приложение, и не назначает ему роль. После bind приложение должно отдельно проверить членство пользователя в разрешенной LDAP-группе.
Критичные ошибки конфигурации одинаковы для LDAPS и StartTLS:
- проверка сертификата полностью отключена;
- hostname verification выключена из-за несовпадения SAN;
- пароль отправляется через simple bind до установления TLS;
- клиент автоматически переходит на обычный LDAP после сбоя TLS;
- серверное имя заменено IP-адресом, которого нет в SAN;
- анонимный bind разрешен там, где приложению нужна сервисная учетная запись;
- клиент и сервер не поддерживают общую версию TLS или набор шифров.
Ошибка TLS должна останавливать аутентификацию. Это базовая политика для обоих режимов. Практические меры защиты канала, bind-аккаунта и журналирования собраны в статье о безопасности LDAP-аутентификации.
Настройка LDAPS: порт 636, сертификат и проверка клиента
Что проверить на LDAP-сервере
Перед подключением приложения проверьте сервер каталога по шести направлениям:
- Сертификат. На сервере должен находиться сертификат для TLS-сервера и соответствующий закрытый ключ.
- SAN. В сертификате должно быть DNS-имя, которое использует клиент. Проверьте FQDN, алиасы и имена балансировщика.
- Цепочка доверия. Сервер должен передавать промежуточные сертификаты, если они нужны клиенту для построения цепочки.
- Срок действия. Проверьте даты сертификата и системное время на сервере каталога и клиенте.
- Сетевой доступ. Порт
636должен быть доступен только с нужных узлов, через заданные правила межсетевого экрана или балансировщика. - Политика TLS. Разрешите актуальные версии TLS, которые поддерживают используемые ОС, библиотеки и приложения.
В Active Directory сертификаты обычно устанавливают на контроллеры домена, а клиент подключается к DNS-имени конкретного контроллера или балансировщика. В OpenLDAP сертификат и ключ задаются параметрами конфигурации демона, а доверенный CA настраивается отдельно для клиентов. Названия файлов и параметров зависят от продукта и его версии.
Не смешивайте сертификат сервера с сертификатом клиента. Для обычного LDAPS нужен сертификат сервера. Клиентский сертификат появляется при взаимной TLS-аутентификации, когда сервер отдельно требует подтверждение личности клиента.
Что настроить на LDAP-клиенте
На клиенте настройте адрес ldaps://, порт 636, доверенный CA и обязательную проверку сертификата. Импортируйте корневой или промежуточный сертификат в trust store операционной системы, контейнера или конкретной библиотеки LDAP.
Проверьте четыре параметра:
- сертификат сервера доверен установленному CA;
- имя хоста совпадает с DNS-именем в SAN;
- сертификат действителен, а системные часы синхронизированы;
- ошибка TLS не запускает повторное подключение через обычный LDAP.
Таймауты задавайте отдельно для DNS, TCP и LDAP-операций, если продукт это позволяет. Слишком длинный таймаут маскирует проблемы с маршрутом и делает отказ аутентификации непредсказуемым. Слишком короткий таймаут может прерывать TLS handshake при нагрузке или через удаленный канал.
Не используйте отключение проверки сертификата как постоянное решение. Для диагностики оно иногда помогает отделить проблему доверия от сетевой ошибки, но после теста проверку нужно вернуть и устранить причину сбоя.
Настройка StartTLS: переход соединения в защищенный режим
Как исключить bind до StartTLS
Безопасная последовательность для приложения выглядит так:
- Открыть соединение с LDAP-сервером на порту
389. - Отправить StartTLS extended operation.
- Дождаться успешного ответа сервера.
- Завершить TLS handshake.
- Проверить CA, SAN, срок действия и имя хоста.
- Выполнить bind сервисной учетной записью.
- Найти пользователя и проверить его членство в группе.
Simple bind с паролем допустим только после шага проверки TLS. До этого момента приложение может выполнить технические операции без учетных данных, если они нужны конкретной библиотеке, но пароль пользователя или bind-аккаунта передавать нельзя.
Проверьте поведение при недоступном StartTLS: остановите TLS на тестовом endpoint или временно примените правило, блокирующее переход. Корректный клиент завершит попытку с ошибкой. Если он продолжит bind по порту 389, настройка небезопасна.
Риски StartTLS downgrade и ошибки совместимости
StartTLS downgrade возникает, когда клиент считает TLS необязательным. Сценарий выглядит так: приложение подключается к порту 389, отправляет StartTLS-запрос, получает отказ или не получает ответа, после чего выполняет обычный bind. Логин и пароль в такой момент могут пройти по открытому каналу.
Причины отказа бывают техническими:
- LDAP-сервер не объявляет поддержку StartTLS;
- межсетевой экран или балансировщик блокирует расширенную операцию;
- библиотека клиента поддерживает только попытку TLS, но не обязательный режим;
- сертификат не доверен клиенту;
- имя в конфигурации не совпадает с SAN;
- клиент и сервер не согласуют версию TLS или криптографические параметры.
Изучите журналы приложения и LDAP-сервера после теста. В них должны быть отдельные события для TCP-подключения, StartTLS, TLS handshake и bind. Если продукт называет режим иначе, сверяйтесь с документацией именно вашей версии и проверяйте, что выбран обязательный TLS.
TLS для LDAP: требования к сертификатам и доверию
Проверка имени хоста и SAN
Клиент сравнивает имя, к которому подключается, с DNS-именами в SAN сертификата. Например, при подключении к ldap.example.net сертификат должен содержать это имя. Сертификат только для ldap, dc01.example.net или IP-адреса не пройдет проверку при обращении к другому имени.
Особенно часто проблема появляется после добавления алиаса или балансировщика. Клиент начинает использовать ldap.company.net, а сертификат выпущен только для имени контроллера домена. Исправьте сертификат или используйте имя, которое уже присутствует в SAN. Выключение hostname verification оставляет посреднику возможность подменить сервер.
Для проверки учитывайте:
- FQDN, короткое имя и алиас считаются разными именами;
- IP-адрес проходит проверку только при наличии IP SAN;
- имя из конфигурации клиента должно совпадать с именем в сертификате;
- звездочные сертификаты нужно оценивать с учетом правил конкретной TLS-библиотеки;
- изменение DNS требует проверки сертификата на каждом клиенте.
Доверенная CA и цепочка сертификатов
Ошибка unknown ca или certificate verify failed обычно означает, что клиент не может построить доверенную цепочку. Проверьте наличие корневого CA в trust store, передачу промежуточного сертификата сервером и соответствие цепочки выданному сертификату.
Системное время влияет на проверку срока действия. Разница в несколько минут обычно не ломает проверку, но неверная дата на сервере или клиенте приводит к отказу даже при правильном сертификате.
Для постоянной настройки храните CA в штатном доверенном хранилище ОС или в trust store приложения. Временная передача CA через параметр диагностической команды не заменяет установку сертификата для сервиса. После ротации CA перезапустите процессы, которые читают trust store только при старте.
Совместимость TLS-версий и криптографических параметров
TLS-соединение устанавливается только при наличии общей поддерживаемой версии протокола и совместимого набора шифров. Обновление ОС, LDAP-библиотеки или контроллера домена может изменить этот набор и внезапно сломать старый клиент.
Проверяйте:
- минимальную и максимальную версии TLS на сервере;
- поддержку выбранной версии в клиентской библиотеке;
- политику криптографии операционной системы;
- настройки балансировщика, если TLS завершается на нем;
- журналы handshake с указанием причины отказа.
Не ослабляйте серверную политику ради одного устаревшего приложения без плана замены или обновления клиента. Если старый продукт поддерживает только LDAPS, проверьте его через порт 636. Если он поддерживает обязательный StartTLS, тестируйте порт 389 с принудительным отказом при ошибке TLS.
LDAPS или StartTLS: сравнение совместимости и сценариев
Active Directory и корпоративные приложения
В среде Active Directory сначала определите возможности конкретного продукта. В его документации или настройках должно быть явно указано, поддерживает ли он:
ldaps://через порт636;- LDAP через порт
389с обязательным StartTLS; - проверку цепочки сертификатов и имени хоста;
- отказ от simple bind без TLS;
- подключение к контроллеру домена через FQDN или балансировщик.
Для корпоративного приложения с готовым полем LDAPS обычно проще выбрать порт 636. Для продукта, который работает через стандартный LDAP endpoint и корректно требует StartTLS, порт 389 тоже подходит. Проверяйте сертификаты всех контроллеров, к которым может обратиться клиент.
Не связывайте успешный bind с правом входа в приложение. После проверки учетных данных сервис должен проверить LDAP-группу, сопоставить ее с ролью и применить набор разрешений.
OpenLDAP и Linux-сервисы
В Linux результат зависит от системной LDAP-библиотеки, trust store и конкретного сервиса. Одни продукты принимают URL ldaps://, другие используют отдельный флаг StartTLS, третьи требуют параметр с обязательным TLS в конфигурации библиотеки.
Проверяйте настройки на трех уровнях:
- Утилита. Убедитесь, что
ldapsearchустанавливает TLS и проверяет CA. - Системная библиотека. Проверьте путь к CA, hostname verification и режим обязательного StartTLS.
- Приложение. Уточните собственные параметры URL, bind, таймаутов и поиска групп.
Изменение системного trust store не всегда влияет на контейнер. В контейнерной среде CA нужно установить в образ или подключить штатным способом, а затем обновить хранилище сертификатов внутри контейнера.
Для PAM/NSS-модулей и панелей управления дополнительно проверяйте кэш учетных данных. После смены группы тестовый пользователь может сохранить старую сессию или старый результат поиска.
Устаревшие клиенты и сетевые ограничения
Если приложение надежно поддерживает LDAPS и не умеет StartTLS, используйте отдельный endpoint на порту 636. Если сетевые правила уже разрешают порт 389, а клиент поддерживает обязательный StartTLS, оставьте стандартный порт и включите строгую проверку TLS.
Порт сам по себе не доказывает защищенность. Открытый 636 не спасает клиента с выключенной проверкой сертификата, а доступный 389 не означает небезопасность, если StartTLS обязателен и bind до TLS запрещен.
Не открывайте обычный LDAP наружу. Ограничьте доступ к портам списками разрешенных сетей, узлов приложений и административных подсетей. Балансировщик должен сохранять требуемую модель TLS и не превращать защищенный endpoint в открытый внутренний канал.
Миграция с обычного LDAP на TLS
Переход начинайте с инвентаризации. Соберите список приложений, серверов, сетевых устройств и скриптов, которые используют порт 389. Для каждой записи зафиксируйте URL, bind DN, Base DN, фильтр пользователя, способ проверки групп и поведение при ошибке TLS.
- Выпустите сертификаты с корректными SAN для всех LDAP endpoint.
- Установите CA на тестовые клиенты и проверьте цепочку.
- Настройте LDAPS или обязательный StartTLS в тестовой среде.
- Проверьте TLS handshake, bind, поиск пользователя и группы.
- Проверьте отказ при просроченном сертификате и недоступном StartTLS.
- Переведите сервисы в защищенный режим по одному, сохраняя журналы.
- Запретите обычные подключения политиками LDAP-сервера и сетевыми правилами.
Для отдельной тестовой площадки с Linux-серверами и каталогом можно использовать облачный VDS, например Timeweb Cloud. Тестовую сеть отделяйте от рабочей, а тестовые учетные записи и сертификаты не переносите в production.
Проверка защищенного LDAP через ldapsearch и журналы
Проверка сертификата и TLS-сеанса
Начните с DNS и TCP, затем переходите к TLS. Для LDAPS используйте шаблон:
openssl s_client -connect ldap.example.net:636 -servername ldap.example.net -showcerts
Проверьте в выводе цепочку сертификатов, SAN, согласованную версию TLS и строку проверки доверия. Для проверки через конкретный CA добавьте путь к доверенному файлу:
openssl s_client -connect ldap.example.net:636 -servername ldap.example.net -CAfile /path/to/ca.pem
Для StartTLS используйте LDAP-режим OpenSSL:
openssl s_client -connect ldap.example.net:389 -servername ldap.example.net -starttls ldap -CAfile /path/to/ca.pem
Команда подтверждает TLS handshake, но не проверяет bind, Base DN и фильтр пользователя. Эти уровни нужно тестировать отдельно.
Проверка bind и поиска пользователя
Пример проверки LDAPS через ldapsearch:
ldapsearch -x -H ldaps://ldap.example.net:636 -D 'uid=reader,ou=svc,dc=example,dc=net' -W -b 'dc=example,dc=net' '(uid=test)'
Пример обязательного StartTLS:
ldapsearch -x -ZZ -H ldap://ldap.example.net:389 -D 'uid=reader,ou=svc,dc=example,dc=net' -W -b 'dc=example,dc=net' '(uid=test)'
Параметр -ZZ требует успешный StartTLS и завершает команду при ошибке. Не заменяйте его на необязательный режим, если задача требует запретить открытый bind.
Не передавайте рабочий пароль прямо в командной строке. Используйте интерактивный ввод через -W, защищенное хранилище секретов или механизм, предусмотренный вашей ОС и инструментом. Сервисному bind-аккаунту выдавайте минимальные права: ему обычно нужен поиск разрешенных атрибутов, а не изменение каталога.
После bind сервисной учетной записью проверьте отдельный поиск тестового пользователя, его атрибут идентификатора и членство в группе. Для отладки сначала подтвердите канал и bind, затем проверяйте фильтры и роли.
Типовые ошибки подключения
| Симптом | Вероятная причина | Что проверить |
|---|---|---|
| Таймаут | DNS, маршрут, межсетевой экран или недоступный порт | Разрешение имени, TCP-соединение, правила сети, адрес endpoint |
| Connection refused | Сервис не слушает порт или порт закрыт локальной политикой | Состояние LDAP-сервера и правила входящего трафика |
unknown ca | Клиент не доверяет корневому или промежуточному CA | Trust store, цепочку сертификатов и передаваемые сервером промежуточные сертификаты |
certificate verify failed | Ошибка срока действия, цепочки или системного времени | Даты сертификата, часы узлов и полный путь доверия |
| Hostname mismatch | Имя из конфигурации отсутствует в SAN | FQDN, алиас, имя балансировщика и IP SAN |
| StartTLS rejected | Сервер, библиотека или посредник не поддерживает расширенную операцию | Ответ LDAP, сетевой путь и версию клиента |
| Invalid credentials | Неверный bind DN, пароль или формат учетной записи | DN, пароль, журнал сервера и способ escape специальных символов |
| Пустой результат поиска | Неправильный Base DN, фильтр или атрибут пользователя | Структуру каталога, фильтр и права bind-аккаунта |
| Пользователь вошел без нужной роли | Ошибка поиска группы или mapping роли | Атрибуты членства, вложенные группы, кэш и правила сопоставления |
При диагностике фиксируйте отдельные записи журнала для DNS, TCP, TLS, bind, поиска пользователя и проверки группы. Сопоставление этих событий быстро показывает, на каком уровне возник сбой.
Пошаговая схема поиска причины ошибки для LDAP и Active Directory приведена в материале по диагностике LDAP-аутентификации.
LDAP-аутентификация и права доступа: TLS не выдает роль
Группа LDAP как основание для роли
LDAP bind подтверждает логин и пароль. Приложение после этого должно определить, разрешен ли вход и какие действия доступны пользователю. Рабочая цепочка выглядит так: пользователь -> LDAP-группа -> роль приложения -> права.
Например, сервис может использовать три роли:
- Администратор. Доступ к настройкам и операциям управления.
- Оператор. Работа с объектами без изменения глобальной конфигурации.
- Только чтение. Просмотр данных без операций изменения.
Для этих ролей создавайте отдельные сервисные группы с явным уровнем доступа. Группа отдела «Маркетинг» или «Разработка» описывает организационную структуру и не должна автоматически открывать доступ к техническому сервису.
После изменения группы проверяйте новую сессию пользователя. Приложение может кэшировать membership, а уже открытая сессия может сохранять старую роль. Настройки групп и сопоставления ролей с атрибутами разобраны в руководстве по LDAP-группам и ролям.
Default deny для пользователей без подходящей группы
Политика default deny означает отказ в доступе, если пользователь успешно прошел bind, но не состоит в разрешенной группе. Наличие учетной записи в каталоге само по себе не дает права входа в приложение.
Проверьте четыре отрицательных сценария:
- пользователь не входит ни в одну сервисную группу;
- атрибут членства отсутствует или содержит неожиданный формат;
- поиск группы завершился ошибкой;
- пользователь входит в несколько групп с конфликтующими ролями.
Для конфликта ролей задайте явное правило: приоритет, отказ или отдельная группа с разрешенной комбинацией. Молчаливое назначение максимальных прав повышает риск ошибки в конфигурации.
Проверка изменений групп после настройки TLS
Защищенный транспорт не исправляет неправильный фильтр группы, stale-кэш или неверное сопоставление атрибутов. После настройки LDAPS или StartTLS выполните тестовую матрицу:
| Тест | Ожидаемый результат |
|---|---|
| Пользователь добавлен в группу «Администратор» | После новой сессии получает роль администратора |
| Пользователь удален из группы | После обновления сессии доступ блокируется или роль снимается |
| Пользователь состоит в группе «Только чтение» | Изменяющие операции запрещены |
| Пользователь не состоит в сервисных группах | Срабатывает default deny |
| LDAP-поиск группы временно недоступен | Приложение не выдает права по старому или пустому результату без правила отказа |
Отдельно проверьте вложенные группы, регистр значений, разные атрибуты member и memberOf, срок кэша и обновление токена или сессии. Запишите фактический результат для каждой роли и версии приложения.
Итоговый чек-лист выбора и ввода в эксплуатацию
Краткая матрица решения
| Условие | Решение |
|---|---|
| Приложение поддерживает отдельный LDAP over TLS endpoint | Выбрать LDAPS на порту 636 |
| Клиент поддерживает LDAP extended operation и строгий режим TLS | Выбрать обязательный StartTLS на порту 389 |
| Клиент продолжает bind после ошибки TLS | Отключить такой режим, обновить клиент или заменить интеграцию |
| Сертификат не содержит имя endpoint в SAN | Выпустить корректный сертификат или изменить имя подключения |
| CA не установлен на клиенте | Добавить доверенную цепочку в trust store и повторить проверку |
| Учетная запись прошла bind, но не состоит в разрешенной группе | Отказать в доступе по политике default deny |
Перед переводом сервиса в рабочий режим пройдите чек-лист:
- Определите, поддерживает ли клиент LDAPS, StartTLS или оба режима.
- Выберите LDAPS на порту
636либо обязательный StartTLS на порту389. - Подготовьте сертификат сервера с правильным SAN и назначением для TLS-сервера.
- Установите доверенный CA и проверьте полную цепочку.
- Включите проверку сертификата и имени хоста.
- Запретите bind до TLS и любой fallback на незашифрованный LDAP.
- Проверьте TLS через
openssl s_client. - Проверьте bind и поиск пользователя через
ldapsearch, не передавая пароль в аргументах команды. - Проверьте журналы клиента, LDAP-сервера и балансировщика.
- Протестируйте добавление и удаление пользователя из сервисных групп.
- Настройте явное сопоставление LDAP-групп с ролями приложения.
- Включите
default denyдля пользователей без подходящей группы. - Зафиксируйте URL, порт, Base DN, bind DN, CA, версию клиента и версию сервера в рабочей документации.
Для отдельного TLS endpoint и клиента с хорошей поддержкой LDAP over TLS выбирайте LDAPS. Для сохранения стандартного LDAP-подключения на порту 389 выбирайте StartTLS, если приложение требует успешный TLS до bind. Оба варианта дают защищенную аутентификацию при одинаково строгой проверке сертификата, доверия, имени хоста и прав доступа.