E-Mail/Anti-Spam/Greylisting

Aus schokokeks.org Wiki
Wechseln zu: Navigation, Suche


Seit Januar 2007 setzen wir bei uns die Greylisting-Technik (siehe Wikipedia) ein, um unser Spam-Aufkommen zu reduzieren.

Funktionsweise

Die Zustellung von E-Mails zwischen zwei Mail-Servern läuft über das SMTP-Protokoll. Nach einem Versand kennt dieses Protokoll 3 mögliche Antworten: Erfolgreiche Zustellung, vorübergehender Fehler (z.B. Überlastung, schlechte Verbindung) und dauerhafter Fehler (z.B. unbekannter Empfänger). Tritt bei der Übertragung ein vorübergehender Fehler auf, so speichert der Absender-Mailserver die Nachricht zwischen und versucht es kurz darauf noch einmal.

Spam-Versender benutzen oft Viren-ähnliche Programme um ihre E-Mails zu versenden. Diese minimalistischen Mail-Versender versuchen oft mehrere Tausend E-Mails möglichst rasch zu versenden. Daher fehlt diesen Programmen oft eine Fehler-Behandlung.

An diesem Problem setzt Greylisting an. Wenn eine E-Mail empfangen werden soll, dann wird dieser beim ersten Versuch mit einem vorübergehenden Fehler (ähnlich einer zeitweisen Überlastung) abgelehnt. Gleichzeitig werden aber Informationen über diese Nachricht in einer Datenbank gespeichert. Wird die E-Mail nun ein zweites Mal zugestellt, dann erkennt der Filter dies und lässt die Nachricht passieren.

Zusätzlich werden aber die Information über den Absender-Mailserver und das Absender-Empfänger-Paar auf eine weiße Liste gesetzt, sodass eine kommende Nachricht der Beteiligten ohne weitere Verzögerung akzeptiert wird.

Die Erfahrung zeigt, dass sich auf diese Art etwa 90% des Spams vermeiden lässt.

Besonderheiten bei uns

Zusätzlich zu den meisten bestehenden Implementierungen ist unser System besonders darauf bedacht, möglichst wenige Nachrichten zu verzögern. Daher wird für eine einmal akzeptierte Nachricht einerseits die IP-Adresse des Absender-Mailservers auf eine weiße Liste gesetzt. (Wenn der Server es einmal geschafft hat, eine Nachricht nochmal zu senden, dann wird er es wieder schaffen.) Zusätzlich wird aber auch die Kombination aus Absender und Empfänger in der Datenbank gespeichert und zukünftig akzeptiert.

Wenn eine E-Mail von uns abgehend verschickt wird, dann wird außerdem die umgekehrte Kombination (für eine eventuelle Antwort) in der weißen Liste gespeichert.

Hinweis: In unserer Datenbank werden ausschließlich Hashes, also nicht-umkehrbare Prüfsummen gespeichert. Nachfolgend bearbeitete gleiche Daten werden zu gleichen Prüfsummen umgerechnet, aber aus den Daten in der Datenbank lassen sich keine Informationen über E-Mail-Adresse oder IP-Adressen herauslesen.

Zeitrahmen

Bei Greylisting ist es sehr entscheidend, passende Zeitrahmen zu wählen. Da es mittlerweile auch Spam-Versender gibt, die mit einer Doppel-Zustellung versuchen, Greylisting-Verfahren zu umgehen, müssen zwischen dem ersten und dem zweiten Zustellversuch mindestens 4 Minuten Abstand sein.

Ein Eintrag auf dieser so genannten grauen Liste ist für 24 Stunden gültig.

Die weiße Liste ist für IP-Adressen (Mail-Server) ist 1 Jahr gültig, für E-Mail-Adress-Paare 10 Tage.

Eine separate weiße Liste für Empfänger-Adressen oder -Domains, die gar nicht bearbeitet werden sollen wird manuell gepflegt. Die Gültigkeit der Einträge können Sie selbst im Webinterface festlegen.

Mögliche Probleme

Wir sehen bislang folgende Möglichkeiten, wo Probleme auftreten können:

  • E-Mail-Server an Einwahlverbindungen wechseln öfter die IP-Adresse. Daher kann es passieren, dass diese mehr als zwei Versuche brauchen um eine E-Mail zuzustellen.
  • Schlecht konfigurierte oder stark belastete Mailserver könnten mit dem zweiten Zustellversuch länger als 24 Stunden warten. Dann wäre der Eintrag nicht mehr gültig und der zurückliegende Zustellversuch wäre vergessen.
  • Andere Mailserver ohne eigene Warteschlange (z.B. die Software SSMTP) melden dem Programm, das die E-Mail verschicken will einen Fehler zurück. Solche Mailserver sollten aber aus praktischen Gründen nicht mehr zu finden sein. Alternative für eigene Setups: Nullmailer bzw. ein beliebiger Client mit SMTP-Authentication.

Sollten Sie den Verdacht haben, auf Sie träfe eines der genannten Probleme (oder ein anderes Problem) zu, dann melden Sie sich bitte bei uns.

Spam, der dagegen immun ist

Leider gibt es auch hier Situationen, in denen der Filter Spam niemals erkennen kann. Dazu zählen insbesondere die Folgenden:

Weiterleitungen

Wenn Spam an eine Ihrer anderen Adresse gesendet wird (z.B. GMX-Account) und Sie diese an Ihre Adresse bei uns weiterleiten lassen, dann tritt der GMX-Mail-Server als Absender auf und dieser steht bestimmt bei uns auf der weißen Liste (und wenn nicht, dann wird er ganz normal die Zustellung ggf. wiederholen). Diese Nachricht wird also auch akzeptiert.

offene Relays

Vereinzelt gibt es auch nach wie vor offene Relays. Das sind falsch konfigurierte E-Mail-Server, die es jedem Benutzer erlauben, beliebige Nachrichten an beliebige Empfänger zu versenden. Eine Liste bekannter open-relays sperren wir bereits seit längerer Zeit komplett, dennoch gibt es nach wie vor immer wieder neue, derartige falsch konfigurierte Rechner.

vollwertige Spam-Mailserver

Auch Spammer können eine Fehlerbehandlung einbauen und damit die Nachrichten einfach verzögert nochmals versenden. Da dies ein erheblich höherer Aufwand auf Seiten der Spammer darstellt, wird die zum jetzigen Zeitpunkt noch kaum gemacht, aber es ist zu erwarten, dass auch solche Spams zunehmen werden.