Die virtuelle Spammer-Teergrube „targrey“

September 13th, 2009 von chems

Das Spam-Aufkommen der letzten Jahre erzürnt alle Nutzer des World Wide Webs zugleich. Es gibt jedoch verschiedene Instrumente, sich dagegen zu schützen, sei es durch die Installation von spamassassin, postgrey, etc.

Jedoch sind dies „nur“ effektive Schutzmechanismen. Wie wäre es, wenn man sagen würde, man möchte die Spammer auch noch ärgern ?

Ich empfand diese Überlegung als äußerst reizvoll, und suchte deshalb nach einem geeigneten Instrument, und stieß auf targrey.

1. Was sind Teergruben im Informatikbereich und was nützen diese ?

Wenn man das Wort „Teergrube“ betrachtet, so erschließt sich meist von selbst der Sinn dieses Begriffs. Es wird erreicht, dass bestimmte Dinge in einer Grube aus Teer feststecken.

Die Nutzung in Netzwerken

Um unliebsame Besucher oder Portscanner von sich fern zu halten, nutzt man oft die Möglichkeit, Verbindungen künstlich ins leere Laufen zu lassen.

Um eine verlustfreie Verbindung aufzubauen, hat sich im TCP/IP Bereich der 3-Wege-Handschlag etabliert. Der Sinn besteht darin, sich gegenseitig den Empfang einer Information/Nachricht zu bestätigen, um sicher gehen zu können, dass diese auch wirklich angekommen ist. Das dabei ein gewisser Overhead an Daten entsteht, ist nicht zu vermeiden, weshalb es für manche Bereiche (Fernsehen über Internet,IP-Telephonie) das UDP-Protokoll gibt.

Was bringt hier nun die Teergrube ? Man überlege sich, dass der Portscanner (Server A) eine Verbindung zu Server B aufbaut, um zu schauen, ob der Port XY offen ist. Er sendet also nun eine Anfrage, und Server B gaukelt vor, dass dieser Port existiert und sendet eine Bestätigung zurück. Nun beginnt der Server B, den Portscanner in die Grube wandern zu lassen, und antwortet dann nicht mehr auf die Bestätigung von Server A. Jetzt bleibt also die Verbindung für eine Lange Zeit offen, und kostet den Portscanner viel Rechenleistung und Zeit. Irgendwann bricht die Verbindung mit einem Timeout ab.

Neuere Verfahren basieren auch auf der Idee, wirkliche Antworten zu senden, und so den Portscanner zu beschäftigen, welcher dann trotzdem ins leere läuft, da die Ergebnisse erst einmal nicht so sinnvoll sind.

Teergruben kann man aber auch dazu nutzen, ungebetene Besucher das Aufrufen eigenener Internetseiten künstlich zu erschweren, indem man die Verbindung künstlich extrem verlangsamt (HTTP-Teergruben).

Die Nutzung bei SMTP

Nachdem wir uns nun die normalen Bereiche angeschaut haben, schauen wir nun auf die klassische E-Mail-Teergrube. Hier nutzt man das gleiche Prinzip und verlangsamt Verbindungen von Servern, oder lässt sie genauso ins leere laufen. Ziel dabei ist, Spamserver kostbare Zeit zu rauben, die dann für andere Spams fehlt. Jedoch ist dabei immer das Problem, dass es genug Spam-Server gibt, die sich darauf eingestellt haben, und beim Auftreten von Teergruben die Verbindung von sich aus schließen, und dann je nach Config diese Teergruben-Server auf eine Blacklist aufnehmen. Jedoch ist auch unserem Server geholfen, wenn man garnicht erst kontaktiert wird, oder andererseits die Spam-Server verlangsamt.

Fakt ist: Jede Sekunde, die ein Spam-Server blockiert ist und nicht zum weitersenden anderer Mails nutzen kann, ist eine gute Sekunde.

2. Funktionsweise von targrey

Um targrey nutzen zu können, sollte man vorerst postgrey installiert haben. Die Funktionsweise kann man hier nachlesen.

Versucht wird bei targrey, dass man nach einer Reihe von Prüfungen den Spam-Server in einer Warteschleife verharren lässt und nun schaut, ob er brav wartet oder nicht. Bricht er die Verbindung nicht ab, so kommt er in das normale Greylisting und die Prozedur geht weiter.  Am besten verdeutlicht der Entwickler selber die Funktionsweise in folgender Graphik:

Bildautor: º´Æ£ ·é (SATOH Kiyoshi) |  http://d.hatena.ne.jp/stealthinu/

Bildautor: º´Æ£ ·é (SATOH Kiyoshi) | http://d.hatena.ne.jp/stealthinu/

3. Installation unter Debian

Als erstes muss man herausfinden, welche Postgrey-Version installiert ist:

1
postgrey --version

In meinem Fall lautete die Antwort:  postgrey 1.32

Um Postgrey nun mit targrey zu ergänzen, muss man Postgrey patchen, und deshalb von der Entwicklerseite den Patch downloaden.

Gehen wir also auf die Entwicklerseite, und suchen uns den richtigen Patch, in meinem Fall: taRgrey-patch for postgrey-1.32.

Haben wir unseren Patch gefunden, speichern wir uns den link zwischen und wechseln in das richtige Verzeichnis:

1
cd /usr/sbin/

Als nächstes laden wir den patch herunter:

1
wget http://k2net.hakuba.jp/pub/targrey-0.31-postgrey-1.32.patch

und erzeugen uns anschließend ein Backup unserer Postgrey-Datei aus Sicherheitsgründen:

1
cp postgrey postgrey.bak

Nun nur noch postgrey patchen:

1
patch postgrey targrey-0.31-postgrey-1.32.patch

Die Postfix main.cf beinhaltet schon nach der Installation normalerweise die benötigten Einstellungen, deshalb gehen wir hier nicht weiter darauf ein.

Editiert werden müssen jedoch noch die Postgrey-Optionen:

1
2
mcedit /etc/default/postgrey
POSTGREY_OPTS="--inet=10023 --delay=360 --tarpit=90 --retry-count=2"

Die neuen Optionen sind (Quelle: Entwicklerseite):

1
2
3
4
5
tarpitting: --tarpit=35 (35 second tarpitting and greylisting)
taRgrey mode: --tarpit=65 --targrey (greylists if blocked by 65 sec tarpitting)
greylisting retry threshold: --retry-count=2 (permits after 2 time retries)
auto-whitelist count delay: --auto-whitelist-delay=3600 (counts up once an hour)
outputs client's IP addresses to the auto-whitelist log

Danach muss man nur noch Postfix und Postgrey neu starten. Thats it!

4. Der nicht zu unterschätzende Haken an der ganzen Sache:

Mit targrey behindert man leider auch die vielen ehrlichen Servern im weltweiten Netz. Sind diese nicht gerade auf der whitelist, sorgt man auch bei Ihnen für ein langes Warten, was eigentlich ärgerlich ist. Würden alle Server auf der Welt targrey einsetzen, würde dies für mehr Traffic und längere Zeiten beim übermitteln von E-Mails nach sich ziehen.

Insgesamt ist es traurig, dass man Greylisting und Co. einsetzen muss, um den Wahnsinn in unserem Netz Herr zu werden. Seitdem ich Greylisting einsetze, ist insgesamt der Mail-Traffic spürbar zurückgegangen, und der auftretende Spam wurde auf ein großes Minimum reduziert.

Nach ersten Auswertungen des Mail-Logs hat sich gezeigt, dass auf meinem Server viele Spam-Versender in der Teergrube landen und schön ausgebremst werden. Also trifft es bisher gott sei dank auch die Richtigen. In einem halben Jahr sollte man die ganze Sache jedoch sicherlich noch einmal evaluieren.

Twitter das!

Geschrieben in Server, PC und Netzwerkgeschichten | Keine Kommentare »