Соединение 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
В чем может быть проблема? Он отлично работает во всех других почтовых клиентах, которые я пробовал, поэтому это немного странно.
1 ответ
Первым делом я бы обновил клиент.
То, что здесь происходит, является попыткой понижения протокола. То есть клиент пытается перейти с TLSv1 на SSLv3 или с любой более высокой версии TLS на более низкую версию. (Точно, что не ясно из журналов, и потребует более подробной отладки OpenSSL, но эта конкретная деталь на самом деле не имеет значения.)
Причиной сбоя понижения протокола является то, что на вашем сервере включена функция предотвращения понижения протокола (TLS_FALLBACK_SCSV), что позволяет снизить вероятность атаки POODLE.
Итак, первое, что нужно проверить, это убедиться, что клиент обновлен; это означает, что как минимум Thunderbird и поддерживающие его библиотеки.
После этого я бы проверил список протоколов. Я обеспокоен тем, что вы не указали TLSv1, TLSv1.1 и TLSv1.2 явно. Хотя это не должно иметь значения, поскольку они должны быть включены по умолчанию, это может помочь.
ssl_protocols = TLSv1.2 TLSv1.1 TLSv1 !SSLv3 !SSLv2
Наконец, есть редкая возможность, что вы поймали кого-то, пытающегося атаковать ваше соединение, и атака была сорвана.