HardFail und SoftFail mit SPF, DKIM, DMARC
Früher habe ich auch jedem erzählt, dass wir Mails ablehnen sollten, wenn eine SPF oder DKIM-Prüfung ein FAIL liefert. Das kann man machen aber bringt mehr Probleme als es nutzt. Heute sind SPF/DKIM/DMARC weiter wichtige Kriterien aber keine absoluten Quellen der Wahrheit.
SPF Matrix
SPF wurde damals eingeführt, um Spoofing zu verhindern, d.h. dass jemand eine Mail mit einer Domain als Absender verhindert, die ihm nicht gehört. Der einfache Test bezieht sich dabei auf die Domain auf dem Umschlag (Envelope-From, SMTP P1/P2-Felder, Envelope und Header). Wenn ich einen eigenen Spamfilter betreibe, könnte ich meine eigenen Domains mit einem "SPF -ALL" versehen und folgende Bewertung umsetzen:
| Szenario | Absenderdomain | SPF Ergebnis | Aktion und Bewertung |
|---|---|---|---|
1 |
Eigene Domains |
PASS |
Annehmen, da es ja eine Mail von meinen eigenen Servern ist |
2 |
Eigene Domains |
SoftFAIL |
Das kann nicht passieren, da ich in meiner Domain ja ein "-all" hinterlegt habe |
3 |
Eigene Domains |
HardFAIL |
Phishing-Versuch und daher ablehnen, da hier ja wohl eine IP-Adresse mit meiner Domain eine Mail einliefern will. Eine Ausnahme wäre, wenn der Absender sich per SMTP_AUTH legitimiert hat. |
4 |
Fremde Domains |
PASS |
Die einliefernde IP-Adresse ist zumindest legitimiert mit der Domain etwas zu senden. Das ist gut aber noch kein Qualitätsmerkmal, da auch ein Spammer diesen Test sehr einfach bestehen kann. Auch gehackte Konten und falsche SPF-Einstellungen des Absenders sind möglich. Ich könnte aber eine Liste meiner "Partner" über diesen Weg nutzen, die auf jeden Fall ein PASS erreichen müssten |
5 |
Fremde Domains |
SoftFAIL |
Hier kann nur eine neutrale Entscheidung treffen, da die Absenderdomain sich selbst nicht sicher ist, wer in ihrem Namen senden darf |
6 |
Fremde Domains |
HardFAIL |
Die Mail könnte ich bei erster Betrachtung ablehnen, da hier wohl jemand ein Phishing mit einer anderen vertrauenswürdigen Domain versucht. Aber sie sollten dies dennoch nicht machen. |
Das Szenario 3 würde ich mitgehen, da es meine eigene Domain ist und ich meine Anwender gegen fremde Mails senden möchte. Auch das Szenario 6 erscheint auf den ersten Blick sinnvoll. Wir dürfen aber das Risiko der "False Positive" nicht vergessen. Wer einen Spamfilter betreibt, muss sich immer des Risikos bewusst sein, eine legitime Mail zu löschen, in Quarantäne zu stecken oder abzulehnen. Wenn Sie ablehnen, was z.B. NoSpamProxy macht, dann kann der Absender zumindest darauf reagieren. Alle anderen Wege führen zu verlorenen und unerkannten Mailverlusten, die durchaus auch zu Kosten führen können. Der Absender kann nämlich nachweisen, dass die Mails von ihrem System angenommen wurden.
Es gibt durchaus Mails, die bei einen SPF-Check nicht ein PASS erreichen und dennoch legitim sind. Denken Sie an Umleitungen, Weiterleitungen, Verteilerlisten etc. Bei denen der Absender beibehalten wird oder mittels Sender Rewriting Scheme (Siehe auch EXO SRS - Sender Rewriting Scheme (SRS) umgeschrieben wird, um irgendwie zu passen. Auch bei Merger&Aquisitions von Firmen oder beim Exchange Hybrid Mode, werden Mailserver "zusammengeschaltet" und plötzlich bekommt ein Server eine Mail nicht mehr aus dem Internet sondern von einem "befreundeten" Server.
DKIM/DMARC lösen nicht alles
Die Problematik mit SPF und dem Bezug auf die Domain im Envelope haben auch die Väter des SMTP-Protokolls schon früh erkannt und sich überlegt, dass Sie die Mails selbst mittels einer digitalen Signatur zusätzlich sichern. Der Absender veröffentlicht einen öffentlichen Schlüssel per DNS und signiert mit dem dazu passenden geheimen Schlüssel teile der Mail. Es ist aber keine SMIME-Signierung. Dennoch kann jeder Server auf dem Weg, auch bei Umleitungen und Weiterleitungen die Mails prüfen und erkennen, ob der Absender (P2, Header-From), Betreff, Nachrichten und andere Felder unverändert geblieben sind.
Wenn der Absender seine Mails per DKIM signiert und der Empfänger neben dem SPF-Check auch einen DKIM-Check macht, kann er sogar "SPF:SoftFail" oder "SPF:HardFAIL" mit einem DKIM:PASS überstimmen lassen. Phishing-Angriffe laufen ins leere, wenn der Besitzer einer Absenderdomain seine Mails per DKIM signiert und per DMARC so eine Signierung auch vorschreibt. Ein Angreifer kann dann nur noch auf ähnlich lautende Domains ausweichen und hoffen, dass der Empfänger dies nicht sieht.
Das bedeutet aber, dass ein DKIM:PASS auch kein Freibrief für die Zustellung der Mail am Spamfilter vorbei ist und auch ein DKIM:FAIL sollte nicht automatisch zum Ablehnen der Mail führen, da Zwischenstationen durchaus eine Mail unabsichtlich oder absichtlich verändern. Das kann wieder eine Maillingliste oder Weiterleiter sein, der die Mail um Werbung o.ä. anreichern will oder auch ein falsch konfigurierter Disclaimer.
Wir können also die Tabelle des ersten Abschnitts 1:1 wieder übernehmen und DKIM:PASS mit einer Oder-Verknüpfung addieren. Jede Mail, die mit einem DKIM:PASS ankommt, könne wie wie ein SPF:PASS klassifizieren.
Bewerten, nicht bestimmen
Aus der Tabelle gehen aber auch Werte hervor, bei denen eine Mail durchaus weder eine SPF:PASS noch ein DKIM:PASS hat. Deswegen sollten Sie aber nicht gleich alle Mails verwerfen oder ablehnen. Es gibt einfach zu viele Mailserver und Domains, die nicht korrekt konfiguriert sind. Das können fehlerhafte Weiterleitungen oder Listserver sein oder auch einfach Systeme, die im SPF vergessen wurden. Sie glauben gar nicht wie schnell mal eine Fachabteilung einen "Cloud-Service" ohne Rücksprache mit der IT bucht und dann mit dem Namen ihrer Domain versenden will. Es kann dann schon wieder einige Tage oder länger dauern, bis die Unstimmigkeit erkannt und dann auch korrigiert wurde. Noch sehr viele Firmen verzichten z.B. auf die Nutzung von DMARC-Reports, um ihren ausgehenden Mailversand zu überprüfen.
Für einen Spamfilter bedeutet dies, dass die Ergebnisse von SPF, DKIM und DMARC nicht alleinstehend nutzen sollten, sondern in die Bewertung mit anderen Spamfiltern eingehen. Das können weitere technische Prüfungen der Mail sein wie z.B. RBL-Check, SMTP-Helo-Lookup, SMTP-Protokollkonformität etc. und natürlich Analysen des Inhalts von Mails (Inhalt und Anlagen. Es gibt viele unterschiedliche Produkte mit verschiedenen Ansätzen und auch bei der Bewertung gibt es durch ein Produkt vorgegebene oder konfigurierbare Gewichtungen.
Wenn Sie aber die Kontrolle über ihre eigene Domain haben und sicher sind, dass alle Mails ihrer Domain korrekt per SPF und DKIM abgesichert sind, dann könnten Sie für einen hohen Phishing-Schutz sehr wohl überlegen, für ihre eigenen Domains einen strengeren Maßstab anzuwenden.















