Exim after Thunderbird update: "Could not negotiate a supported cipher suite" [closed]
Recently, after I installed updates on my Kubuntu 14.04. system and a new version of thunderbird was installed, I could not send emails any more. It prompts:
Sending of message failed. The message could not be sent because the connection to SMTP server [..] was lost in the middle of the transaction. Try again or contact your network administrator.
Since I am the administrator of my mail server (exim) I checked the logs. Everytime I try to send an email with thunberbird it says:
TLS error on connection from [..] (gnutls_handshake): Could not negotiate a supported cipher suite.
That's odd. How could that happen out of the blue? I googled the problem, but other people with this message in the logs had something wrong with their certificate installation (too new algorithm or the like). But I did not change anything with my certificate and additionally it is still no problem to send mails with K-9 Mail from my android phone (which has the same TLS settings).
My Server runs Debian 7.6 with EXIM 4.80.
(In case it matters: My certificates are signed by CACert).
For now I downgraded thunderbird (sudo apt-get install thunderbird=1:24.4.0+build1-0ubuntu1
). This worked, but is of course no permanent solution.
What is wrong and how can I fix it?
Solution 1:
Firefox and Thunderbird 31 removed support for weak cipher suites, therefore you are getting this error.
You need to update your server's SSL configuration according to this Mozilla wiki article.
A quote of the recommended backward compatible cipher suite string:
- Ciphersuite: ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128:AES256:AES:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK
- Versions: SSLv3, TLSv1, TLSv1.1, TLSv1.2
- RSA key size: 2048
- DH Parameter size: 1024
- Elliptic curves: secp256r1, secp384r1, secp521r1
You should be able to specify the ciphers with tls_require_ciphers
directive. It should accept the Ciphersuite string from above.
Solution 2:
As you cam read here http://kb.mozillazine.org/Security.tls.version.*, Thunderbird with Security.tls.version.max
set to 2 or 3 will not fallback to lower settings.
Even if you configure Exim 4.80 with the tls_require_ciphers
as mentioned above, it will not offer ECDHE at first place (at least that's what I've read somewhere so believe this with care). Maybe this also is a certificate issue and renewing it with different settings could help, too.
So to have Thunderbird behave as before go the the configuration editor (Preferences -> Advanced -> Config Editor (Button) ) and search for tls
then change security.tls.version.max
to 1 and it should work again.