spamSink – oder: wie stört man Spambots

Im vorherigen Artikel habe ich die selbst programmierte Botfalle ins Spiel gebracht.
Nun möchte ich ein wenig mehr darüber erzählen, werde aber nicht allzu sehr ins Detail gehen.

Sobald eine IP-Adresse vermehrt Spam verschickt wird diese von mir in die Konfigurationsdatei des Webservers (lighttpd) eingepflegt. Momentan sieht der entsprechende Bereicht so aus:

$HTTP["remoteip"] =~ "^(94.229.65.173|194.8.7(4|5).[0-9]{1,3})$" {
url.redirect = ( ".*" => "http://XXX.XXX.XXX.XXX:16666" )
}

Ruft nun der Spambot meinen Blog auf wird er vom Webserver an die neue URL verwiesen.

Dort schlummert „spamSink“ ein Python Scriptchen welches die Funktion eines Webservers nachahmt.
Konkret bedeutet das, dass spamSink die Verbindung entgegennimmt und den Http-Header mit dem Statuscode 200, dem Serveragent, Content-Type und Content-Lenght zurückschickt.
Daraufhin tritt spamSink in eine Schleife ein, die einzig und allein die Funktion hat, jede Sekunden ein zufälliges Byte an den Spambot zu schicken.

So bleibt der Spambot in der Leitung und der Traffic hält sich in Grenzen.

Aus den von spamSink generierten Logfiles kann ich entnehmen, dass die Spambots eine erstaunliche Geduld an den Tag legen. Selbst wenn ich nur einen Spambot eine halbe Stunde lang aufhalten kann, sehe ich meine Mission als erfolgreich an.

Nachtrag: Einen Spam Provider, den ich komplett gekappt habe (nach mehreren Abuse-Meldungen) ist auch anderen schon aufgefallen.

Dieser Beitrag wurde unter Programmieren abgelegt und mit , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.