Lokal signierte E-Mails werden wegen fehlerhafter S/MIME-Signaturen dauerhaft abgewiesen
Problem
Eingehende, 8-Bit-kodierte E-Mails, die lokal per S/MIME signiert wurden, werden durch NoSpamProxy in 7-Bit-kodierte E-Mails umgewandelt und dann wegen eines fehlerhaften Zertifikats vom empfangenden E-Mail-Server abgewiesen.
Analyse
Die RFC 5751 schreibt vor, dass sämtliche signierten MIME-Elemente (MIME parts) einer E-Mail eine 7-Bit-Kodierung aufweisen müssen:
If a multipart/signed entity is ever to be transmitted over the standard Internet SMTP infrastructure or other transport that is constrained to 7-bit text, it MUST have transfer encoding applied so that it is represented as 7-bit text. MIME entities that are 7-bit data already need no transfer encoding. Entities such as 8-bit text and binary data can be encoded with quoted-printable or base-64 transfer encoding.
Um volle Konformität mit der RFC 5751 zu gewährleisten, wandelt NoSpamProxy die 8-Bit-Kodierung der E-Mail in eine 7-Bit-Kodierung um.
Da die Signierung allerdings bereits lokal und nicht durch NoSpamProxy erfolgt ist, wird durch die Umwandlung der Hash-Wert der E-Mail verändert und somit die Signatur ungültig. Entsprechend weist NoSpamProxy ab Version 13.2.20258.1435 die E-Mail dauerhaft ab.
Dieses Szenario tritt nur dann auf, wenn die Option "Entferne angehängte Signaturen von mittels S/MIME-signierten E-Mails (empfohlen)" im NoSpamProxy-Regelwerk deaktiviert wurde und der E-Mail-Client gleichzeitig 8-Bit-kodierte E-Mails versendet.
Workarounds
Workaround 1: Aktivieren von opaque signing
Microsoft Outlook
Konfigurieren Sie Ihr E-Mail-Programm so, dass es beim Aufbringen der Signatur die Methode opaque signing verwendet. Bei dieser Methode werden die Signatur und die Nachricht in einer einzigen Binärdatei zusammengefasst, so dass die Signatur bei Veränderung der E-Mail durch E-Mail-Gateways intakt bleibt.
- Öffnen Sie Microsoft Outlook.
- Gehen Sie zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > E-Mail-Sicherheit.
- Entfernen Sie das Häkchen bei Signierte Nachrichten als Klartext senden.
- Klicken Sie OK.
Durch das Deaktivieren dieser Option haben Sie opaque signing aktiviert.
Microsoft 365/Outlook im Web, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online
Opaque signing können Sie auch per PowerShell konfigurieren:
Set-SmimeConfig -OWAClearSign $false
Weitere Informationen zur Konfiguration per PowerShell finden Sie hier.
WARNUNG: Empfangende E-Mail-Clients, die S/MIME nicht unterstützen, können per opaque signing signierte E-Mails nicht verarbeiten.
Workaround 2: Lokale Signaturen entfernen
Konfigurieren Sie NoSpamProxy so, dass es lokal aufgebrachte Signaturen entfernt.
WARNUNG: Entsprechende E-Mails können so zugestellt werden, verlieren aber ihre S/MIME-Signatur.
- Gehen Sie zu Konfiguration > Regeln.
- Öffnen Sie die entsprechende Regel für eingehende E-Mails.
- Wechseln Sie zum Tab Aktionen, öffnen Sie die Aktion S/MIME- und PGP-Überprüfung sowie Entschlüsselung und wechseln Sie zum Tab Überprüfungsoptionen.
- Entfernen Sie das Häkchen bei Entferne angehängte Signaturen von mittels S/MIME-signierten E-Mails (empfohlen).
- Klicken Sie Speichern und schließen.