Page 1 of 1

mod_evasive

Posted: Sun 17. Apr 2016, 23:31
by nikko
Hallo!

Habe festgestellt, dass mod_evasive noch gar nicht mitinstalliert und eingebunden wird. Da die Konfiguration relativ simpel ist,
sollte das Einbinden in die Keyhelp Installationsroutine - so hoffe ich - kein Drama sein.
Ist ein schönes Modul und ein wenig DOS und DDOS Prävention für den Apachen.

LG

Nikko

Re: mod_evasive

Posted: Mon 25. Apr 2016, 09:47
by nikko
Bis dieses von Keyhelp implementiert ist, hier die Anleitung für das manuelle Hinzufügen (die Admins mögen diesen Beitrag ergänzen oder korrgieren):

Voraussetzung: Frisch installiertes Keyhelp unter Ubuntu 14.04. (ich kann hier nur von Ubuntu 14.04 sprechen, da ich nur dieses nutze)

1.) Connect via Putty (o.a.) zum Server
2.) Eingeben und Ausführen

Code: Select all

sudo apt-get install libapache2-mod-evasive
3.) Normalerweise führt das Sytem die Aktivierung und der Apache einen Restart nun alleine aus -> weiter mit 4.)
3a) Ansonsten Aktivierung mit

Code: Select all

sudo a2enmod evasive
3b) Restart Apace mit

Code: Select all

sudo service apache2 restart
4.) Ob das Modul nun aktiv ist, kann mit

Code: Select all

apache2ctl -M
geprüft werden. In der Liste taucht jetzt das "evasive20_module" auf

Im Grunde ist es nun schon einsatzbereit. Ein einfacher Test zeigt es: Dazu ruft man im Browser eine Webseite (des Servers) auf und hält
die Taste F5 gedrückt. Nach kurzer Zeit wird man vom Server abgewiesen.

Re: mod_evasive

Posted: Tue 26. Apr 2016, 22:43
by codestatt
Vielen Dank für die Anleitung, nikko!

Falls man Piwik im Einsatz hat, sollte man die Limits noch etwas anpassen, sonst wird man beim ersten Aufruf des Piwik Dashboards geblockt :D Ist mir grad passiert :lol:

Die Modulkonfiguration findet man unter /etc/apache2/mods-available/evasive.conf

Info dazu gibt's hier nachzulesen: http://datenfahrt.org/wiki/blog/2014/11 ... -dashboard

Re: mod_evasive

Posted: Wed 27. Apr 2016, 07:22
by nikko
Bitte :)

Ja, wer Logs haben möchte, muss nach der Installation ein Verzeichnis anlegen mit

Code: Select all

sudo mkdir /var/log/mod_evasive
und beschreibbar machen

Code: Select all

sudo chown www-data:root /var/log/mod_evasive
.
Zudem liegt die Konfigurationsdatei für mod_evasive in /etc/apache2/mods-available/evasive.conf

Code: Select all

<ifmodule mod_evasive20.c>
   DOSHashTableSize 3097
   DOSPageCount 2
   DOSSiteCount 50
   DOSPageInterval 1
   DOSSiteInterval 1
   DOSBlockingPeriod 10             ## Sekunden der Sperre der IP
   DOSSystemCommand "echo +%s > /proc/net/xt_recent/badguys" oder "su root -c '/sbin/iptables -A INPUT -s %s -j DROP'"   ## Befehl an das System -> %s ist die SourceIP des Angreifers
   DOSLogDir "/var/log/mod_evasive"   ## Log-Verzeichnis, welches wir uns eben erstellt haben.
   DOSEmailNotify root@localhost    ## E-Mail-Adresse für Benachrichtigungen 
   DOSWhitelist 127.0.0.1           ## Lokale Anfragen zulassen!!!!!!!!!!!!!!!!!!! Hier kann man auch einzelne IP-Adressen ausschließen.
</ifmodule>

Re: mod_evasive

Posted: Wed 27. Apr 2016, 10:13
by Martin
Hallo,

ich freue mich über die Rege Beteiligung und die Konstruktiven Hinweise. mod_evasive hatten wir durchaus auch schon auf dem Schirm, nach Rücksprache mit unserem Entwickler würden wir diese Funktion in einem der nächsten Updates in KeyHelp aufnehmen.

Re: mod_evasive

Posted: Wed 27. Apr 2016, 19:19
by Jolinar
Martin wrote:nach Rücksprache mit unserem Entwickler würden wir diese Funktion in einem der nächsten Updates in KeyHelp aufnehmen.
Bitte als Modul installierbar und im Admin- bzw. User-Panel de-/aktivierbar machen.

Re: mod_evasive

Posted: Tue 10. May 2016, 15:46
by nikko
Hallo,
habe die letzten Tage etwas getestet und probiert und bin mit folgender Konfiguration ganz gut gefahren:

Code: Select all

<IfModule mod_evasive20.c>
    DOSHashTableSize    3097
    DOSPageCount        10
    DOSSiteCount        50
    DOSPageInterval     1
    DOSSiteInterval     1
    DOSBlockingPeriod   10
    DOSWhitelist        127.0.0.1
    DOSEmailNotify      meine@mail.de
    DOSLogDir           "/var/log/mod_evasive"
</IfModule>
Aber hier fehlt das DOSSystemCommand, wer es benötigt, bitte dementsprechend einfügen / verwenden.

Re: mod_evasive

Posted: Mon 30. May 2016, 14:09
by ollidroll
Hallo,
kurze Nachfrage dazu:

Verstehe ich das richtig, das folgender Befehl

Code: Select all

DOSSystemCommand  "su root -c '/sbin/iptables -A INPUT -s %s -j DROP'"
eine Regel in IPTabels erstellt, die die IP Blockt, für die in IPTables eingestellten Werte und nicht nur für 10 Sekunden (obiges Beispiel)?

Das wäre doch ziemlich gut. Oder was spricht dagegen?

Danke & Viele Grüße
Olli