NetVision-Technik

NetVision-Technik (http://www.netvision-technik.de/forum/index.php)
-   Security (http://www.netvision-technik.de/forum/forumdisplay.php?f=32)
-   -   [HOW2] mod_evasive konfigurieren (http://www.netvision-technik.de/forum/showthread.php?t=5515)

SP4C3 26.06.2010 13:49

[HOW2] mod_evasive konfigurieren
 
Hi,
oft ist es einfach einen kleinen Webserver außer Betrieb zu setzen. Ein aufwendiges Script, oft genug aufgerufen lässt den Server in die Knie gehen. Der Denial of Service (DoS) ist geschafft. Unter anderem um dem Vorzubeugen, gibt es für den Apache Webserver mod_evasive. Die Konfiguration ist einfach aber effizient.
Mod Evasive führt eine HOstTabelle, und sobald eine gewisse Anfrageschwelle pro Host überschritten wird, bekommt dieser ein 403 access denied. Zusätzlich kann der Admin per Mail benachrichtigt werden und ein Shell Befehl ausgeführt werden.
Unter Debian lenny installiert man das Modul mit :
Code:

apt-get install libapache2-mod-evasive
Danach gehts an die Konfiguration.
Erst das Modul aktivieren.
Code:

a2enmod mod-evasive
Dann die Apache2 Konfiguration anpassen. Unter Debian in der /etc/apache2/apache2.conf folgende Zeile anhängen:

Code:

<IfModule mod_evasive20.c>
    DOSHashTableSize    3097 # Größe der HostHashTabelle, Je größer desto schneller, je kleiner desto weniger Ram Verbrauch
    DOSPageCount        10 # Request pro Intervall auf eine Seite von einem Host
    DOSSiteCount        50 # Requests pro Intervall auf einer Domain von einem Host
    DOSPageInterval    1 # o.g. Intervall für die Requests pro Seite in s
    DOSSiteInterval    1 # o.g. Intervall pro Domain
    DOSBlockingPeriod  10 # Dauer der Blokade in s
    DOSWhitelist 127.0.0.1 # Whitelist
    DOSEmailNotify "adminEmailAddresse" # BenachrichtigungsEmailaddresse
    DOSSystemCommand    "sudo /sbin/iptables -A INPUT -s %s -j DROP" # Befehl der bei erkanntem DOS versuch ausgeführt werden soll
</IfModule>

Die Kommentare (alles ab dem # in einer Zeile), dienen zur erläuterung hier. Sie müssen in der Apacheconfig entfernt werden!
Der Befehl unter DOSSystemCommand sorgt dafür, dass alle Pakete von der AngreiferIP gedropt werden. Somit wird dem Angreifer suggeriert, der Server sei nicht mehr erreichbar(Timeout).
Edit:
Sollen automatische Firewallregeln angelegt werden (via DOSSystemCommand wie hier) ist das Paket 'sudo'(kann bei anderen Distributionen als Debian anders heißen) nötig.
Damit www-data diese Firewallregel einrichten darf, muss sudo installiert sein und in der /etc/sudoers folgende Zeile hinzu gefügt werden.

Code:

www-data ALL=(ALL) NOPASSWD: /sbin/iptables -A INPUT -s [0-9.]* -j DROP
Ein Neustart des alten Indianers aktiviert den ganze Spass.

ACHTUNG::: SPERRT EUCH NICHT SELBST AUS BEIM TESTEN. SOLLTET IHR VON EUREM "HOMEPC" EINEN TEST DER CONFIG DURCHFÜHREN, DENKT DARAN, DASS ALLE PAKETE VON EUREM PC DANN GEDROPT WERDEN, AUCH SSH PAKETE:::

Gruß
SP4C3

gotthummer 26.06.2010 13:59

Super erklärt so sollte es nun wirklich jeder installt bekommen

DirtyPlaya 26.06.2010 21:27

ich hab fail2ban kommt ziemlich aufs gleiche raus

Cerberus 27.06.2010 09:43

Zitat:

Was ist Fail2Ban?

Fail2Ban durchsucht Logdateien wie /var/log/pwdfail oder /var/log/apache/error_log und blockt IP-Adressen, die zu viele fehlgeschlagene Loginversuche haben. Es aktualisiert Firewallregeln, um diese IP-Adressen zu sperren. Fail2Ban kann mehrere Logfiles lesen - beispielsweise die von sshd oder apache. Die IP-Adressen werden nach einer vorher festgelegten Zeitspanne wieder aktiviert.
wohl kaum ....
das hilft da wohl eher nicht ...

zumal fail2ban extern ist und mod-evasive auf Apache-interne Funktionen aufsetzt ...

SP4C3 27.06.2010 12:31

Genau Cerb.
mod_evasive reagiert auf unmenschlich viele Seitenaufrufe von einer IP.

fail2ban auf fehlgeschlagene Logins.

Thunder™ 27.06.2010 12:35

und beides schützt nicht vor massiven Dos Attacken,
wenn einer dos loslässt ok schafft der mod_evasive noch..
aber wenn mehere dran sind haste auch damit keine chance;)

SP4C3 27.06.2010 13:43

Ich hab auch nicht behauptet, dass du damit nen massiven DDoS abwehren kannst.
Spätestens, wenn die Bandbreite der Angreifer größer als deine ist hast du eh keine Chance, außer du schaffst es die IPs bevor sie in dein Netz geroutet werden ins Nirvana zu routen...

rodi 27.06.2010 14:26

Bei mir kommt beim apache restart immer folgende Meldung:

Code:

Restarting web server: apache2Syntax error on line 290 of /etc/apache2/apache2.conf:
DOSHashTableSize takes one argument, Set size of hash table
 failed!


SP4C3 27.06.2010 17:57

Dann schau doch mal in Zeile 290 deiner ApacheConfig, oder poste die hier...

rodi 27.06.2010 23:02

Dort steht genau das drin, was oben im Thread als erforderlich angegeben ist!

Code:

DOSHashTableSize    3097 # Größe der HostHashTabelle, Je größer desto schneller, je kleiner desto weniger Ram Verbrauch
Ich habe auch die Größe schon geändert, jedoch immer die selbe Meldung.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:04 Uhr.

Powered by vBulletin® Version 3.8.9 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.