Настройка LDAP аутентификации на сервере CommuniGate Pro
В этой опорной статья я покажу пример того, как выполняется настройка LDAP аутентификации на сервере CommuniGate Pro. В моем простом примере будет один почтовый домен.
Предварительно необходимо создать хотя бы одного пользователя CommuniGate. Пользователи на сервере CommuniGate Pro могут быть как созданы вручную, так и синхронизованы через утилиту синхронизации для Active Directory.
Настройка в официальной документации приведена вот в этом разделе.
Общее описание принципа работы
При использовании LDAP аутентификации сервер CommuniGate Pro отправляет BIND запрос к серверу Active Directory с теми учетными данными (логин и пароль), которые указал пользователь. Если аутентификация выполняется успешно, то пользователю предоставляется доступ к системе CommuniGate.
При настройке внешнего URI для аутентификации вы можете задать аутентификацию Active Directory в виде samaccountname (например, it\adm). Также можно использовать формат userprincipalname (например, adm@itproblog.ru).
При настройке URI строки для подключения возможно использование подстановочных знаков:
- Символ “*” преобразуется в текущее имя пользователя.
- Выражение “^0” преобразуется в имя домена.
Например, выражение “*^0” преобразуется в “adm@itproblog.ru”, если я буду пытаться установить сессию от имени пользователя adm.
Не всегда значение атрибута samaccountname в Active Directory равно значение атрибута userprincipalname (UPN). Учитывайте этот момент.
Пример настройки безопасного соединения к серверу Active Directory для выполнения аутентификации пользователя в формате userprincipalname (UPN):
При использовании такой строки подключения пользователь должен указывать свой UPN при аутентификации.
Пример настройки безопасного соединения к серверу Active Directory для выполнения аутентификации пользователя в формате samaccountname:
При использовании такой строки подключения пользователь должен указывать свой samaccountname при аутентификации.
Настройка LDAP аутентификации – пример
Теперь я покажу на примере как можно выполнить настройку внешней LDAP аутентификации.
Что для этого нужно сделать:
1. Зайти в веб интерфейс администрирования.
2. Перейти в раздел настроек по умолчанию для учетных записей “Users -> Domains -> itproblog.ru -> Account Defaults -> Settings”.
3. В параметре “Authentication URI” указать строку и параметры для подключения к контроллеру домена.

Я буду использовать аутентификацию в формате userprincipalname (UPN).
4. Сохранить внесенные изменения.
Проверка LDAP аутентификации
После внесения необходимых изменений мы можем выполнить проверку внешней LDAP аутентификации.
Я буду использовать все того же пользователя adm. Я не создавал этого пользователя в системе CommunuGate вручную, а синхронизовал его через утилиту синхронизации с AD. Так что никакого локального пароля у этой учетной записи не установлено.
Как я уже говорил ранее, для аутентификации я буду использовать userprincipalname пользователя:

1. Попробуем подключиться к веб клиенту Samoware через LDAP аутентификацию. Открываем страницу веб клиента:
2. Указываем UPN пользователя и пароль:

Разметку можете выбрать любую. Я выберу Samoware.
3. Нажимаем кнопку “Enter”.
4. В случае успешной аутентификации мы должны попасть на главную страницу веб клиента:

Если что-то пошло не так
Все события внешней LDAP аутентификации сервер CommuniGate пишет в журналы, которые складирует в log файлах вот тут:
Пример записи в логе об успешной LDAP аутентификации:
Если у вас что-то отличное от листинга выше, то вероятнее всего, вы что-то сделали не так. Либо по пути до контроллера домена закрыты порты TCP/389 или TCP/636. В зависимости от того, какой порт вы используете.
Например, я намеренно допущу опечатку в строке URI и вместо параметра itproblog.ru укажу itproblog2.ru:

Соответственно, при попытке получения доступа к веб клиенту я получу соответствующую ошибку в журнале:
Но это лишь пример. В вашем случае в журнале могут быть зарегистрированы какие-то другие ошибки.
Как узнать, настроен ли LDAP в Linux?
Вы также можете включить или отключить панель предварительного просмотра в проводнике, нажав Alt + P на клавиатуре.
Как узнать, работает ли LDAP в Linux?
- Чтобы проверить, работает ли сервер LDAP и прослушивает ли он порт SSL, выполните команду nldap -s.
- Чтобы проверить, работает ли сервер LDAP и прослушивает ли он порт TCL, выполните команду nldap -c.
Как узнать, настроен ли LDAP?
- Щелкните Система> Безопасность системы.
- Щелкните Проверить настройки аутентификации LDAP.
- Протестируйте фильтр поиска имени пользователя LDAP. …
- Проверьте фильтр поиска имени группы LDAP. …
- Проверьте членство в LDAP (имя пользователя), чтобы убедиться, что синтаксис запроса верен и что наследование роли группы пользователей LDAP работает правильно.
Как мне найти моего пользователя LDAP в Linux?
Для поиска конфигурации LDAP используйте команду «ldapsearch» и укажите «cn = config» в качестве базы поиска для вашего дерева LDAP. Чтобы запустить этот поиск, вы должны использовать опцию «-Y» и указать «ВНЕШНИЙ» в качестве механизма аутентификации.
Как проверить запрос LDAP?
Проверить запросы LDAP
- Из командной строки Windows или диалогового окна запуска.
- Запустите dsquery% SystemRoot% SYSTEM32rundll32.exe, OpenQueryWindow.
- В раскрывающемся списке «Найти» выберите «Пользовательский поиск».
- Затем перейдите на вкладку «Дополнительно».
- Здесь вы можете проверить свой запрос.
Что такое LDAP и как он работает в Linux?
Установка и настройка сервера каталогов LDAP. Описание: Облегченный протокол доступа к каталогам (LDAP) средство обслуживания данных о физических лицах, системных пользователях, сетевых устройствах и системах по сети для клиентов электронной почты, приложений, требующих аутентификации или информации.
Как мне подключиться к серверу LDAP?
- Войдите в веб-клиент IBM® Cloud Pak for Data как администратор.
- В меню выберите Администрирование> Управление пользователями.
- Перейдите на вкладку Пользователи.
- Щелкните Подключиться к серверу LDAP.
- Укажите, какой метод аутентификации LDAP вы хотите использовать:…
- В поле Порт LDAP введите порт, к которому вы подключаетесь.
Как исправить LDAP?
В этой статье
- Шаг 1. Проверьте сертификат аутентификации сервера.
- Шаг 2: Проверьте сертификат аутентификации клиента.
- Шаг 3. Проверьте наличие нескольких сертификатов SSL.
- Шаг 4: Проверьте соединение LDAPS на сервере.
- Шаг 5: Включите ведение журнала Schannel.
Можете ли вы пропинговать сервер LDAP?
Пинг LDAP чаще всего встречается в сетях Microsoft Active Directory, где клиенты используют LDAP или CLDAP для эхо-запроса LDAP для получения информации о сервере. Пинг LDAP, возможно, более формально описывается как RootDSE запрос для атрибута Netlogon.
Настройка и проверка LDAP

А можно поподробнее, пожалуйста: 1. Какими командами можно проверить? 2. И как исправить, сам PID на месте, сервис находится в running. Проверял директорию, права выставлены root.

ldap — это база данных. Содержимое в нём может быть любое. В зависимости от того, что ты хочешь от ldap получить ты сможешь понять как его проверить. Ты тут об этом нам ничего не сказал.
Формулировка абстрактно «проверить корректность работы» совершенно, полностью абсолютно бессмысленная.
И как исправить, сам PID на месте
Тебе русским языком говорят, что
/var/run/nslcd/nslcd.pid
No such file or directory
Но тебе нужно чьё-то время занять, чтобы он тебе сказал что нет, не на месте?
Господи, куда всё катится.

вот тудысь и катитси. хотя нет, ты видать романтик неисправимый, оно уже прикатилось, и давно, а кое кто уже и обои поклеить успел.да.

Ну вот представь, что он себе авторизацию какого-то сервиса прикручивает, или пытается поднять упавшую.
Вопрос, что ты этой командой проверил? Что у тебя slapd запущен и что-то отвечает? Это типа ты «корректность работы» проверил?)

ну каков вопрос, такой и ответ)) Я лишь усугубил твоё брюзжание «кудыть катимси», этакая рекурсия без проверки условия. А так — проверка из ряда «оно хоть живое?». Ну а что ещё можно посоветовать то? Ну не хотят они ничего читать, про понимание вообще помолчу, куды бедному крестьянину податься.
А ты я смотрю мастер за моником рассказывать, что Земля не квадратная. Я пришел на форум, за помощью к профессионалам своего дела т.к. из других источников не нашел подходящих ответов. А ты тут устроил холивар. Сразу складывается о тебе первое впечатление (профессионал, своего дела).
Тебе русским языком говорят, что
/var/run/nslcd/nslcd.pid
No such file or directory
Я не слепой и видел, у меня процесс на месте, также как и права, а не пустая директория.
Спасибо за помощь, а тебе отдельное Удачи по жизни!!

к профессионалам за деньги приходят, я что-то денег от тебя не видел.
к профессионалам за деньги приходят, я что-то денег от тебя не видел.
Ну и профессионального ответа, чет я от тебя и не услышал как бы!
Ответ на уровне джуниор был)
Ошибку эту можно игнорить — это багофича systemd.
На многих юнитах вылезает, не только на nslcd.
Systemd пытается открыть PID-файл до того, как приложение его создаст. На что намекает слово yet в скобочках в самом сообщении: "(yet?)". Если приложение стартует, то не обращай внимания.
Easy way to test an LDAP User's Credentials
Is there an easy way to test the credentials of a user against an LDAP instance? I know how to write a Java program that would take the ‘User DN’ and password, and check it against the LDAP instance. However is there any easier way? Specially a method that not only authenticates the user, but also lists all the user’s roles.
6 Answers 6
ldapwhoami -vvv -h <hostname> -p <port> -D <binddn> -x -w <passwd> , where binddn is the DN of the person whose credentials you are authenticating.
On success (i.e., valid credentials), you get Result: Success (0) . On failure, you get ldap_bind: Invalid credentials (49) .
Use ldapsearch to authenticate. The opends version might be used as follows:
You should check out Softerra’s LDAP Browser (the free version of LDAP Administrator), which can be downloaded here :
I’ve used this application extensively for all my Active Directory, OpenLDAP, and Novell eDirectory development, and it has been absolutely invaluable.
If you just want to check and see if a username\password combination works, all you need to do is create a «Profile» for the LDAP server, and then enter the credentials during Step 3 of the creation process :

By clicking «Finish», you’ll effectively issue a bind to the server using the credentials, auth mechanism, and password you’ve specified. You’ll be prompted if the bind does not work.