Frage zu fail2ban

Azurel

Member
Ich überlege mir fail2ban zu installieren, da doch sehr viele versuchen auf dem Server einzubrechen. Zusätzlich suche ich eine Möglichkeit zu viele Seitenrequests ebenfalls zu blocken. Ist das mit fail2ban auch möglich? Ich fand dazu bisher nichts sinnvolles.

Ich meine damit sowas; Wenn ich mir die unique IP einer access_log anschaue, sehe ich dass dort zum Beispiel eine IP in nicht mal 2h über 20.000 Seitenaufrufe gemacht hat. Exportiere ich diese Zeilen in eine extra Datei, damit ich genauer einsehen kann, was da gemacht wurde. Muss ich erkennen, dass jemand einen Downloader laufen lässt, der versucht die Seite runter zu laden(zu archivieren). Ich würde daher solche IPs gern für x Stunden sperren.
 

Azurel

Member
Danke für die Antwort. Klingt gut, aber hat vermutlich ein Problem. Ich nutze centOS 6.5 mit Plesk 11.5.30. Und Plesk hier stellt das Problem dar, soweit ich weiss löschen Plesk die iptables, wenn die IP nicht über das Webinterface in die Firewall eingegeben wurde. Heisst vermutlich, dass regelmäßig (stündlich?) Die Bans entfernt würden. Ich meine sowas gelesen zu haben.

Ich sehe das der Mod seit über 3 Jahren nicht weiterentwickelt wurde:
http://www.zdziarski.com/blog/?page_id=442

Auch lese ich gleich im zweiten Kommentar ein ernstes Problem mit Ajax-Requests.

Was ist eigentlich der genaue Unterschied zu mod_security. Beides scheint ja das gleiche zu machen. Ich kann leider aus dem Text hier http://wiki.ubuntuusers.de/Apache/mod_security den Unterschied nicht rauslesen.
 

JaEgErmEistEr

Registered User
Wenn du Plesk hast könntest du auch über Bandbreitenbeschränkung die Verbingunsbeschränkungen aktivieren. Das ist pro Domain einstellbar.
 

Azurel

Member
Das ist ein guter Tipp. Ich habe nur zwei Probleme damit.

1. Ich habe die Componente unter Plesk 11.5 installiert, aber ich sehe diese hier nicht: https://manage.grabweb.net/~img/plesk11.5/reseller/Subscriptions/webanddomains/bandwidthlimit/6bandwidthlimit.jpg

2. Wie du selbst sagst, scheint man darüber nur die Verbidnungen pro Domain einstellen zu können. Warum? Laut dieser Seite hat der Mod wesentlich bessere Feature: http://linuxpoison.blogspot.de/2012/02/setup-and-configure-bandwidth-limiting.html

Mich würde daher sehr interessieren, ob und wie man da:
* per-user bandwidth limiting
* Maximal download speed (bandwidth throttling)
* Maximal requests-per-second speed
* Maximal simultaneous IP connections
unter Plesk 11.5 einstellen kann. So das die Einstellungen durch Updates auch nicht überschrieben werden.
 

s24!

Registered User
Was ist eigentlich der genaue Unterschied zu mod_security. Beides scheint ja das gleiche zu machen.
Nein, mod_security ist in erster Linie eine kleine Web Application Firewall. Es kann mithilfe entsprechender Regeln / regulärer Ausdrücke bekannte Exploits erkennen und blockieren.

mod_evasive funktioniert übrigens nicht mit dem mpm_itk, da er seinen Speicher im jeweiligen Worker-Prozess hat - und da mpm_itk je Request einen neuen forkt, kann da nicht viel bei rumkommen. ;)

Generell halte ich von Flooding-Begrenzung im Apache offen gesagt nicht viel. Wenn der Apache sich einem Request angenommen hat, ist es von der Performance her schon zu ~ 50% zu spät (je nach dem, was danach noch an PHP und/oder MySQL so kommt). NGINX kann das deutlich besser, wobei du hier sowohl ein Skript (oder halt sowas wie fail2ban) auf das Logfile ansetzen als auch NGINX-eigene Techniken verwenden kannst. Angefangen beim (vergleichsweise) simplen HttpLimitReqModule bis hin zu eigenem LUA-Code, der noch mal sehr viel flexibler ist.


Grüße
Tim
 

Azurel

Member
Danke für die Erklärung. Gibt es für Apache oder am besten für den Server selbst, wirklich keine sinnvolle Lösung automatisch IPs zeitweise zu blocken, welche in einem kurzen Zeitraum sehr viele Requests anfordern?
 

Steven23

New Member
Ich nutze centOS 6.5 mit Plesk 12 und habe fail2ban installiert. Funktioniert super, kann ich nur empfehlen...
 
Top