Einer meiner Kunden hat Thunderbird gerade auf Version 78 aktualisiert und kann nun keine E-Mails mehr empfangen, weil das System denkt, die IMAP-Verbindung sei nicht TLS 1.2. Wenn ich das aber mit Tools im Internet überprüfe, wird mir angezeigt, dass es sich um Version 1.2 handelt.
Was kann ich tun, damit es wieder funktioniert?
Hier sind einige der imapd-ssl-Einstellungen:
IMAP_TLS_REQUIRED=1
TLS_PROTOCOL="TLS1_1:TLS1"
TLS_PRIORITY="SECURE128:+SECURE192:-VERS-ALL:+VERS-TLS1.2"
TLS_STARTTLS_PROTOCOL=TLS1
TLS_CIPHER_LIST=HIGH:MEDIUM:!ADH:!MD5:!aNULL:!eNULL:!LOW:!EXP:!RC4
Stimmt irgendetwas mit diesen Einstellungen nicht?
Beachten Sie, dass ich diesen Beitrag gesehen habe:Thunderbird 78 stellt keine Verbindung zu einem Exchange-gestützten IMAP-Konto heraber ich bin nicht an einem Hack interessiert. Ich möchte, dass der Server mindestens TLS 1.2 verwendet.
Ich habe es jetzt mit OpenSSL getestet und hier ist die Ausgabe:
openssl s_client -connect mail.example.com:143 -tls1_2
CONNECTED(00000003)
140310946449048:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:s3_pkt.c:362:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 5 bytes and written 7 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : 0000
Session-ID:
Session-ID-ctx:
Master-Key:
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1604626110
Timeout : 7200 (sec)
Verify return code: 0 (ok)
---
Es zeigt deutlich, dass Version 1.2 unterstützt wird. Ich bin mir nicht ganz sicher, was die Peer-/Client-Zertifikatsmeldungen bedeuten. Könnte das der Übeltäter sein?
Ausgabeaktualisierung mit korrektem openssl
Befehl
Wie @ anmerkt, ist der obige Test falsch. Ich muss OpenSSL eine STARTTLS
Nachricht senden lassen, sonst startet es die Verschlüsselung nicht. Ich würde allerdings gerne wissen, warum oben TLS 1.2 steht …
$ openssl s_client -connect mail.example.com:143 -starttls imap
CONNECTED(00000003)
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify return:1
depth=0 CN = *.example.com
verify return:1
---
Certificate chain
0 s:/CN=*.example.com
i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
1 s:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
i:/O=Digital Signature Trust Co./CN=DST Root CA X3
---
Server certificate
-----BEGIN CERTIFICATE-----
...snip...
-----END CERTIFICATE-----
subject=/CN=*.example.com
issuer=/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
---
No client certificate CA names sent
---
SSL handshake has read 3307 bytes and written 617 bytes
---
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1
Cipher : AES256-SHA
Session-ID: B2...FA
Session-ID-ctx:
Master-Key: FB...AB
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 7200 (seconds)
TLS session ticket:
0000 - a9 ... 6f ...}.,.........o
0010 - 17 ... 2f .....&..YX.M.8n/
0020 - a9 ... 7f ......Q....Y..*.
0030 - c9 ... a9 .!'f>06Q...z../.
0040 - ff ... 1f .SZ...Z...;X....
0050 - 94 ... f0 .Se[[email protected]...
0060 - c9 ... 44 [email protected]
0070 - b3 ... 3d .......`.'.....=
0080 - a2 ... bf ..=2.Z....^.):..
0090 - 64 ... 42 d.>B....&.+.!..B
Start Time: 1604637492
Timeout : 300 (sec)
Verify return code: 0 (ok)
---
. OK CAPABILITY completed
Das sieht jetzt schon viel besser aus ... abgesehen von der Tatsache, dass dort TLSv1 steht. Das Setup ist also falsch, da ich stattdessen gerne TLSv1.2 hätte.
Auflösung
Nach vielen Versuchen konnte ich TLS v1.2 nicht mit Courier zum Laufen bringen. Das ist seltsam, da esNurrichtet OpenSSL ein, daher bin ich mir nicht ganz sicher, warum es diese Version irgendwie verhindern sollte. Aber egal, welche Einstellungen ich gewählt habe, es ging nie über TLS v1 hinaus.
Wie in einem Kommentar vorgeschlagen, wechselte ich einfach zuDovecot, das sogar ein Migrationsskript speziell für Courier hat. Das hat funktioniert. Thunderbird hat alle E-Mails einmal neu geladen, aber jetzt funktioniert es wie erwartet und ich habe keinen meiner Ordner verloren.