Назад | Перейти на главную страницу

Подключение IMAP TLS к Dovecot не удается

Оригинальное название: IMAP-соединение с Dovecot не работает только из Thunderbird

Я настроил Dovecot с SSL (TLS) на порт 993. Я могу подключиться к Outlook, PHP SMTP и Android Mail, однако Thunderbird не подключается. Это говорит Configuration could not be verified - is the username or password wrong?. Журнал ошибок Dovecot показывает следующее:

Jan 05 22:41:45 imap-login: Warning: SSL: where=0x10, ret=1: before/accept initialization [1.2.3.4]
Jan 05 22:41:45 imap-login: Warning: SSL: where=0x2001, ret=1: before/accept initialization [1.2.3.4]
Jan 05 22:41:45 imap-login: Warning: SSL alert: where=0x4008, ret=598: fatal unknown [1.2.3.4]
Jan 05 22:41:45 imap-login: Warning: SSL: where=0x2002, ret=-1: SSLv3 read client hello C [1.2.3.4]
Jan 05 22:41:45 imap-login: Warning: SSL: where=0x2002, ret=-1: SSLv3 read client hello C [1.2.3.4]
Jan 05 22:41:45 imap-login: Info: Disconnected (no auth attempts in 0 secs): user=<>, rip=1.2.3.4, lip=4.5.6.7, TLS handshaking: SSL_accept() failed: error:140A1175:SSL routines:SSL_BYTES_TO_CIPHER_LIST:inappropriate fallback, session=<yDs4Z48DudCBhYne>

Я отключил SSLv2 и SSLv3 в 10-ssl.conf:

ssl_protocols = !SSLv2 !SSLv3
ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL

В чем может быть проблема? Он отлично работает во всех других почтовых клиентах, которые я пробовал, поэтому это немного странно.

Первым делом я бы сделал обновить клиента.

Здесь происходит попытка понижения версии протокола. То есть клиент пытается перейти с TLSv1 на SSLv3 или с любой более высокой версии TLS на более низкую версию. (Именно это не ясно из журналов и потребовало бы включения более подробной отладки OpenSSL, но эта конкретная деталь на самом деле не имеет значения.)

Причина сбоя перехода на более раннюю версию протокола заключается в том, что на вашем сервере включена функция предотвращения перехода на более раннюю версию протокола (TLS_FALLBACK_SCSV) в качестве средства защиты от атаки POODLE.

Итак, первое, что нужно проверить, это убедиться, что клиент обновлен; это означает как минимум Thunderbird и поддерживающие его библиотеки.

После этого я проверял список протоколов. Меня беспокоит, что вы явно не указали TLSv1, TLSv1.1 и TLSv1.2. Хотя это не должно иметь значения, так как они должны быть включены по умолчанию, это может помочь.

ssl_protocols = TLSv1.2 TLSv1.1 TLSv1 !SSLv3 !SSLv2

Наконец, есть редкая возможность, что вы поймали кого-то, пытающегося атаковать ваше соединение, и атака была предотвращена.