Dieses Skript entstand aus der Idee von Norbert Huettisch in de.admin.net-abuse.mail. Der Zweck dieses Skripts ist es, den Spammern das Leben etwas zu erschweren, die die Sicherheitslücke in den älteren FormMail-Versionen ausnutzen wollen (FormMail-Exploit).
Für den Spammer (bzw. seine Software) sieht es so aus, als würde er ein ganz normales FormMail 1.6 bedienen. In Wahrheit werden seine Mails natürlich nicht verschickt und seine Aktivitäten werden geloggt. Zwar kann man die Zugriffe des Spammers natürlich auch auf der access.log sehen, fm16st loggt aber noch einige weitere Informationen mit, so dass man die Aktivitäten der Spammer gut beobachten kann.
Ursprünglich war es dazu gedacht, »echte« E-Mail-Adressen von Spammern heraus zu finden. Das funktioniert auch, jedoch auf keinen Fall automatisch, wie sich gezeigt hat. Man muss also das Logfile durchgehen und selbst entscheiden.
Ohne regelmäßige Kontrolle der trap.log und dem Weiterschicken von Testmails von Hand wird kein Spam verhindert. Die trap.log wird irgendwann sehr groß, wenn man sie nicht von Hand verkleinert.
Die kleine Anzahl von Spam-Mails, die durch dieses Skript verhindert werden, sind eigentlich nur ein Tropfen auf den heißen Stein (aber Kleinvieh macht ja auch Mist).
fm16st ist keine technische Innovation, in Wahrheit handelt es sich nur um ein kastriertes FormMail 1.6, das anstatt die Anfrage als Mail weiterzuleiten den Zugriff im Logfile speichert.
Ich habe das Skript jetzt schon einige Zeit in Benutzung und bin der Meinung, dass es sich bewährt hat:
Zuerst sollten alle Variablen im Kopf des Programms an die eigenen Wünsche angepasst werden. Am wichtigsten ist natürlich, dass die Pfadangaben stimmen, damit keine Schreibfehler zum Programmabbruch führen.
Das Skript umbenennen/kopieren in formmail.pl, formmail.cgi, FormMail.pl, FormMail.cgi und z.B. in /cgi-bin/ uploaden, damit das Skript von den Spammern gefunden werden kann (Unix-Rechte entsprechend setzen). Nach Belieben Symlinks setzen...
Als nächstes sollte die trap.log angelegt werden und die entsprechenden Schreibrechte müssen gesetzt werden.
Schließlich können noch Links von anderen HTML-Seiten auf das Skript erstellt werden, damit es von diesen Spam-Bots gefunden werden kann. Bitte darauf achten, dass keine »Normal-Surfer« auf das Skript kommen und unnötig verwirrt werden :-)
Nachdem das Skript eingerichtet ist und funktioniert, einfach mal auf die Spammer warten :-)
Nach Belieben irgendwelche Test-Aufrufe von Hand weiterleiten und regelmäßig die trap.log überprüfen.
(Ich gebe ja zu, dieser Teil der Doku ist sehr dürftig :-) Ich gehe aber davon aus,
dass jeder, der dieses Skript einsetzt, weiß, warum er das tut.)
Zu tun gibt es bestimmt noch einiges, leider habe ich für fm16st ziemlich
wenig Zeit. Was ich auf jeden Fall noch verbessern will, ist die Log-Funktion
und die Benachrichtigung per E-Mail, damit man etwas genauer beobachten kann,
was der Spammer so vorhatte.
Sehr nett wäre, wenn Sie mir noch ein paar Log-Ausschnitte von
solchen Spammer-Versuchen schicken könnte, sei es aus der access.log des
Web-Servers oder auch aus der trap.log.
Natürlich bin ich auch für jeden anderen Hinweis/Wunsch sehr dankbar.
Das Skript zum online-anschauen: fm16st.txt
oder hier das Komplettpaket:
fm16st.zip (18kB)
fm16st.rar (14kB)
Das rar-Archiv enthält die »rar authenticity verification«. Nur echt, wenn »created by: Wolfgang Ellsässer« drinsteht, das Datum muss der 15. Mai 2004 sein.
das aktuelle FormMail: http://www.scriptarchive.com/formmail.html
Infos zum Exploit: http://www.mailvalley.com/formmail/
ein weiterer CGI-BIN-Honeypot: http://www.meow.org.uk/stan/pet_projects/honeypot.html
Contact Form, ein auf Sicherheit getrimmter Form-Mailer: http://ostermiller.org/contactform/
Der »Idee-Thread«, Message-ID <avor9k$le9$06$1@news.t-online.com>
<http://groups.google.com/groups?as_umsgid=avor9k%24le9%2406%241@news.t-online.com>
Norbert Huettisch: http://www.nobby.com
Die Newsgroup de.admin.net-abuse.mail
fm16st heißt ausgeschrieben »FormMail 1.6-Spamtrap«. Die Kurzbezeichnung hängt wohl etwas mit meiner Vorliebe für kryptische Namen zusammen...
Das Skript basiert auf FormMail 1.6 von Matt Wright. Damit hat es auch die selbe Lizenz wie das orginale FormMail. Kurz gesagt, es darf frei angewendet und modifiziert werden, solange der Kommentar mit dem Copyright nicht entfernt wird. Der ausführliche (englische) steht im Skript.
Natürlich kann ich für dieses Skript keinerlei Gewährleistungen oder Garantien übernehmen. Ich habe es ausfürhlich getestet, jedoch kann ich nicht ausschließen, dass es dennoch Fehler enthält. Ich setze voraus, dass jeder, der dieses Skript einsetzt, weiß, was er tut.
Anregungen und Kritik bitte an almnet@almnet.de
Ich freue mich über Rückmeldungen :-)
Es gilt das almnet.de-Impressum.
--
Done by Wolfgang Ellsässer, last update: 2004-05-15
(Ähm... Es hat wohl niemand Lust, diese Seite ins Englische zu übersetzen, oder?)