Webworking

SPAM bekämpfen mit Greylisting

Wir haben hier schon mehrere Methoden der SPAM Bekämpfung besprochen. Einige laufen auf Server Seite, andere bedarfen Filter von Benutzern. Auch Methoden um die eigene EMail Adresse so auf Internet Seiten zu publizieren, daß SPAM Spider diese nicht finden haben wir gesehen.
Aber die SPAM Versender suchen nach immer neuen Möglichkeiten – und finden auch Wege, Filter und Regeln zu umgehen. Aber auch die Gegner der SPAMmer (zu denen wir ja hoffentlich alle zählen) sind nicht untätig und suchen nach neuen Wegen der Filterung ohne daß Mails verloren gehen.

Eine relativ neue Idee der SPAM Filterung auf Servern ist das sogenannte Greylisting. Die Methode ist eigentlich ganz simpel. Denn das wichtigste bei SPAM Filtern ist, daß der Benutzer nichts davon merkt, daß sie effizient als Filter und vor allem auch effizient in der Ausführung sind und den Server nicht unnötig belasten. Und damit auch helfen Kosten zu sparen. Greylisting untersucht eine einkommende Mail auf 3 ganz simplen Kriterien:

  • die IP Adresse des Absenders
  • die Adresse des Absenders (RCPT FROM)
  • die Adresse des Empfängers (RCPT TO)

Basierend auf diesem Triplet kann eine ziemlich einfache Regel aufgestellt werden. Wenn wir so ein Triplet zuvor noch nie gesehen haben (also wenn alle drei Kriterien zutreffen) verweigern wir die Annahme für eine bestimmte Zeit. Das SMTP Protokoll wurde bereits bei der Entwicklung so konzipiert, daß ab und zu Server oder Dienste nicht erreichbar sein könnten. Dazu gibt es die spezielle SMTP Fehlermeldung 451 (Temporary Failure). Deshalb wird nach einer bestimmten Zeit erneut versucht eine Mail zuzustellen und die zu versendende Mail bleibt so lange in der mailqueue des absendenden Mailservers bis der Empfänger erreichbar ist. Es gibt allerdings nicht RFC 821 (in den RFCs werden Protokolle und Standards die unter anderem das Internet betreffen definiert) konforme Mailserver welche nach einem Temporary Failure die Mail als unzustellbar an den Absender zurückschicken. Diese sind aber mittlerweile nahezu ausgestorben und können vernachlässigt werden.

Die Idee von Greylisting basiert auf der Annahme, daß die meisten SPAMmer spezielle zum SPAMmen eingesetzte Software verwenden welche nach einer „fire-and-forget“ Methode arbeiten: versuche die Mail zuzustellen und wenn es nicht klappt vergiss es. Das heißt, daß die SPAMmer nicht – wie RFC konforme Mailserver versuchen, bei einer Temporary Failure die Mail nochmal zu versenden.

Der Greylist-Server funktioniert nun so, daß er ein noch nicht gesehenes Triplet beim ersten Auftreten zwar speichert aber die Annahme dieser Mail eine Zeit lang sperrt. Nach dieser Zeit gilt das Triplet dann als „bekannt“ und beim nächsten Zustellversuch wird die Mail akzeptiert. Das hat zur Folge, daß sehr viele Mails erstmal zurückgestellt werden und nicht sofort zugestellt werden können. Dies ist aber in der Regel nicht schlimm, da die Timeouts für ein erneutes zustellen meistens recht kurz gewählt sind. Eine Mail wird somit nie abgewiesen sondern nur „vertröstet“. So gehen keine „echten“ Mails verloren aber ein sehr großer Teil der SPAM Mails wird abgeblockt.

Das Greylisting hat einen anderen sehr großen Vorteil: die Verbreitung von Mailviren wird nahezu unterbunden. Mailviren suchen sich wahllos Mail Adressen und verschicken sich automatisch weiter. Das machen sie aber nur einmalig – also nach einem Temporary Failure wird der Virus nicht mehr weiter versucht an die entsprechende Adresse zu versenden. 100% kann man allerdings dadurch nicht unterbinden. Denn es kommt schon vor, daß ein Virus aus Versehen von einem Bekannten abgeschickt wird mit dem man regelmäßig Kontakt hat (also von dem das Triplet bekannt ist).

Wichtig beim Einsetzen von Greylisting ist, daß die Methode auf ALLEN Mailservern verwendet wird, für die man einem MX Eintrag im DNS Dienst hat (DNS ist eine Art Internet Telefonbuch mit dem die Dienste im Netz erfahren, welcher Rechner für welche Domäne zuständig ist. Der MX Eintrag zeigt, welcher oder welche Server für den Mailempfang für eine Domäne zuständig ist). Nun ist es aber so, das SPAMmer mittlerweile versuchen, alle MX Server für eine Domäne zu kontaktieren und ihren SPAM Müll dort abzuladen. Auch wenn sie ein Temporary Failure bekommen versuchen sie als nächstes den secondary MX zu verwenden. Hat man also nicht alle MX mit Greylisting laufen, schafft man sich ein Loch und SPAMs können doch empfangen werden.

Statistiken haben gezeigt, daß durch Greylisting nur etwa 4,1% der beim Empfänger landenden Mails SPAM sind. Das ist eine recht hohe Quote wenn man bedenkt, daß dadurch Bandbreite gespart wird. Bei anderen Mechanismen – etwa bayesischen Filtern – muß die SPAM Mail erstmal empfangen und dann analysiert werden. Das heißt, daß die Mail schonmal Netztechnisch „bezahlt“ werden muß, da sie ja bereits komplett empfangen wurde. Dann muß die Mail auf dem Server noch durch die Filter laufen – was wiederum Rechnezeit (und somit Geld) kostet. Ich bin ein großer Fan von bayesischen SPAM Filtern und würde diese sehr effiziente Art der Filterung nie abschaffen wollen. Effizientes SPAM Filtern basiert aber mittlerweile nicht mehr auf eine eierlegende Wollmilchsau sondern auf Verwendung von mehreren parallelen Techniken. So ist Greylisting die optimale Ergänzung zu bestehenden Filtern die bereits auf Servern laufen (etwa bayesischen Filtern wie sie in spamassassin verwendet werden).

Es gibt aber noch andere Methoden wie SPAM erst gar nicht auf einem SMTP Server zugestellt werden muß und schon vorher entschieden wird, daß eine Mail erst gar nicht angenommen wird (und Bandbreite gespart wird). Greylisting ist die am einfachsten zu implementierende. Ich werde aber in weiteren Artikeln später noch auf andere Methoden eingehen. Der Kampf ziwschen SPAMmern und SPAM-Gegnern ist noch lange nicht entschieden. Leider wird die Flut an Werbemails immer größer und wenn die Betreiber von Mailservern nicht zusammenarbeiten und gemeinsam effiziente Methoden der SPAM Bekämpfung entwickeln sehen wir sehr bald sehr alt aus. Mittlerweile sagen Statistiken, daß etwa 45% der täglich im Internet kursierenden Mails SPAM Mails sind. Tendenz steigend. Das ist heftig…

Mehr zum Thema

The Next Step in the Spam Control War: Greylisting von Evan Harris