Доступно ли какое-либо решение, поддерживающее 2FA в OpenLDAP для аутентификации пользователей?

В настоящее время мы используем SimpleSAMLphp для решения SSO в нашем php-приложении с OpenLDAP в качестве источника данных аутентификации, и оно работает нормально.

Теперь нам нужно реализовать 2FA в процессе входа в систему, поэтому я хотел знать, есть ли встроенная поддержка 2FA в OpenLDAP.

Я обнаружил, что SimpleSAMLphp позволяет использовать двухфакторную аутентификацию с использованием модуля PrivacyIDEA, но он использует собственный механизм для генерации и проверки totp, но нам требуется, чтобы все обрабатывалось в SimpleSAMLphp и OpenLDAP. Возможно ли это?


person Vishal    schedule 01.11.2018    source источник


Ответы (4)


privacyIDEA может считывать ваших пользователей и все необходимые атрибуты из OpenLDAP. Вы можете определить сопоставление атрибутов для чтения любых произвольных атрибут из OpenLDAP.

В PrivacyIDEA вы можете определить политику, которая требует от пользователя чтобы ввести пароль LDAP плюс значение OTP.

Затем в simpleSAMLphp вы можете определить источник авторизации как privacyIDEA. Таким образом, вы, пользователь, можете аутентифицироваться с помощью своего пароля LDAP и OTP на IdP. Если вы хотите, вы можете использовать параметр otpextra даже для использования двухшагового диалога, где пользователю сначала нужно ввести свой пароль LDAP, а затем значение OTP.

Используйте сопоставление в модуле SAML privacyIDEA или фильтры authproc для дальнейшего сопоставления ваших атрибутов.

person cornelinux    schedule 01.11.2018
comment
Я уже включил это решение в описание своего вопроса. Я хочу знать, есть ли в OpenLDAP встроенная функция для двухфакторной аутентификации. Вы дважды ответили на мой вопрос. - person Vishal; 01.11.2018
comment
Если вы хотите использовать встроенные функции (которые, конечно, имеют различные ограничения), воспользуйтесь предложениями Майкла Пауэрса или Майкла Стродера! - person cornelinux; 01.11.2018
comment
Да, изучая решение, предоставленное @michael-powers, да, также утомительно работать с настройкой OpenLDAP для новичка. - person Vishal; 02.11.2018
comment
privacyIDEA может читать ваших пользователей и все необходимые атрибуты из OpenLDAP, это можно сделать на сервере privacyIDEA, верно? - person Vishal; 04.12.2018
comment
Да, вы можете определить сопоставление атрибутов в преобразователе LDAP в privacyIDEA. - person cornelinux; 05.12.2018
comment
Хорошо, спасибо. При необходимости мне потребуется ваша помощь. Я также присоединился к форуму Privacyidea. - person Vishal; 05.12.2018

Похоже, что OpenLDAP поддерживает TOTP (чаще всего называемый Google Authenticator) с модулем slapd.

Модуль для OpenLDAP можно найти здесь . Статью с описанием можно найти здесь. Документация к модулю кажется немного легкой, но сам модуль небольшой и довольно читаемый.

person Michael Powers    schedule 01.11.2018
comment
Это не фактическое решение 2FA. Пользователь должен вводить пароль (totp) только после того, как дополнительная аутентификация не требуется. - person Vishal; 09.11.2018
comment
Ссылка на Github говорит, что можно комбинировать традиционный пароль с TOTP. Я нахожу эту интересную ссылку о том, как настроить TOTP для LDAP: blog.sys4.de/. С нетерпением жду, чтобы найти еще несколько интересных статей, описывающих это. - person Junwei WANG; 17.08.2020

В своем Æ-DIR я использую собственное решение OATH-LDAP, который добавляет данные токена в виде записей LDAP. В настоящее время валидатор поддерживает только HOTP на основе счетчика (см. RFC 4226). Его можно использовать, например. с yubikey, и для этого также доступен сценарий регистрации.

К сожалению, в настоящее время нет доступной документации о том, как использовать автономный OATH-LDAP в произвольной установке OpenLDAP.

Дайте мне знать, если вы хотите покопаться в этом.

person Michael Ströder    schedule 01.11.2018

В качестве альтернативы вы также можете использовать privacyIDEA LDAP Proxy, чтобы по-прежнему использовать ldap:ldap источник авторизации simpleSAMLphp, но «обогатить» его значением OTP.

person cornelinux    schedule 01.11.2018