Heute habe ich ein kleines exotisches Problem aus der Exim Welt für Euch, aus dem Ihr auch ohne Exim was lernen könnt.
Exim: TLS Protokollnamen haben sich geändert
Im Exim gibt es die Variable $tls_cipher. In dieser steht das TLS Protokoll drin, auf welches sich die beteiligten Mailserver geeinigt haben. Rund eine Woche vor Exim 4.93 wurde „noch schnell“ ein Patch zur Standardisierung von SSL/TLS-Protokollnamen in das kommende Release (4.93) eingefügt. Leider war das eher unüberlegt, denn es wurde vergessen diesen Wechsel der Namen im ChangeLog von Exim 4.93 bekannt zu geben.
Nun setzten wir dies tatsächlich in einer ACL ein:
deny condition = ${if eq{${substr_0_7:$tls_cipher}}{TLSv1.2} {0}{1}}
Was dazu geführt hat, daß beim Wechsel auf Fedora 31 und in Folge auf Exim 4.94 die Config anpassen mußten:
deny condition = ${if eq{${substr_0_6:$tls_cipher}}{TLS1.2} {0}{1}}
Da diese Änderung nicht dokumentiert wurde, kam es nach dem Upgrade zu einer Störung des Mailverkehrs. Das möchte man natürlich vermeiden und deswegen liest ein Admin die Changelogs durch. Nutzte hier nur nichts.
Nehmt daher für Eure Projekte zwei Sachen mit:
1. Alles was zu Änderungen von Ausgaben und Variableninhalten führt, muß von Euch kommuniziert werden, sonst => Problem mit Nutzern.
2. „Testen! Testen! Testen!“