joomla templates

Apache DoS Schutz: mod_evasive

Webseiten leiden immer wieder unter kleineren oder größeren DoS Attacken. Dabei gibt es für Apache ein Modul, dass diese Attacken in einem gewissen Rahmen effektiv abfangen kann: mod_evasive

Was kann mod_evasive?

Das Apache Modul mod_evasive kann einen Webserver gegen DoS-Angriffe / Attacken schützen und basiert im Grunde auf einer Blacklist. Dazu legt mod_evasive in einer internen Hash Tabelle die IP Adessen der Clients ab, zählt diese und verhindert innerhalb eines bestimmten (definierbaren) Zeitraumes den erneuten Zugriff. Nachdem der Aufrufer das Limit der Anfragen überschritten hat erhält er im Webbrowser/Client die 403 Forbidden Meldung und kann vorerst unter der IP-Adresse keine Inhalte mehr abrufen.

Das Schöne ist, dass wir hiermit auch BruteForce-Attacken aller Art über das HTTP-Protokoll verhindern können oder es dem Angreifer zumindest deutlich schwerer machen diese durchzuführen..

Wo gegen hilft mod_evasive nicht?

Gegen massive DoS Angriffe.
Sobald ein Angriff die gesamte Bandbreite des Servers beansprucht ist das Modul mod_evasive hilflos und kann die Angriffe nicht mehr verhindern. Hier helfen nur weitere Massnahmen auf Software-Ebene oder viel besser, Lösungen die bereits vor der eigentlichen Serverhardware zum Einsatz kommen - Stichwort Router.

Installation

 

Das benötigte Paket heißt unter Debian libapache2-mod-evasive und lässt sich gewohnt einfach über aptitude installieren.

aptitude install libapache2-mod-evasive

Während der Installation wird Apache bereits neu geladen und das Modul so aktiviert. Es macht allerdings durchaus Sinn die Einstellungen zu überprüfen und gegebenenfalls anzupassen. Dabei liefert das Modul keine eigene Konfigurationsdatei mit.

Die Standard Konfiguration sieht wie folgt aus:

<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 60
</IfModule>

Es können einige zusätzliche Parameter konfiguriert werden, darunter beispielsweise die Alarmierung per E-Mail an den Administrator oder einen auszuführenden Befehl. Vorsicht ist mit der Direktive DOSLogDir geboten. Entgegen der Vermutung handelt es sich NICHT um ein Logfile sondern um das Lockfile.

Der Entwickler vom mod_evasive hat an alles gedacht, wir können sogar eine eigene Whitelist anlegen:

DOSWhitelist 127.0.0.1
DOSWhitelist 127.0.0.*

Die genaue Bedeutung und Funktionsweise der einzelnen Direktiven lässt sich in der Dokumentation unter /usr/share/doc/libapache2-mod-evasive/README.gz nachschlagen.

Und woher weis ich ob mod_evasive funktioniert?

  Zusätzlich gibt es unter /usr/share/doc/libapache2-mod-evasive/examples noch ein Perlscript, mit dem sich die Funktionsweise testen lässt.

Wenn wir das Modul testen möchten um zu schauen wann es anschlägt oder um ein Fine-Tuning auf unsere Bedürfnisse durchzuführen können wir das Testscript aus den Quellpaketen des Entwicklers test.pl nutzen:
#!/usr/bin/perl

# test.pl: small script to test mod_dosevasive's effectiveness

use IO::Socket;
use strict;

for(0..100) {
  my($response);
  my($SOCKET) = new IO::Socket::INET( Proto   => "tcp",
                                      PeerAddr=> "127.0.0.1:80");
  if (! defined $SOCKET) { die $!; }
  print $SOCKET "GET /?$_ HTTP/1.0\n\n";
  $response = <$SOCKET>;
  print $response;
  close($SOCKET);
}

Funkwerk Aktive Antenne

Funkwerk Aktive Antenne

Produktinformationen zur Aktiven Antenne und den Möglichkeiten der UMTS-Verstärkung: www.umts-verstaerker.de

Online-Shop

Online-ShopUnser Online-Shop für Hard-, Software und Telekommunikation.

Fernwartung

fernwartung_bwLaden Sie sich hier das
Programm zu Fernwartung herunter.

unsere Telekommunikationspartner

telekom vodafone Privatkunden vodafoneGeschäftskunden alice congster o2 kabelbw