Vielen Dank an alle meine treuen Leser, Kommentatoren und Verlinker ;) Ohne Euch hätte ich nie so lange durchgehalten. Doch jetzt ist Schluss mit dem WWWorker:

Sascha A. Carlin pflegt diese Website nicht mehr aktiv.

, , , , , ,

Spam-Statistiken

Akismet hat bisher 6.795-mal Kommentarspam abgefangen. Das sind stolze 75,5 pro Tag. Nun, zu Hochzeiten kamen hier gut und gerne dreimal so viele an. Aber dank einiger kleiner Maßnahmen konnte ich das deutlich reduzieren.

Zusätzlich zu Akismet läuft hier seit Ende letzter Woche Bad Behavior. Dieses Tool analysiert ankommende Anfragen (man beachte die Alliteration ;) ) und lässt solche nicht durch, die schlechtes Benehmen an den Tag legen. Zum Beispiel solche, denen HTTP-Header fehlen oder die ihre Header falsch kombinieren. Außerdem hat Bad Behavior eine eingebaute Liste von bekannten Spambots, deren Zugriffe es ebenfalls blockt. Es merkt sich auch, von welchen IPs unhöfliche Anfragen kamen und blockt weitere Anfragen von diesen IPs, wenn sie innerhalb einer bestimmten Zeitspanne auflaufen. Die Größe dieser Zeitspanne beträgt zunächst zehn Minuten. Aufrufe innerhalb dieser Zeitspanne werden automatisch geblockt. Für jeden geblockten Aufruf verlängert sich die Zeitspanne um weitere zehn Minuten.

Nach drei Tagen Betrieb hat Bad Behavior 195 Aufrufe geblockt:

Geblockte AufrufeBegründung
116Required header ‘Accept’ missing
28Header ‘Pragma’ without ‘Cache-Control’ prohibited for HTTP/1.1 requests
9Header ‘Expect’ prohibited in HTTP/1.0 requests
9Prohibited header ‘Proxy-Connection’ present
6Prohibited header ‘Range’ present
5User-Agent beginning with ‘Jakarta Commons’ prohibited
5A User-Agent is required but none was provided.
4Connection: TE present, not supported by MSIE
4Header ‘TE’ present but TE not specified in ‘Connection’ header
4I know you and I don’t like you, dirty spammer.
3User-Agent beginning with ‘User-Agent: ’ prohibited
2User-Agent containing ‘DTS Agent’ prohibited

Eine kurze Erläuterung zum Accept-Header: Dieser HTTP-Header wird von User-Agents (Webbrowser und anderen Softwares, die Anfragen an Webserver stellen) bei Anfragen mit gesendet, um dem Server zu verstehen zu geben, mit welchen Inhalten sie umgehen können. Ein Webbrowser wird zum Beispiel text/html und image/jpeg (und viele weitere) angeben, um dem Server zu sagen, dass er mit HTML-Dokumente und JPG-Bilder umgehen kann. Bad Behavior geht davon aus, dass ein User-Agent, der auf einen Accept-Header verzichtet (und so vorgibt, mit allen Dokumenttypen umgehen zu können) kein Webbrowser sein kann und blockt daher solche Anfragen.

Nach den Erfahrungen der letzten Tage scheint Bad Behavior einen guten Job zu machen. Es filtert zuverlässig unhöfliche Anfragen im Vorfeld aus und entlastet dadurch Akisment. Weiter so ;)

10 Responses to “Spam-Statistiken”

  1. Boris Says:
    Juni 7th, 2006 at 20:56

    Aha aha, fein. Das werde ich mir mal genauer anschauen. Vielleicht kann ich mir damit noch mehr lästige Zeitgenossen vom Server halten als ich es jetzt manuell per .htaccess schaffe…

  2. dyingeyes weblog » Plugin gegen Spambots Says:
    Juni 7th, 2006 at 23:26

    […] Dank eines Artikels von Sascha Carlin bin ich auf ein interessantes Wordpress-Plugin gestoßen, welches angetan ist, Spambots direkt beim Zugriff auf Blog-Dokumente abzufangen und zurückzuweisen. […]

  3. Michael Hampton Says:
    Juni 8th, 2006 at 00:41

    You might also wish to try the Bad Behaviour 2.0 Beta 1 which I released today. :)

  4. Bad Behaviour auch hier » Peruns Weblog - Webwork und Internet Says:
    Juni 14th, 2006 at 16:38

    […] Ich kannte das Plugin zwar schon von früher, aber weil ich schlechte Erfahrungen mit dem alten Spam Karma gemacht habe war ich vorsichtig mit Antispam-Plugins. Erst durch die positive Erfahrung durch Sascha Carlin habe ich mich entschlossen dieses Plugin einzusetzen. Nun werde ich das Plugin testen um zu schauen wie sich das Plugin schlägt. […]

  5. Perun Says:
    Juni 14th, 2006 at 17:02

    Hi Sascha,

    was muss man machen um die Statistiken zu bekommen warum die Einträge blockiert wurden?

    Grüße

  6. AJ Says:
    Juni 15th, 2006 at 12:16

    SELECT count( id ) AS cases, deniedreason FROM wpbadbehaviorlog GROUP BY denied_reason ORDER BY cases DESC

    Oder so in der Art ;)

  7. Anne Says:
    Juli 3rd, 2006 at 10:24

    Kann man damit auch sein phpBB -Forum schützen??Das wäre ja cool. Aber wo bzw. in welche File sollte der code? Was wäre da am geeignesten?

    Es Grüßt

    Die Anne

  8. Anne Says:
    Juli 3rd, 2006 at 11:43

    also meine natürlich von Bad Behaviour .. “require once etc…”

  9. sc Says:
    Juli 3rd, 2006 at 17:06

    @Anne: Bad Behavior läßt sich prinzipiell in jedes PHP-Script einbauen, so zumindest behauptet es der Autor. Nicht, daß ich es schon ausprobiert hätte :D

  10. Spam-Statistiken II at WWWorker - Sascha A. Carlin Says:
    August 28th, 2006 at 15:40

    […] Seit der letzten Spam-Statistik sind knapp sechs Wochen vergangen. […]