Spamabwehr: SPF und Greylisting

Vor ein paar Monaten hab ich testweise SPF und Greylisting auf meinem Mailserver aktiviert. Doch, was ist das?

Fangen wir mit dem einfacheren von beidem an:

Was ist Greylisting?

Beim Greylisting werden einkommende E-Mails erstmals mit einem temporären Fehler abgewiesen. Versucht es der absendende Mailserver nach ein paar Minuten nochmals, wird die E-Mail akzeptiert (ich hatte dafür als Wartefrist mindestens 10 Minuten eingestellt). Dann wird der Mailserver auf eine Art Whitelist gesetzt (bzw. seine IP-Range, je nach Einstellung), auf der er auch bleibt, so lange er nicht 14 Tage am Stück keine E-Mails an meinen Server gesendet hat.

Die „Erfindung“ des Greylistings basierte auf der Annahme, dass Spammer es nicht nochmals versuchen, die Mail zuzustellen. Früher war das wohl auch richtig, Heute ist der Anteil an erfolgreich abgewehrten Spamnachrichten aber doch eher klein geworden, weil die meisten Spammer „vollwertige“ Mailserver einsetzen, die es auch wieder versuchen..

Es wurden zwar ein paar Spams abgewehrt, im Gegenzug verzögert sich aber auch die E-Mail Zustellung, sofern der Absender in letzter Zeit keine Nachricht an mich gesendet hat. Es nervt einfach auf Dauer, wenn man sich irgendwo Forum anmeldet, die Bestätigungsmail 10 bis 15 Minuten brauch und man in seinen Logddateien sieht, dass sein Greylisting daran schuld ist. Das wiegt die „paar“ abgewehrten SPAM Nachrichten nicht auf. Zu allem Übel nutzen Spammer heutzutage auch gerne mal gehackte Mailaccounts. Da bringt Greylisting auch nichts.

 

Die zweite „Nettigkeit“ die ich getestet habe war SPF.

Was ist SPF?

Für SPF erstellt man unter seiner Domain einen weiteren DNS Eintrag vom Typ TXT und dem Inhalt, welche IP-Adressen für diese Domain E-Mails absenden dürfen.

Der Eintrag sieht für mich so aus:

v=spf1 ip4:83.169.40.215 -all

spf1 steht für die SPF Version 1, das im Moment gebräuchliche. Danach folgt die IPv4 Adresse von meinem Server, dass dieser E-Mails in meinem Namen (also für Absender innerhalb meine Domain) absenden darf und ein „-all“. Letzteres heißt, dass sonst absolut kein anderer Mailserver E-Mails für die Domain vthadden.de verschicken darf. Ein Empfangender Mailserver prüft nun beim Erhalt von E-Mails, ob für diese Domain ein SPF Eintrag besteht, wertet ihn aus und befolgt ihn hoffentlich.

Statt „-all“ gibt es noch „~all“ und „?all“. „-“ heißt Hardfail, E-Mails ablehnen; „~“ steht für Softfail, in dem Fall würde es bedeutet dass die E-Mail wahrscheinlich nicht richtig ist, was damit passiert ist mir aber egal; „?all“ steht für „mir egal, wer was verschickt“, also wie wenn kein Eintrag gesetzt wäre.

Wie ihr schon seht: der Empfangende Mailserver muss SPF unterstützen, auswerten und auch befolgen. Machen viele aber nicht.

Google setzt SPF z.B. ein, mit einem „?all“ am Ende, also setzen sie es praktisch doch nicht ein. Bei eingehenden E-Mails werten sie den Eintrag aus und ignorieren das Ergebnis. Eigentlich müssten sie E-Mails ablehnen, die als Absender meine Domain haben aber nicht von meinem Server kommen. Tun sie aber nicht, eben nochmals von anderen Servern aus getestet, die E-Mail wird zugestellt.

web.de hat keinen SPF Eintrag, 1und1 nutzt aktuell ~all.

gmx.de hat einen SPF Eintrag, sogar mit -all, sie nutzen SPF also in diesem Sinne schonmal. Eingehende E-Mails von meinem DSL Anschluss werden schonmal direkt abgewiesen (bzw die Verbindung sofort getrennt), eine E-Mail von einem anderen Server aus wird aber angenommen und im SPAM Ordner abgelegt. Das wäre bei einem Softfail („~all“) akzeptabel, entspricht aber nicht dem bei einem Hardfail definierten verhalten, so ganz scheinen sie sich nicht zu trauen.

Selbst aol.com, die in Sachen Spambekämpfung einen eigenartigen Ruf haben hat ein „?all“ im DNS Eintrag. Von breiter Akzeptanz kann man wohl nicht sprechen. Paypal.com hat ein „~all“ eingetragen.

Manche Domains haben zwar ein -all eingetragen, aber deutlich mehr Hosts (IP-Adressen) erlaubt als meine Software auswerten konnte, wodurch die E-Mail auch abgewiesen wurde, twitter.com fällt z.b. hierunter, ob das Problem nur bei dem von mir benutzten ‚tumgreyspf‘ auftritt oder auch bei anderen Programmen weiß ich nicht.

Wo ist jetzt der Knackpunkt bei SPF?? Bei E-Mail Weiterleitungen. Theoretisch könnte/sollte man dafür den Absender umschreiben (indem man z.b. einen Envelope-From benutzt)

Ich habe z.b. noch eine E-Mail Adresse bei GMX, welche ich mir auf meinen Server weiterleiten lasse. GMX ändert aber den Absender nicht einwandfrei, wodurch z.b. eine weitergeleitete E-Mail von PayPal (ihr erinnert euch „-all“) abgewiesen wurde, weil GMX nicht authorisiert ist E-Mails für PayPal abzusenden.

Afterbuy versendet seine E-Mails z.b. im Namen und mit dem Absender des Shops, der afterbuy nutzt. Hat dieser eine GMX Adresse wird diese E-Mail mit hoher Wahrscheinlichkeit auch abgewiesen, jenachdem wie das „~all“ interpretiert wird.

Dies sind jetzt nur 2 Beispiele die ich auf Anhieb (also ohne große Suche) in meinen Logdateien gefunden habe. Weitere würde ich sicher finden.

Eine weitere mögliche Fehlerquelle sind natürlich noch falsche DNS einträgt, die man z.B. nach einem Serverumzug nicht korrigiert oder ergänzt.

Also gilt für SPF (in meinem Falle) das Gleiche wie für Greylisting: Ja, es kann Spam abwehren, im Gegenzug kann es aber auch erwünschte E-Mails blockieren. Die paar False-positives (fälschlicherweise abgewiesene Mails) die ich hatte, waren aber trotzdem ärgerlich, sie kamen zwar durch falsche Konfiguration anderer Mailserver zustande, treffen mich aber trotzdem.

Fazit:

Greylisting hat früher viel gebracht, heute überwiegen aber die Nachteile. SPF ist im Ansatz zwar „schön“, weil man damit einschränken kann, wer in wessen Namen E-Mails veschicken darf, in der Praxis ist es aber entweder schlecht implementiert oder garnicht eingerichtet. Auch hier überwiegen im Moment die Nachteile.

Ich für meinen Teil bleibe weiterhin aus der Kombination von ix-DNS Blacklist und Spamassassin, den ich aus meinem Spamordner regelmäßig anlerne. Diese beiden „Hürden“ leisten bei mir seit langer Zeit eine gute Arbeit, verbessern kann man da wohl nicht mehr sehr viel ohne mehr False-positives zu bekommen (diese bewegen sich im Moment irgendwo im Promille Bereich).

TweetDeck unter KDE (2)

Vor etwa 3 Wochen schrieb hier ich ein paar Zeilen zu TweetDeck unter KDE und damit auch Linux.

Fast gleichzeitig kündigte Adobe in einem ihrer Blogs an, ihre Plattform AIR fortan nicht mehr für Linux zu Entwickeln. (Kurzer (deutscher) Artikel hierzu bei Pro-Linux)

Ich finde das sehr schade. Lange Zeit hatte ich keine Desktopapplikation für Twitter. Alles was ich unter Linux ausprobiert habe hat mir nicht zugesagt weil es entweder zu viele Bugs oder mir zu wenig Funktionen enthielt. TweetDeck kann alles was ich will, vor allem kommt es direkt mit meinem URL shortner klar. Bald wird TweetDeck wohl wieder von mir weichen müssen, dann wenn es eine neurere AIR Version benötigt als es für Linux gibt. Ich Arbeite ja schon viel mit virtuellen Maschinen, aber für TweetDeck extra eine Windows VM zu benutzen würde dann doch zu weit gehen :-D.

Die Chrome Implementierung von TweetDeck sagt mir bisher noch nicht zu, ein paar mir wichtige Funktionen fehlen leider noch (mein Link shortner z.B.).

Ich hoffe, dass es einen würdigen Ersatz oder eine andere Möglichkeit AIR Aplikationen auf Linux auszuführen geben wird. Eventuell könnte wine hilfreich sein.