Назад | Перейти на главную страницу

Как я могу настроить openLDAP для поиска userPassword через FreeRadius?

Я использую Ubuntu 12.04 и OpenLDAP 2.4.28-1.1ubuntu4.5. У меня есть пользователи в LDAP с userPassword атрибут, являющийся хешем {SHA1}. Пользователи могут входить в систему через SSH и проходить аутентификацию в веб-приложениях.

Теперь я хотел бы добавить аутентификацию Radius (от OTP-сервера) к серверу LDAP в качестве дополнительного механизма. Таким образом, пользователи могут аутентифицироваться с помощью «Одноразового пароля» Radius, но все атрибуты POSIX будут извлечены из LDAP. Это возможно? Как называется механизм?

Openldap 2.4 поддерживает сквозную аутентификацию паролей SASL ( http://www.openldap.org/doc/admin24/security.html ).

Эта функция позволяет делегировать процесс аутентификации демону saslauthd и поддерживает другие атрибуты в openldap.

Эта функция требует заменить фактическое значение userPassword строкой «{SASL} username @ realm», чтобы вы не могли использовать пароль SHA1 и аутентификацию SASL для одного и того же пользователя. Кроме того, SASL может использовать PAM в качестве внутреннего метода аутентификации.

В PAM есть модуль, позволяющий использовать аутентификацию по свободному радиусу. Полная цепочка аутентификации будет:

Сервер OpenLDAP -> saslauthd -> модуль pam с радиусом -> сервер Freeradius


Есть два других способа решить эту проблему:

  • если ваше веб-приложение поддерживает аутентификацию PAM, создайте модуль pam, который использует аутентификацию как freeradius, так и ldap

  • Если ваше веб-приложение поддерживает аутентификацию Radius, настройте свободный радиус с OpenLDAP в качестве бэкэнда.

SSH уже поддерживает аутентификацию PAM и Radius (последняя с использованием модуля pam).