Агент LDAP-прокси
Некоторые целевые ресурсы, доступ к которым нужно защитить с помощью многофакторной аутентификации, не поддерживают ни один из распространенных протоколов аутентификации, но при этом используют один из механизмов аутентификации протокола LDAP, известный как простая аутентификация.
Механизм работает следующим образом:
- Пользователь передает целевому ресурсу свои учетные данные.
- Далее ресурс подключается к LDAP-источнику в зависимости от имени пользователя:
- если используется Distinguished Name, ресурс подключается к LDAP-каталогу напрямую с учетными данными пользователя;
- если в качестве имени используется другой атрибут LDAP, сначала ресурс подключается к LDAP-каталогу через служебную учетную запись или анонимно, находит имя пользователя в заданном атрибуте и затем делает повторное подключение уже с его Distinguished Name.
- Сервер LDAP сравнивает пароль, хранящийся в его базе, с паролем, полученным в запросе, и если они совпадают, возвращает код 0 (success), а если не совпадают – код 49 (invalidCredentials).
- Результат сравнения сообщается целевому ресурсу.
Агент LDAP-прокси
Агент LDAP-прокси — это посредник между интегрированными целевыми ресурсами, использующими LDAP-аутентификацию, и сервисом MFA. Этот агент принимает от целевого ресурса запросы на привязку по протоколу LDAP или LDAPS и транслирует их на LDAP-сервер.
Если привязка прошла успешно, агент отправляет одноразовый пароль на сервер аутентификации или запрашивает отправку push-уведомления. Если одноразовый пароль верен или если пользователь подтвердит вход в push-уведомлении, то LDAP-прокси отправляет на целевой ресурс подтверждение успешной привязки. Если же LDAP-пароль или одноразовый пароль неверны или пользователь не подтвердит вход по push-уведомлению, то целевой ресурс получит сообщение, что учетные данные пользователя неверны.
Так как целевые ресурсы, использующие LDAP-аутентификацию, предлагают пользователю только одно поле для ввода пароля, при интеграции через LDAP необходимо либо включать автоматическую отправку push-уведомлений, либо передавать одноразовый пароль или запрос на push-уведомление вместе с паролем LDAP в одном поле. Так как аутентификация одноэтапная, то при интеграции через LDAP токены типа «запрос-ответ» не поддерживаются.
Если целевой ресурс отправляет запрос на привязку под сервисной учетной записью, заданной в настройках LDAP Proxy, то дополнительный фактор аутентификации при этой привязке не проверяется.
Отказоустойчивость и балансировка
Чтобы обеспечить отказоустойчивость интеграции, в списке серверов LDAP в целевых ресурсах можно указать несколько прокси, причем на разных целевых ресурсах прокси могут следовать в разном порядке. При этом запросы в зависимости от логики клиента LDAP в целевом ресурсе будут отправляться на первый в списке прокси или распределяться статистически в нужных пропорциях, а при его отказе или критической перегрузке перенаправляться на резервный. Агенты LDAP-прокси после обработки запроса на аутентификацию не хранят никакой информации о статусе, поэтому привязывать целевые ресурсы к определенным агентам не требуется.