# Greylisting

Der Begriff Graue Liste bzw. Greylisting (brit.) oder Graylisting (USA) bezeichnet eine Form der Spam-Bekämpfung bei E-Mails, bei der die erste E-Mail von unbekannten Absendern zunächst abgewiesen und erst nach einem weiteren Zustellversuch angenommen wird.
Greylisting ist sowohl eine Methode, Spam zu erkennen, als auch eine Methode, den Absender aussortierter E-Mails zu benachrichtigen.

## Funktionsweise

Wird ein SMTP-Server kontaktiert, damit dieser eine E-Mail in Empfang nimmt, so sind diesem Mailserver folgende drei Daten bekannt, bevor der Mail-Server die E-Mail annehmen muss (der "SMTP-Envelope"):
* IP-Adresse des absendenden Mailservers
* E-Mail-Adresse des Absenders laut diesem (vgl. Envelope Sender)
* E-Mail-Adresse der Adressaten
Wurde eine E-Mail mit dieser Kombination von Adressen noch nie empfangen, dann wird beim Greylisting der Zustellversuch durch den SMTP-Server abgeblockt mit einer Meldung, dass ein temporärer Fehler aufgetreten sei, der SMTP-Client die Zustellung also später noch einmal versuchen soll. Wird ein nächstes Mal versucht, eine E-Mail mit derselben Kombination von Daten zuzustellen (was ein regulärer und RFC-konform konfigurierter SMTP-Server auf jeden Fall tun sollte), so wird diese E-Mail (nach einem konfigurierbaren Zeitintervall) akzeptiert. Ob und wann ein erneuter Zustellversuch unternommen wird, hängt einzig und allein vom Versender ab. Es gibt auch Greylisting-Implementierungen, die die Regeln ein wenig lockern, indem beispielsweise die beteiligten Domains statt der E-Mail-Adressen eingetragen und überprüft werden.

### Vorteile

Typische Software für den Massen-Versand von E-Mails (insbesondere Würmer oder Trojaner) versucht oft nicht, eine (Spam-)E-Mail ein zweites Mal an denselben SMTP-Server zuzustellen. Solche E-Mails werden durch „Greylisting“ erfolgreich gefiltert. Zurzeit ist damit eine sehr effektive Spambekämpfung möglich, die den Spam auf bis zu ein Zehntel reduziert.
Durch die verzögerte Zustellung greifen auch Verfahren zur Spamerkennung, die auf Netzwerkprüfungen basieren, effektiver (wie z. B. RBLs, Vipul’s Razor und DCC), da zwischen erstem und zweitem Zustellungsversuch die Spamwelle evtl. bereits erkannt und auf den entsprechenden Blacklisten eingetragen wurde.
Eine E-Mail kann bereits abgelehnt werden, wenn lediglich der E-Mail-Envelope mit Absender- und Empfängerdaten empfangen wurde und nicht erst nachdem die komplette E-Mail (mit Body und ggf. Anhängen) erhalten wurde. Auf diese Weise werden weitere Spamfilter wie z. B. SpamAssassin nicht mit einer abgewiesenen E-Mail belastet, was erheblich Ressourcen spart.
Anders als bei heuristischen Spam-Bekämpfungs-Verfahren geht durch „Greylisting“ im Normalfall keine E-Mail verloren. Die meisten Greylisting-Implementierungen führen eine dynamische Whitelist. Nach einer erfolgreichen E-Mail-Zustellung wird die Kombination Sender, Empfänger und E-Mail-Server in die Whitelist eingetragen. Kombinationen, die in der Whitelist vermerkt sind, umgehen das Greylisting, wodurch die E-Mail bereits beim ersten Versuch zugestellt wird. Findet zwischen zwei Personen wiederholt ein E-Mail-Versand statt, wird dieser also nicht durch das Greylisting behindert.

### Nachteile

(Fehlerhaft konfigurierte) Mailserver-Programme könnten bei temporären Fehlern keinen weiteren Zustellversuch unternehmen. Der zuständige Administrator des versendenden Mailservers sollte angehalten werden, diese grobe Fehlkonfiguration seines Systems zu beheben. Des Weiteren bieten viele Greylisting-Implementationen eine Whitelist, die allerdings eher für legitime als für fehlerhafte Absender genutzt werden sollte, beispielsweise zum Whitelisting großer Provider. Eine brauchbare Whitelist ist beispielsweise die DNSWL. Der durch den hohen Anteil gefälschter Absender-Adressen wieder erhöhte Spam-Anteil kann durch Verwendung von SPF verringert werden.
Ein weiterer Nachteil ist die Zeitverzögerung. Eine erwünschte E-Mail kann durch das Greylisting einige Minuten oder Stunden später eintreffen. Spam-Abwehr-Systeme können jedoch erwünschte E-Mail-Domänen bzw. -Absender vorhalten, so dass die Zeitverzögerung nur die erste E-Mail betrifft, insbesondere Bestätigungsmails beim Double Opt-in.
Einige Mailserver-Programme generieren bereits beim ersten Versuch einer durch Greylisting abgewiesenen E-Mail einen vorläufigen Zustellbericht an den Absender. Dieser Bericht wird oft nicht genau gelesen bzw. nicht verstanden und somit oft als Bericht über eine endgültig fehlgeschlagene Zustellung behandelt.
Wie alle Methoden der Spambekämpfung verliert Greylisting durch Weiterentwicklung der Spam-Software an Effizienz. Je mehr sich Greylisting verbreitet, desto mehr werden sich die Spammer anpassen. Es ist daher sinnvoll, gleichzeitig auch andere Verfahren wie beispielsweise SPF oder DKIM einzusetzen.
Weiterhin ist zu beachten, dass nach Möglichkeit alle für eine Domain zuständigen Mailserver Greylisting aktiviert haben, da Spamversender bereits heute häufig direkt den – oft schlechter geschützten – MX mit der geringsten Priorität zur Einlieferung benutzen.
Bei Implementierungen auf Cluster-Servern ist zu beachten, dass die Greylist-Datenbank auf alle Serverknoten repliziert wird, da sonst der Mail-Empfang stark verzögert werden kann.
Neben der prinzipbedingten Verzögerung der Zustellung um wenige Minuten bis einige Stunden kam es Mitte Juni 2009 bei E-Mails von T-Online-Kunden zu starken Verzögerungen. So erfolgte seitens T-Online bei einem durch Greylisting abgelehnten Zustellversuch die zweite Zustellung erst mit Verzögerung von 12 Stunden bis über 5 Tagen. T-Online verwies hierbei zunächst auf das nicht RFC-konforme Verhalten des ablehnenden Mailservers, beseitigte dann aber doch die Verzögerungen.

## Anwendungsgebiet

Zur Unterscheidung der Begriffe Massen-E-Mail (UBE) und kommerzielle E-Mail (UCE) siehe Arten von Spam.
Greylisting ist gegen UBE anwendbar, weil in der Regel zu Botnetzen zusammengeschlossene infizierte PCs dahinter stecken. Gegen diese Zielgruppe hilft auch, E-Mails von Einwahlzugängen generell abzulehnen. Listen von Einwahlzugängen müssen aber ständig gepflegt werden.
Gegen UCE ist Greylisting in der Regel nicht anwendbar. Da es eine persönliche Entscheidung sein kann, was davon Spam ist oder nicht, ist Blacklisting die genaueste Lösung; relativ gut helfen automatische Spam-Filter.

## Wechselnde Serveradresse

Manche größere Mail-Server-Betreiber verteilen das Versenden der E-Mails ihrer Kunden auf mehrere Server mit unterschiedlichen IP-Adressen, um so die Last der zu versendenden E-Mails zu bewältigen. Je nach Systemkonfiguration dieser Serverfarm kann es dann bei Wiederholung zu regulären Zustellungsversuchen von jeweils unterschiedlichen Absenderadressen aus kommen, die aber alle aus dem IP-Adressbereich des einen Mail-Server-Betreibers kommen. Manche Programme zum Greylisten bieten die Option zu einem Weak Greylisting an, um die damit verbundenen Probleme teilweise zu kompensieren. Beispielsweise kann bei IPv4-Adressen das letzte Byte der Adresse bei der Auswertung nicht beachtet werden. Dem liegt die Annahme zugrunde, dass die unterschiedlichen Server zum Versenden von E-Mails in einem gemeinsamen Adressbereich mit der Netzmaske /24 liegen. Bei Verwendung von IPv6 müssen andere Verfahren angewendet werden.

## Anpassung der Spammer

Im Zeitraum 03/2008 bis 08/2009 waren unwesentliche Spam-Wellen über Botnetze unterwegs, die den Einwurf von Spam wiederholten, möglicherweise für Testzwecke. Merkmale der mehrfach-Einwürfe waren:
* 3-fach parallel oder nacheinander vom selben PC
* 3-fach parallel von mehreren weltweit verteilten PC
* Einwurf mit permutierten Absendern und Inhalten
* 2-fach nacheinander in größerem Abstand vom selben PC
Zufällig oder absichtlich – keine der Wellen war geeignet, ein Greylisting wie hier beschrieben zu umgehen. Die Kombination "selber PC mit gleichem Absender und zeitlichem Abstand" war einfach nicht dabei. Greylisting war bis Oktober 2010 der genaueste Spamfilter für UBE.
Seit Ende Oktober 2010 wurde ein kleiner Anteil des UBE-Spam aus Botnetzen auch mehrfach versendet, seit 11. Oktober 2011 ein nennenswerter. Greylisting ist damit immer noch ein Kriterium für den Spamfilter, ist aber nicht mehr die alleinige Lösung.

## RFC-Konformität

Die für Greylisting relevanten RFCs sind RFC 5321, in dem das SMTP-Protokoll definiert wird, und RFC 6647, der Greylisting gewidmet ist. Im RFC 5321 ist das temporäre Ablehnen von Mail nach dem Ermessen des Betreibers eines Servers vorgesehen (mailbox … temporarily blocked for policy reasons).

## Benachrichtigung des Absenders

Nimmt ein SMTP-Server E-Mails zunächst an, und filtert dann erst Spam, kann er den Absender nicht benachrichtigen: Die Absenderangabe in fast allen Spam-E-Mails ist gefälscht, und die Benachrichtigungen würden an unschuldige Opfer gehen.
Der SMTP-Server kann jedoch die Mail zunächst mit Umschlag, Kopf und Inhalt annehmen und statt der Bestätigung einen temporären Fehler liefern. Hat er bis zum nächsten Zustellversuch die Spam-Prüfung abgeschlossen, liefert er eine Antwort 250 (OK) oder 5xy (Fehler).
Es ist sogar denkbar, dass der Empfänger persönlich die Mails sortiert, und damit die Prüfung erst nach Stunden stattfindet.
Durch die Ablehnung beim Einwurf der E-Mail wird normalerweise der wahre Absender der E-Mail benachrichtigt. Folglich ist der Empfänger nicht mehr gezwungen, einen Spam-Ordner durchzusehen. Bei einer irrtümlichen Ablehnung wird sich der Absender nach evtl. Hinweisen in der Fehlermeldung richten oder zum Telefon greifen.