Как изменить схему пароля для аутентификации пользователя Dovecot для уже существующего почтового сервера

У меня настроен почтовый сервер на Debian Lenny с Postfix, Dovecot, SASL и MySQL.

В настоящее время схема пароля в моем файле dovecot-sql.conf установлена ​​на: CRYPT

default_pass_scheme = CRYPT

Я хотел бы глобально изменить схему на что-то более сильное, например, SSHA или MD5-CRYPT, и заново хэшировать все пароли с помощью SSHA. Каков наилучший способ сделать это?

В вики Dovecot упоминается, как пароли, которые не следуют схеме по умолчанию, определенной в dovecot-sql.conf, могут начинаться с префикса "{ssha}password", но я не вижу ничего относительно изменения уже существующей схемы на новую. для всех паролей, которые уже есть в базе данных.

Спасибо за вашу помощь!

1 ответ

Решение

Я не совсем уверен, что одна голубятня может справиться с этим. Поскольку существующие пароли зашифрованы, вы не можете просто преобразовать их в другой формат, так как не знаете, что это за пароль. Если у вас есть механизм истечения срока действия / изменения пароля, тогда вы сможете обновить хэш на этом этапе. Если вы использовали PAM для аутентификации, то почти наверняка есть какой-то "перефразирующий" модуль, который бы повторно хэшировал пароль к другому алгоритму после успешного сопоставления его со старым хешем.

Обратите внимание, что схема "crypt" в dovecot использует crypt() функция, которая поддерживает модульный формат шифрования, то есть она может распознавать несколько различных алгоритмов хеширования, если они правильно отформатированы.

Другие вопросы по тегам