В этой опорной статья я покажу пример того, как выполняется настройка 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):
ldaps://dc01.itproblog.ru:636/*@itproblog.ru
При использовании такой строки подключения пользователь должен указывать свой UPN при аутентификации.
Пример настройки безопасного соединения к серверу Active Directory для выполнения аутентификации пользователя в формате samaccountname:
ldaps://dc01.itproblog.ru:636/IT\*
При использовании такой строки подключения пользователь должен указывать свой samaccountname при аутентификации.
Настройка LDAP аутентификации – пример
Теперь я покажу на примере как можно выполнить настройку внешней LDAP аутентификации.
Что для этого нужно сделать:
1. Зайти в веб интерфейс администрирования.
2. Перейти в раздел настроек по умолчанию для учетных записей “Users -> Domains -> itproblog.ru -> Account Defaults -> Settings”.
3. В параметре “Authentication URI” указать строку и параметры для подключения к контроллеру домена.

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

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

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

Если что-то пошло не так
Все события внешней LDAP аутентификации сервер CommuniGate пишет в журналы, которые складирует в log файлах вот тут:
/var/CommuniGate/SystemLogs/
Пример записи в логе об успешной LDAP аутентификации:
23:54:05.318 4 ExtAuthLDAP-000001 [0.0.0.0]:0 -> [10.10.10.150]:636(TLS) connecting
23:54:05.327 2 TLS-000043 created(TLSv1.2,ECDHE_AESGCM256_SHA384) -> [10.10.10.150]:636 for ExtAuthLDAP-000001
23:54:05.393 4 ExtAuthLDAP-000001 TLS-000043 secure(ECDHE_AESGCM256_SHA384) connection opened
23:54:05.393 4 ExtAuthLDAP-000001 opening protocol
23:54:05.393 2 ExtAuthLDAP-000001 binding as adm@itproblog.ru
23:54:05.395 4 ExtAuthLDAP-000001 authenticated
23:54:05.395 4 ExtAuthLDAP-000001 closing protocol (0)
23:54:05.395 4 ExtAuthLDAP-000001 unbinding
23:54:05.395 4 ExtAuthLDAP-000001 TLS connection is closing
23:54:05.395 2 TLS-000043 closed by ExtAuthLDAP-000001
23:54:05.395 4 ExtAuthLDAP-000001 closing connection
23:54:05.395 4 ExtAuthLDAP-000001 releasing
Если у вас что-то отличное от листинга выше, то вероятнее всего, вы что-то сделали не так. Либо по пути до контроллера домена закрыты порты TCP/389 или TCP/636. В зависимости от того, какой порт вы используете.
Например, я намеренно допущу опечатку в строке URI и вместо параметра itproblog.ru укажу itproblog2.ru:
ldaps://dc01.itproblog.ru:636/*@itproblog2.ru

Соответственно, при попытке получения доступа к веб клиенту я получу соответствующую ошибку в журнале:
00:03:50.678 4 ExtAuthLDAP-000002 [0.0.0.0]:0 -> [10.10.10.150]:636(TLS) connecting
00:03:50.687 2 TLS-000049 created(TLSv1.2,ECDHE_AESGCM256_SHA384) -> [10.10.10.150]:636 for ExtAuthLDAP-000002
00:03:50.752 4 ExtAuthLDAP-000002 TLS-000049 secure(ECDHE_AESGCM256_SHA384) connection opened
00:03:50.752 4 ExtAuthLDAP-000002 opening protocol
00:03:50.752 2 ExtAuthLDAP-000002 binding as adm@itproblog2.ru
00:03:50.753 1 ExtAuthLDAP-000002 failed to bind. Error Code=external LDAP server: invalid credentials
00:03:50.753 4 ExtAuthLDAP-000002 closing protocol (0)
00:03:50.753 4 ExtAuthLDAP-000002 unbinding
00:03:50.753 4 ExtAuthLDAP-000002 TLS connection is closing
00:03:50.753 2 TLS-000049 closed by ExtAuthLDAP-000002
00:03:50.753 4 ExtAuthLDAP-000002 closing connection
00:03:50.754 4 ExtAuthLDAP-000002 releasing
Но это лишь пример. В вашем случае в журнале могут быть зарегистрированы какие-то другие ошибки.