Nicht alle Mailinglisten haben eine zuvorkommende Administratorin, die die Listenkonfiguration für einzelne Mitglieder ändert, und zum Glück ist das auch nicht erforderlich, sofern alle Nachrichten von DMARC-gesicherten Domains DKIM-Signaturen enthalten und unverändert weitergeleitet werden. Wenn eine Mailingliste allerdings aus anderen Erwägungen DKIM-Signaturen entfernt, muss sie zu hacky workarounds
greifen, um wenigstens ein neutrales DMARC-Ergebnis (none
) zu erzielen.
Auf diesen Zusammenhang zwischen DKIM-Filter und From-munging hatte mich zwar bereits der Admin von mutt-users hingewiesen, aber erst nach der geduldigen Erläuterung eines weiteren Listenadmins verstehe ich es auch. Seine Mailingliste dnswl-users lässt Nachrichten (weitgehend) unverändert, so dass die Kombination header.from=eden.one
und dkim=pass (2048-bit key) header.d=eden.one header.i=@eden.one header.b=grIPKv+A;
das gewünschte DKIM-Ergebnis liefert:
Authentication-Results: posteo.de; dkim=permerror (0-bit key) header.d=dnswl.org header.i=@dnswl.org header.b=qaYjhQGI; dkim=pass (2048-bit key) header.d=dnswl.org header.i=@dnswl.org header.b=t3u1c/SQ; dkim=pass (2048-bit key) header.d=eden.one header.i=@eden.one header.b=grIPKv+A; dkim-atps=neutral
Der SPF-Test gegen die IP-Adresse des Mailinglisten-Servers ist zwar ebenfalls erfolgreich –
Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=130.255.78.51; helo=mail.dnswl.org; envelope-from=dnswl-users+bounces-150-mailaddress=eden.one@dnswl.org;
– trägt aber mangels identifier alignment mit header.from=eden.one
nicht zum DMARC-Ergebnis bei, das trotzdem ordentlich ausfällt:
Authentication-Results: posteo.de; dmarc=pass (p=quarantine dis=none) header.from=eden.one
Wir merken uns: spf=pass
oder dkim=pass
sind hinreichend für dmarc=pass
. Zusätzliche DKIM-Signaturen der Mailingliste wie im obigen Beispiel dienen gemäß Abschnitt 5.8 des RFC 6377 der Reputation der Liste und haben keinen Einfluss auf die DMARC-Prüfung. Statt Listenadmins zu behelligen, hätte ich auch einfach Abschnitt 6.6.2 des RFC 7489 lesen können:
To arrive at a policy for an individual message, Mail Receivers MUST perform the following actions or their semantic equivalents. Steps 2-4 MAY be done in parallel, whereas steps 5 and 6 require input from previous steps.
The steps are as follows:
- Extract the RFC5322.From domain from the message (as above).
- Query the DNS for a DMARC policy record. Continue if one is found, or terminate DMARC evaluation otherwise. See Section 6.6.3 for details.
- Perform DKIM signature verification checks. A single email could contain multiple DKIM signatures. The results of this step are passed to the remainder of the algorithm and MUST include the value of the "d=" tag from each checked DKIM signature.
- Perform SPF validation checks. The results of this step are passed to the remainder of the algorithm and MUST include the domain name used to complete the SPF check.
- Conduct Identifier Alignment checks. With authentication checks and policy discovery performed, the Mail Receiver checks to see if Authenticated Identifiers fall into alignment as described in Section 3. If one or more of the Authenticated Identifiers align with the RFC5322.From domain, the message is considered to pass the DMARC mechanism check. All other conditions (authentication failures, identifier mismatches) are considered to be DMARC mechanism check failures.
- Apply policy. Emails that fail the DMARC mechanism check are disposed of in accordance with the discovered DMARC policy of the Domain Owner. See Section 6.3 for details.