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

Exim после обновления Thunderbird: «Не удалось согласовать поддерживаемый набор шифров»

Недавно, после того как я установил обновления на свой Kubuntu 14.04. система и новая версия thunderbird был установлен, Я больше не мог отправлять электронные письма. Он подсказывает:

Отправка сообщения не удалась. Сообщение не может быть отправлено, поскольку соединение с SMTP-сервером [..] было потеряно в середине транзакции. Попробуйте еще раз или обратитесь к администратору сети.

Поскольку я являюсь администратором своего почтового сервера (exim), я проверил логи. Каждый раз, когда я пытаюсь отправить электронное письмо с помощью thunberbird, он говорит:

Ошибка TLS при подключении от [..] (gnutls_handshake): Не удалось согласовать поддерживаемый набор шифров.

Странно. Как такое могло случиться неожиданно? Я искал проблему в Google, но у других людей с этим сообщением в журналах что-то не так с установкой сертификата (слишком новый алгоритм и т.п.). Но я ничего не менял в своем сертификате, и, кроме того, по-прежнему нет проблем с отправкой писем с помощью K-9 Mail с моего телефона Android (который имеет те же настройки TLS).

Мой сервер работает Debian 7.6 с участием EXIM 4.80.

(В случае необходимости: мои сертификаты подписаны CACert).

А пока я понизил рейтинг thunderbird (sudo apt-get install thunderbird=1:24.4.0+build1-0ubuntu1). Это сработало, но, конечно, не является постоянным решением.

Что не так и как это исправить?

Как вы здесь читаете http://kb.mozillazine.org/Security.tls.version.*, Thunderbird с Security.tls.version.max значение 2 или 3 не приведет к возврату к более низким настройкам.

Даже если вы настроите Exim 4.80 с tls_require_ciphers как упоминалось выше, он не будет предлагать ECDHE в первую очередь (по крайней мере, это то, что я где-то читал, так что верьте этому с осторожностью). Возможно, это также проблема с сертификатом, и его обновление с другими настройками тоже может помочь.

Итак, чтобы Thunderbird вел себя как раньше, перейдите в редактор конфигурации (Настройки -> Дополнительно -> Редактор конфигурации (кнопка)) и выполните поиск tls затем измените security.tls.version.max к 1, и он должен снова работать.

Firefox и Thunderbird 31 удалили поддержку слабых наборов шифров, поэтому вы получаете эту ошибку.

Вам необходимо обновить конфигурацию SSL вашего сервера в соответствии с этим Статья вики Mozilla.

Цитата из рекомендованной строки набора шифров с обратной совместимостью:

  • Набор шифров: ECDHE-RSA-AES128-GCM-SHA256: ECDHE-ECDSA-AES128-GCM-SHA256: ECDHE-RSA-AES256-GCM-SHA384: ECDHE-ECDSA-AES256-GCM-SHA384-AES256-GCM-SHA384 :- GCM-SHA384 :- DHES-DHES SHA256: DHE-DSS-AES128-GCM-SHA256: kEDH + AESGCM: ECDHE-RSA-AES128-SHA256: ECDHE-ECDSA-AES128-SHA256: ECDHE-RSA-AES128-SHA: ECDHE-A128-SHA: ECDHE-A128-SHA RSA-AES256-SHA384: ECDHE-ECDSA-AES256-SHA384: ECDHE-RSA-AES256-SHA: ECDHE-ECDSA-AES256-SHA: DHE-RSA-AES128-SHA256: DHE-DHE-RSA-AES128-DSSA: AES128-SHA256: DHE-RSA-AES256-SHA256: DHE-DSS-AES256-SHA: DHE-RSA-AES256-SHA: AES128-GCM-SHA256: AES256-GCM-SHA384: AES128: AES256: AES-CBC3-: DES-CBC SHA: HIGH:! ANULL:! ENULL:! EXPORT:! DES:! RC4:! MD5:! PSK
  • Версии: SSLv3, TLSv1, TLSv1.1, TLSv1.2
  • Размер ключа RSA: 2048
  • Размер параметра DH: 1024
  • Эллиптические кривые: secp256r1, secp384r1, secp521r1

У вас должна быть возможность указать шифры с помощью tls_require_ciphers директива. Он должен принять строку Ciphersuite сверху.

Понятия не имею, в чем была проблема, но в конце концов, это должно быть связано с моими сертификатами. Я только что восстановил сертификаты, снова используя Скрипт CSR от CACert. Насколько мне известно, я не делал ничего другого, чем в прошлый раз, когда я генерировал свои сертификаты. Но с моими свежими сертификатами все снова работает как шарм.