У меня есть хешированные пароли в OpenLDAP для входа через PAM в Linux. Настройка работает, когда хэши имеют тип SHA-1 (соленый или несоленый) или обычный текст. В этих случаях все работает нормально, и пользователь может войти в систему с этими учетными данными.
Если я перейду на соленые пароли SHA-256 (SSHA-256), то пользователь не сможет войти с правильным паролем. Видимо pam_ldap не понимает SHA-256? Я не могу найти документацию, в которой говорится об этом ограничении, но также не могу найти примеры конфигурации, показывающие, что это возможно.
Что мне нужно сделать? Настроить / скомпилировать pam_ldap для SHA-256? Использовать что-то еще, кроме PAM?
Я вынужден использовать соленый SHA-256, поскольку учетные данные уже присутствуют в другом (ведущем) хранилище данных и должны быть синхронизированы с OpenLDAP.
увидеть функцию CRYPT? https://www.redpill-linpro.com/techblog/2016/08/16/ldap-password-hash.html
Сквозная аутентификация OpenLDAP
OpenLDAP также может использовать внешние процессы для проверки и хеширования паролей. Вот эти схемы:
CRYPT - будет использовать библиотеку шифрования ОС в качестве обработчика паролей SASL - будет использовать Cyrus SASL в качестве обработчика паролей Cyrus SASL последний раз обновлялся в 2012 году, но CRYPT является частью POSIX API и должен постоянно обновляться. Итак - может ли CRYPT дать нам актуальный хэш?
Крипта на помощь
Оказывается, что версия crypt на базе Linux glibc поддерживает дополнительные схемы шифрования с помощью дополнительной схемы управления версиями, закодированной в хэше пароля, иногда называемой модульным форматом crypt:
1 - MD5 2a - Blowfish / bcrypt 5 - SHA-256 6 - SHA-512