[Diese Seite ist Teil der Homepage www.daniel-rehbein.de]

Mit einer Teergrube TCP/IP-Verbindungen blockieren


 
 Spam & Adressensammler
(Navigation 2.Ebene)  Die Thematik
(Navigation 2.Ebene)  Harvester täuschen
(Navigation 2.Ebene)  Adreßlisten vergiften
(Navigation 3.Ebene)  Eigener Server
(Navigation 3.Ebene)  Software in Java
(Navigation 4.Ebene)  Adressenserver
(Navigation 4.Ebene)  Mailvernichter
(Navigation 4.Ebene)  Guestbook
(Navigation 4.Ebene)  Teergrube
(Navigation 3.Ebene)  Serveradressen
(Navigation 2.Ebene)  Weitere Informationen

Als "Teergrube" bezeichnet man einen Mailserver, der durch geschickte Ausnutzung des Protokolls SMTP die ankommenden Verbindungen möglichst lange aufrechterhält, um damit Ressourcen des Versenders (nämlich TCP/IP-Ports) zu blockieren. In SMTP, dem zur Übertragung von E-Mail verwendeten Protokoll, gibt es (wie auf http://www.daniel-rehbein.de/rfc2821.html erklärt) die Möglichkeit, das der Server mehrzeilige Antworten gibt, was durch ein Minuszeichen nach dem dreistelligen Antwortcode gekennzeichnet wird. Mit diesen Fortsetzungszeilen kann man den Rechner, der Mail einliefern möchte, beliebig lange hinhalten.

Verglichen mit der gewöhnlichen Briefpost ist die Teergrube ein Briefkasten, der den Briefträger in ein endloses Gespräch verwickelt, noch bevor dieser es geschafft hat, die Briefe einzuwerfen. Und wenn der Briefträger es nicht schafft, einfach wegzulaufen und bei den anderen Haushalten die unerwünschte Werbepost zuzustellen, so wird er bis zum St. Nimmerleinstag zugelabert.

Es werden also Resourcen (in diesem Beispiel Arbeitskraft), die eigentlich zum Versand von Werbung gedacht sind, gebunden. Im Falle des Spam-Versandes sind die Resourcen die Rechner, die der Spam-Versender benutzt, bzw. deren TCP/IP-Ports. Jede einzelne ausgehende TCP/IP-Verbindung ist vergleichbar mit dem Briefträger aus obigem Beispiel, der unverlangte Werbepost zustellen soll. Werden nun die Briefträger bzw. die TCP/IP-Verbindungen, die bei der Teergrube ankommen, dort festgehalten, so steht dem Spam-Versender weniger Kapazität zur Verfügung, um seinen Werbemüll an die Empfänger zu bringen.

Das Prinzip der Teergrube geht auf eine Idee von Axel Zinser zurück, die älteste im Internet zu findende Beschreibung stammt von Kristian Köhntopp von November 1996. Sie kann nachgelesen werden auf http://google.de/groups?selm=57bkpu%24cou%40white.koehntopp.de

Eine aufbereitete Erklärung hat Lutz Donnerhacke unter http://www.iks-jena.de/mitarb/lutz/usenet/teergrube.html bereitgestellt.

Das nachfolgende Programm mit dem bezeichnenden Namen "Teergrube" implementiert eine solche Teergrube. Sofern der jeweilige Versender die Verbindung nicht von sich aus trennt, hält es die Verbindung endlos aufrecht. Die Teergrube empfängt (solange nicht manuell interveniert wird) keine Mail vollständig, sondern zögert die Kommunikation so lange heraus, bis die Verbindung getrennt wird. Damit die Namen der Kommunikationspartner bekannt sind und von der Teergrube ausgegeben werden können, behandelt diese die SMTP-Kommandos EHLO, HELO, RSET, MAIL und RCPT wie gewohnt, d.h. ohne nennenswerte Verzögerung. Erst bei anderen Kommandos, insbesondere DATA, schlägt der Teergruben-Mechanismus zu. Etwa alle 10 Minuten wird eine kleine Statistik ausgegeben, die nach IP-Nummern sortiert Auskunft über die Anzahl der aktiven Verbindungen und die Kommunikationspartner gibt.

Diese Teergrube verfügt außerdem über ein Hintertürchen, um einzelne Verbindungen doch vollständig abzuwickeln und die durch die betreffende Verbindung eingelieferte Mail ansehen zu können. Kontaktieren Sie die Teergrube mit einer telnet-Verbindung auf dem Port, auf dem sie läuft (typischerweise 25) und geben Sie nach der Begrüßung den Befehl "view" gefolgt von der IP-Adresse der Verbindung, deren Mail sie sehen wollen, ein. Daraufhin wird dann die Blockierung der von dieser IP-Adresse kommenden Verbindung (wenn mehrere bestehen, einer davon) freigegeben, die betreffende Mail empfangen und anschließend im telnet-Dialog angezeigt. Insofern ist diese Teergruben-Implementierung auch ein schönes Werkzeug, um einfach mal zu gucken, von wo Mails ankommen und sich dann einzelne Mails davon gezielt herauszupicken.

Für weitergehende Steuerung und sogar whois-Abfragen sowie einen Portscan-Mechanismus verfügt die Teergrube über ein Web-Interface. Mit Hilfe einer whois-Abfrage können Sie feststellen, auf wen eine bestimmte IP-Adresse oder ein bestimmter Domainname registriert ist. Mit Hilfe eines Portscans können Sie die Rechner, die zu der Teergrube eine SMTP-Verbindung aufgebaut haben, offene Ports besitzen, auf denen ein offenes Mail-Relay oder ein offener Proxy läuft. Der eingebaute Portscan der Teergrube führt eine Analyse der offenen Ports durch. Wozu die gefundenen Port genau verwendet werden, d.h. welche Dienste dort laufen, muß separat festgestellt werden (z.B. durch Ausprobieren mittels Handeingabe via telnet oder über andere Werkzeuge).

Damit der Zugriff über die Web-Oberfläche möglich ist, wird beim Start der Teergrube nicht nur ein Port für den SMTP-Dialog, sondern auch ein weiter Port für HTTP definiert. Soll das Web-Interface von extern absprechbar sein, so ist dieser Port üblicherweise 80, ansonsten wählt man in der Regel einen anderen Wert. Gestartet wird die Oberfläche mit Aufruf der Datei /start auf beliebiger Verzeichnisebene. Im untenstehenden Beispiel würde man also z.B. http://localhost:8012/start oder auch http://localhost:8012/seiten/irgendwas/start aufrufen.

Für alle nicht von der Web-Oberfläche genutzen Dateinamen liefert die Teergrube eine Webseite mit E-Mail-Adressen von sich selbst. Alle Links bleiben grundsätzlich innerhalb derselben Verzeichnisebene. Diese Teergrube kann also auch zum Harvester-Poisoning eingesetzt werden, indem man die Web-Oberfläche auf einem offenen Port laufen läßt und dorthin verlinkt (natürlich nicht auf "/start", sondern auf eine beliebige andere Seite).

Eine einfache Version einer Teergrube ohne Statistik und ohne Web-Interface ist auch das Programm "Mailblocker" auf der Webseite http://mailserver.aplerbeck.net/

Achtung: Diese Teergrube sollte man nur einsetzen, wenn man sicher ist, daß auf dem eigenen Rechner nur Spam ankommt. Werden dagegen auch "normale" Mails per SMTP an den Rechner geschickt, oder besteht gar eine Weiterleitung von einem Provider-Account auf eine Adresse auf dem eigenen PC, so würde eine Teergrube auch diese Verbindungen blockieren.

Der Aufruf des Programms "teergrube" erfolgt nach folgendem Schema:

java teergrube mail.example.com 25 8012

         

Dabei bedeuten:
java teergrubeAufruf des Programmes.
mail.example.comDer Name, mit dem der SMTP-Server sich melden soll. Setzen Sie hier Ihren tatsächlichen Domainnamen ein.
25Der TCP/IP-Port, auf dem der Prozeß laufen soll. Für den Empfang von E-Mails durch einen SMTP-Server ist dies üblicherweise Port 25.
8012Der TCP/IP-Port, auf dem der HTTP-Server für die Administrationsoberfläche laufen soll. Wenn diese von außen erreichbar sein soll, so handelt es sich typischerweise um Port 80. Soll die Oberfläche nur intern erreichbar sein, so wählt man in der Regel einen anderen Port, im Beispiel 8012.



[Abrufstatistik]  Homepage  Impressum