У меня есть почтовый сервер на Debian Lenny с Postfix, Dovecot, SASL и MySQL.
В настоящее время схема паролей в моем файле dovecot-sql.conf установлена на: CRYPT
default_pass_scheme = CRYPT
Я хотел бы глобально изменить схему на что-то более сильное, например SSHA или MD5-CRYPT, и повторно хешировать все пароли с SSHA. Как лучше всего это сделать?
В вики Dovecot упоминается, как пароли, которые не соответствуют схеме по умолчанию, определенной в dovecot-sql.conf, могут иметь префикс «{ssha} password», но я не видел ничего относительно изменения уже существующей схемы на новую для всех паролей, которые уже есть в базе данных.
Спасибо за вашу помощь!
Я не совсем уверен, что одна голубь справится с этим. Поскольку существующие пароли зашифрованы, вы не можете просто преобразовать их в другой формат, так как вы не знаете, что это за пароль. Если у вас есть механизм истечения срока действия / изменения пароля, вы сможете обновить хэш на этом этапе. Если вы использовали PAM для аутентификации, то почти наверняка есть какой-то модуль "rehash", который повторно хеширует пароль для другого алгоритма после успешного сопоставления его со старым хешем.
Обратите внимание, что схема "crypt" в dovecot использует crypt()
функция, которая поддерживает Модульный формат крипты, что означает, что он может распознавать несколько различных алгоритмов хеширования, если они правильно отформатированы.