Blocken von Spammern mit mod_defensible auf Apache2 (Debian Lenny)

Author: Alexander Fox alias PlaNet Fox

<howtoforge [at] planetfox.de [dot] de>

Version 1.0

Created 24.05.09

Was ist mod_defensible
mod_defensible ist ein Apache 2.x module zum blocken von spammers/hackers/script kiddies und nutzt  DNSBL server. Es überprüft client IPs und checkt ob die IP auf einem DNSBL server gelistet ist und gibt  eine 403 Forbidden Seite an den Client wenn er gelistet ist. Diese anleitung beschreibt wie man mod_defensible auf einem Debian Lenny Server installiert.
Ich gebe keine Garantie das diese Anleitung beu euch so funktioniert

1 Vorbereiten der Installation

In Debian Lenny ist libapache2-mod-defensible verfügbar, jedoch das Packet libudns0 nicht daher müssen wir eine anpassung der source.list vornehmen und ergänzen.

Ich weise daraufhin das ihr die die Zeile für die sid Pakete , nach der Installation wieder raus nehmen müsst.

vi /etc/apt/source.list


deb http://ftp2.de.debian.org/debian/ lenny main
deb-src http://ftp2.de.debian.org/debian/ lenny main
deb http://ftp2.de.debian.org/debian/ lenny main
deb http://security.debian.org/ etch/updates main contrib
deb-src http://security.debian.org/ etch/updates main contrib
deb-src http://security.debian.org/ etch/updates main contrib
deb http://ftp.de.debian.org/debian sid main

Danach müsst ihr eure Packet Liste aktualisieren

apt-get update


Nun erfolgt die Installation von libudns0

apt-get install libudns0


Nun löschen wir in der Sourcelist wieder die zeile zu den sid Packeten, also noch mal die source.list aufrufen und die zuvor hinzu gefühte Zeile wieder Löschen

Wir Aktualisieren wieder die Packetlisten

apt-get update


2. Installation Apache2 und mod_defensible

Wir Installieren nun Apache und mod_defensible

apt-get install apache2 libapache2-mod-defensible


Nun Aktivieren wir das Modul mit folgendem Befehl

a2enmod defensible


Neustart des Apache2 Webservers damit das Modul geladen wird

/etc/init.d/apache2 force-reload


3. Konfiguration
Öffne /etc/apache2/apache2.conf und  geh zur  Zeile in der die Virtual Hosts Konfiguriert werden und füge folgende Zeile hinzu, überprüfe ob du nicht vielleicht schon teile des codes vorhanden hast in deiner Configuration
[...]
# Include generic snippets of statements Include /etc/apache2/conf.d/ DnsblUse On DnsblServers httpbl.abuse.ch sbl-xbl.spamhaus.org DnsblNameserver 127.0.0.1 # Include the virtual host configurations: Include /etc/apache2/sites-enabled/
Nun startet ihr den Apache2 Webserver neu

/etc/init.d/apache2 restart


Nun sollte mod_defensible funktionieren

Besucht nun eine User die Webseite wessen IP-Adresse geblacklisted ist, wird ein HTTP Error 403 ausgegeben:

Forbidden
You don’t have permission to access / on this server because you are currently blacklisted by a DNSBL server at: httpbl.abuse.ch

Zusätzlich wird ein entsprechender eintrag im error.log erstellt:

[Mo Mai 25 15:50:12 2009] [error] [client 212.1.57.12] denied by DNSBL: httpbl.abuse.ch for: /


4. Testen
Manche werden jetzt sagen, der kann ja jetzt hier viel schreiben :) , aber wie teste ich das ganze nun. Dazu gibt es ein Configurations checktool unter folgender adresse

http://www.abuse.ch/httpbl/test.php
Dort müsst ihr nur die domain eures Webservers eingeben. Danach müsstet ihr eine Fehlermeldung erhalten wie oben beschrieben.

Wenn ihr Problem habt schaut mal in eure Apache Logs mit folgendem befehl

tail -f -n 40 /var/log/apache2/error.log
5. Links
http://dnsbl.abuse.ch/
http://www.howtoforge.com

1 Kommentar(e)

Zum Posten von Kommentaren bitte

Kommentare

Von: MayMak

Ich habe problem damit.Kann mir bitte jemand helfen.

Ich habe die liste eingefügt.wen ich ( apt-get update ) eingebe bleibt der bei 99% stehen. ( 99% [16 Packages bzip2 0] )

wen ich das befehl Web:~# apt-get install libudns0 durchführe bekomme diesen fehler.

Paketlisten werden gelesen... Fehler!
E: Dynamic MMap ran out of room
E: Dynamic MMap ran out of room
E: Ein Fehler trat beim Bearbeiten von squirrelmail-compatibility auf (NewPackage)
E: Problem with MergeList /var/lib/apt/lists/ftp2.de.debian.org_debian_dists_lenny_main_binary-amd64_Packages
E: Die Paketliste oder die Statusdatei konnte nicht geparst oder geöffnet werden.

PS: Ich habe nicht viel ahnung bitte nicht schimpfen.

LG