Есть проблема в усатновкой RoundCube - не проходит тестовая аутентификация IMAP. Опишу ситуацию чуть подробнее. Если будет необходимо, опишу еще подробнее, вопрос в том, что может быть нужно...Итак, есть Dovecot + Postfix + MySQL.
Dovecot-mysql.conf:
default_pass_scheme = MD5-CRYPTDovecot.conf:
auth_mechanisms = PLAIN LOGIN CRAM-MD5Postfixadmin — config.inc.php:
CONF['encrypt'] = 'md5crypt';Все работает, почта ходит, smtp и imap авторизуются...
Решил поставить RoundCube. На этапе наладки получаю:
IMAP connect: NOT OK(Login failed for test@virtual.local from 192.168.1.1(X-Forwarded-For: 192.168.100.201). AUTHENTICATE CRAM-MD5: A0001 NO [AUTHENTICATIONFAILED] Authentication failed.)По идее, в конфиге RoundCube надо просто подправить:
$rcmail_config['imap_auth_type'] = null;
на...подправить на что? Я уже что только не пробовал... Во-первых, скажу сразу, текст ошибки не менялся при этом (... AUTHENTICATE CRAM-MD5 ... ), как будто я и менял ничего в конфиге. Во-вторых, как вообще считается нормальным хранить пароли? Может, вообще открытым текстом, как раз для нормального взаимодействия между разными программами.
Помогите советом!
Если Dovecot.conf:
auth_mechanisms = PLAIN LOGIN CRAM-MD5то
Dovecot-mysql.conf:
default_pass_scheme = СLEARTEXT
У меня в базу вгоняются данных через Постфиксадмина (пароли, то есть). Там они кодируются от так - config.inc.php:
$CONF['encrypt'] = 'dovecot:CRAM-MD5'
В давкоте - dovecot.sql:
default_pass_scheme = CRAM-MD5
И усе работает. Раундкуб воббще не трогал - в нем null стоит.
Забал сказать, в postfixadmin у меня вообще:
$CONF['encrypt'] = 'md5crypt';Сейчас попробую поставить "dovecot:CRAM-MD5".
Добавлено: мда, тут завязок куча на разные алгоритмы, начиная с установок PostfixAdmin... Надо будет аккуратненько завтра помучать... Пока вернул в прежнее состояние.
По любому придётся пароли в открытом виде хранить, ибо outlook очень херово работает с cram-md5, жрёт скотина только digest-md5
> По любому придётся пароли в открытом виде хранить, ибо outlook очень херово
> работает с cram-md5, жрёт скотина только digest-md5Да ладно. У меня и Аутлуковские клиенты работают вполне успешно. С методом хранения в базе это никак не связано. Просто у них надо выставить, чтобы они авторизовались на сервере плэйнтекстом. Ну и разумеется, разрешить и этот способ авторизации давкотом. А md5 действительно другой у Аутлука. :)
В итоге сделал везде открытый текст. Работает.Я правильно понимаю, что безопасность авторизации в данном случае не страдает, если я использую SSL/TLS в настройках почтового клиента?
> В итоге сделал везде открытый текст. Работает.
> Я правильно понимаю, что безопасность авторизации в данном случае не страдает, если
> я использую SSL/TLS в настройках почтового клиента?Открытый текст в базе или авторизации?
> Открытый текст в базе или авторизации?Ответил чуть ниже, ошибся веткой.
> Да ладно. У меня и Аутлуковские клиенты работают вполне успешно. С
> методом хранения в базе это никак не связано. Просто у них
> надо выставить, чтобы они авторизовались на сервере плэйнтекстом. Ну и разумеется,
> разрешить и этот способ авторизации давкотом. А md5 действительно другой у
> Аутлука. :)Так в том и проблема что не хочется авторизации через plaintext. А чтобы одновременно в postfix и dovecot работали и CRAM-MD5 и DIGEST-MD5 и прочие схемы - надо хранить пароли в открытом виде.
> Так в том и проблема что не хочется авторизации через plaintext. А
> чтобы одновременно в postfix и dovecot работали и CRAM-MD5 и DIGEST-MD5
> и прочие схемы - надо хранить пароли в открытом виде.Я правильно понимаю, что SSL и TLS включенные на клиенте (например, в Outlook), есть гарант того, что авторизация и все такое будет проходить безопасно? Т.е. т.к. и Postfix, и Dovecot и все остальное у меня находится на одной машине, то имеет смысл защищать только внешние подключения, а между компонентами почтового сервера пусть себе как хотят, хоть открытым текстом, хоть шифрованным?
> Я правильно понимаю, что SSL и TLS включенные на клиенте (например, в
> Outlook), есть гарант того, что авторизация и все такое будет проходить
> безопасно? Т.е. т.к. и Postfix, и Dovecot и все остальное у
> меня находится на одной машине, то имеет смысл защищать только внешние
> подключения, а между компонентами почтового сервера пусть себе как хотят, хоть
> открытым текстом, хоть шифрованным?В принципе да, при SSL/TLS шифрованные пароли просто добавляют ещё секретности в сеанс сервер-клиент.
> В принципе да, при SSL/TLS шифрованные пароли просто добавляют ещё секретности в
> сеанс сервер-клиент.Ок, спасибо за ответ!
>> Я правильно понимаю, что SSL и TLS включенные на клиенте (например, в
>> Outlook), есть гарант того, что авторизация и все такое будет проходить
>> безопасно?
> В принципе да, при SSL/TLS шифрованные пароли просто добавляют ещё секретности в
> сеанс сервер-клиент.От взлома клиента или [базы] сервера - нет.
"Да", если оутлюк _честно (всем уже "улыбнуло"?..) проверяет сертификаты сервера и отказывается что-либо слать "чужаку".
"Да", если (и _пока) в указанном софте (и клиенте, и сервере) не обнаружится какая-нибудь "неприятная особенность", связанная с ....чем-то там в SSL/TLS.
А так, "да!", нанотехнологии и облака.
Ок, тогда вопрос: можете привести для Postfix, PostfixAdmin, Dovecot (dovecot.conf и dovecot-mysql.conf) настройки шифрования? Которые будут работать друг с другом, естественно? Я только ЗА такие вещи, поэтому и спрашиваю.
> Ок, тогда вопрос: можете привести для Postfix, PostfixAdmin, Dovecot (dovecot.conf и dovecot-mysql.conf)
> настройки шифрования? Которые будут работать друг с другом, естественно? Я только
> ЗА такие вещи, поэтому и спрашиваю.Так получилось найти настройки? Хочу поддерживать несколько вариантов авторизации, и не очень хочется хранить пароли в открытом виде...
> Так получилось найти настройки? Хочу поддерживать несколько вариантов авторизации, и не
> очень хочется хранить пароли в открытом виде...Прошу прощения, не увидел раньше.
Есессно, получилось )) http://bozza.ru/art-170.html в самом низу, зеленая вставка:
1. PostfixAdmin:
$CONF['encrypt'] = 'dovecot:CRAM-MD5'Dovecot:
2.
/etc/dovecot/dovecot.conf
auth_mechanisms = PLAIN3.
/etc/dovecot/dovecot-mysql.conf
default_pass_scheme = CRAM-MD5
>[оверквотинг удален]
> Есессно, получилось )) http://bozza.ru/art-170.html в самом низу, зеленая вставка:
> 1. PostfixAdmin:
> $CONF['encrypt'] = 'dovecot:CRAM-MD5'
> Dovecot:
> 2.
> /etc/dovecot/dovecot.conf
> auth_mechanisms = PLAIN
> 3.
> /etc/dovecot/dovecot-mysql.conf
> default_pass_scheme = CRAM-MD5При версии dovecot 2.2.22 postfixadmin 3.1 выдает ошибку
#doveadm pw
Fatal: Couldn't load required plugin /usr/lib/dovecot/modules/lib90_sieve_plugin.so: Can't load plugin sieve_plugin: Plugin is intended to be used only by binaries: lda lmtp (we're doveadm)
Чё делать кто знает?
Я совсем не дока в этом, к сожалению. Но, может, вот эти ссылки (староваты, правда):
https://wiki.yola.ru/dovecot:dovecot
https://sourceforge.net/p/postfixadmin/bugs/248/
вам помогут?
Или права на файлы где-то нарушены? SELinux ничем не мешает (если он включен, конечно, и если система вообще с ним работает)?
Вряд ли это касается версии postfixadmin 3.1 (там какая-то замутка с опцией doveadm pw -t, functions.inc.php, функция pacrypt, где-то ее кто-то чинить собирался, ссылку не нашел, да и не факт, что это вам).Ну, на всякий случай, Dovecot 2.2.10 и postfixadmin 3.1 (БЕЗ sieve) работает:
в postfixadmin config:
$CONF['encrypt'] = 'dovecot:CRAM-MD5';
$CONF['dovecotpw'] = "/usr/bin/doveadm pw";в /etc/dovecot/dovecot.conf:
auth_mechanisms = PLAINв /etc/dovecot/dovecot-mysql.conf:
default_pass_scheme = CRAM-MD5
Обновил довекот до последней версии
Ошибка пропала при таких настройках
>, Dovecot 2.2.32 и postfixadmin 3.1 работает:
> в postfixadmin config:
> $CONF['encrypt'] = 'dovecot:CRAM-MD5';
> $CONF['dovecotpw'] = "doveadm pw -s CRAM-MD5";
> в /etc/dovecot/dovecot.conf:
> auth_mechanisms = PLAIN
> в /etc/dovecot/dovecot-mysql.conf:
> default_pass_scheme = CRAM-MD5
> Обновил довекот до последней версии
> Ошибка пропала при таких настройках
>>, Dovecot 2.2.32 и postfixadmin 3.1 работает:
>> в postfixadmin config:
>> $CONF['encrypt'] = 'dovecot:CRAM-MD5';
>> $CONF['dovecotpw'] = "doveadm pw -s CRAM-MD5";
>> в /etc/dovecot/dovecot.conf:
>> auth_mechanisms = PLAIN
>> в /etc/dovecot/dovecot-mysql.conf:
>> default_pass_scheme = CRAM-MD5Хотя в чем- то ошибка у меня, doveadm pw -s CRAM-MD5 это кодирует мой пароль в CRAM-MD5,
а функция doveadm pw -t {CRAM-MD5}3751ca1e449595d37e64fe320cc234ee430679638d858d180e6281e1cb90c934
Enter password to verify:
{CRAM-MD5}3751ca1e449595d37e64fe320cc234ee430679638d858d180e6281e1cb90c934 (verified)А авторизация не проходит, чё то я совсем запутался.
>> Обновил довекот до последней версии
>> Ошибка пропала при таких настройках
>>>, Dovecot 2.2.32 и postfixadmin 3.1 работает:
>>> в postfixadmin config:
>>> $CONF['encrypt'] = 'dovecot:CRAM-MD5';
>>> $CONF['dovecotpw'] = "doveadm pw -s CRAM-MD5";
>>> в /etc/dovecot/dovecot.conf:
>>> auth_mechanisms = PLAIN
>>> в /etc/dovecot/dovecot-mysql.conf:
>>> default_pass_scheme = CRAM-MD5функция верна doveadm pw -s CRAM-MD5, свой токен получает довекот из базы, это sieve к краху приводит imap, при подключении к папкам, а не серверу.
> функция верна doveadm pw -s CRAM-MD5, свой токен получает довекот из базы,
> это sieve к краху приводит imap, при подключении к папкам, а
> не серверу.https://wiki.dovecot.org/Pigeonhole/Sieve/Troubleshooting
Секция "The Sieve plugin is not enabled"
Вывод "if doveconf -f service=lda mail_plugins" должен включать sieve.
Сообщение, что "Plugin is intended to be used only by binaries: lda lmtp" по идее говорит, что lda и/или lmtp должны быть включены. В конфиге dovecot что-то вроде "protocols = imap pop3 lda".
-------
https://wiki2.dovecot.org/Pigeonhole/Sieve/Configuration :Note that the Dovecot v2.0 LDA does not create mailfolders automatically by default anymore. If your configuration relies on this, you need to enable the lda_mailbox_autocreate setting for LDA or start using the Sieve mailbox extension's :create tag for fileinto commands.
Dovecot v2.0 adds support for LMTP. Much like the Dovecot LDA, it can make use of the Pigeonhole Sieve plugin. Since the LMTP service has its own prototocol lmtp section in the config file, you need to add the Sieve plugin to the mail_plugins setting there too when you decide to use LMTP.
?