3

On the Debian 7 / exim4 / gnutls mailserver I'm running, since about 1-2 weeks, mails from gmail don't arrive any more with the following typical error message in the log file:

2015-02-14 17:32:07 TLS error on connection from mail-la0-f52.google.com [209.85.215.52] (gnutls_handshake): Could not negotiate a supported cipher suite.

Does anyone know if google changed anything in their configuration?

What is your recommended settings for tls_require_ciphers in the exim4 configuration?

This problem appeared out of blue sky, I did no certificate change or relevant updates in the last two weeks. Am I the only one with this problem?

LaTechneuse
  • 161
  • 6

1 Answers1

3

The problem was: The server certificate was signed with a SHA-512 hash. Debian 7 still comes with gnutls 2.x, but gnutls 3.x is required to savely use SHA-512 signed certificates. I was installing this certificate on Dec 23, 2014.

Google seems to have altered their policies in cipher negotiation to be more strict on fall back cipher suits and/or signature checking. Until end of Jan 2015, mail exchange with gmail servers worked (with the Debian 7 + gnutls 2.6 + SHA-512 signed CRT configuration), then it suddenly dropped, so no emails could be received from gmail after end of January 2015 without changes on my side.

Solution: Substituting for an SHA-256 signed Certificate or upgrading to gnutls 3.x (which is currently not in the stable branch of Debian 7) solves the problem. (I did the first.)

Note 1: Researching online I found out that this is also a problem of many non-commertial CaCert.org certificates which are SHA-512 signed by default now. It seems that CaCert.org now provides an "advanced option" in the CRT generation interface to select SHA-256 to avoid this problem for Debian 7 users. However, on this precise issue there is currently a lot of misleading hints and suggestions in online forums, saying that the tls_require_ciphers variable must be set properly in the exim4 configuation to ensure proper cipher suite negotiation. This is wrong; I did not adjust this variable at all.

Note 2: There is a related problem concerning customers using Thunderbird connecting to an exim4 + Debian 7 MTA for sending mail (see this post: Exim after Thunderbird update: "Could not negotiate a supported cipher suite" , which was closed but is in fact highly related.) Thunderbird has exactly the same strict configuration as gmail uses when negotiatin cipher suite, so it fails in this particular circumstances when the server uses gnutls < 3.x but an SHA-512 signed CRT. The solution is the same: Use a SHA-256 signed CRT or update libgnutls (if possible in your distribution).

LaTechneuse
  • 161
  • 6