Plötzlicher SCHANNEL Fehler von Outlook auf Win7 nach Let’s Encrypt Zertifikatswechsel
Hatte heute ein lästiges Problem. Habe SoGO mit EAS auf einem Server laufen, dessen Zertifikat von Let’s Encrypt ausgegeben und automatisch erneuert wird.
Seit der Zertifikatserneuerung heute war plötzlich eine Mailsynchronisation mehr möglich, Outlook zeigte immer nur “getrennt” an.
Im Ereignisprotokoll habe ich dann einen Haufen SCHANNEL Fehler gefunden, immer gleichlautend:
“Es wurde eine schwerwiegende Warnung empfangen: 40”
und auch:
“Es wurde eine schwerwiegende Warnung empfangen: 70”
Sehen wir uns also einmal die Fehlercodliste an:
SSL3_ALERT_HANDSHAKE_FAILURE 40
TLS1_ALERT_PROTOCOL_VERSION 70
Outlook dürfte also – vermutlich aufgrund des Zertifikatswechsels – aus irgendeinem Grund nicht mehr mit der bevorzugten SSL-Version mit dem Server kommunizieren können. Nach Prüfung der Liste der vom Server unterstützten TLS-Versionen kommt heraus, dass dieser nur TLS 1.2 angeboten hat. Dies wird jedoch wiederum standardmßig von Win7 WinHttp nicht unterstützt. Zum Glück hat mich dieser Artikel dann auf die richtige Spur gebracht: KB3140245. Das war zwar schon installiert, jedoch muss man noch 2 Registry-Schlüssel anlegen, um die Standards zu ändern:
Unter
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp
und
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp
(sofern 64bit Win7) einen DWORD-Wert namens DefaultSecureProtocols mit dem Hex-Wert 0xA80 anlegen, und schon funktioniert es wieder.
Der Grund für die plötzliche Umstellung dürfte übrigens sein, dass die Zertifikatserneuerung über certbot funktioniert, und dieser aktualisiert sich offensichtlich bei einer Erneuerung auch selbstständig und hat mit dann in der Datei /etc/letsencrypt/options-ssl-apache.conf folgende Zeile eingefügt/geändert:
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
Damit wurden also dann fieserweise die alten TLS-Versionen einfach abgedreht.