fail2ban mit Suse 9.3

Mordor

Registered User
Mahlzeit allerseits

Hab mich heute daran gemacht fail2ban über diei Source Codes auf meinem vServer mir Suse zu installieren. Das ging auch ganz gut, nachdem ich endlich kapiert hatte, das ich noch ein paar Dateien in andere Verzeichnisse kopieren muss. Das Blocking der IPs wenn man eine Brute Force auf SSH fähr geht auch ziemlich gut.

Nun zur Frage:
Ist es eigentlich möglich eine Attacke über den Port 80 also Apache auch zu blocken?
Das Problem ist, dass bei mir meist in der Nacht über meine Domain immer wieder Seiten aufgerufen werden, die auf dem Server nicht existieren. Im Apache Access_log wird das dann immer mit nem 404 Fehler angegeben.
Kann ich fail2ban dazu bringen, dass er mir eine IP-Adresse, die zu oft hintereinander einen 404 produziert, blockt? Und wenn ja, wie stelle ich das am besten an. Hab das zwar schon ausprobiert, aber irgendwie funzt das ned

Gruß Mordor
 
Für Port 80 (Apache2) würde ich mod_evasive empfehlen, such mal hier im Forum. Da kannste definieren in welchen Zeitabständen einer auf den Port mit der selben Adresse mehrmals zugreifen darf :cool:
 
Soweit ich jetzt gelesen hab, ist es doch so, dass wenn ich die Mod einsetze, ich bei häufigen fragen nach einer gewissen zeit 403 Fehler produziere. Wenn jemand aber trotzdem noch anfragen schickt, gehen die ja noch zum Apache durch. Das liebste wäre mir, dass wenn jemand zu häufige Abfragen produziert, oder zu häufig 404 Fehler, dass ich ihn mit iptables via seiner IP blocken kann. So kommt er nicht an den Apache. Das wäre mir das liebste.
 
Hat auf jedenfall bis jetzt noch nicht geklappt. Wenn ich es über den SSH probieren, blockiert er mich und sperrt meine IP für 10 Minuten, wie er ja auch soll. Über den Apache funktioniert das aber ned
 
Weil es auch so gar nicht möglich ist. Woher soll fail2ban wissen, was für Anfragen gerade zwischen dem Server und dem Client ausgetauscht werden? Dafür muss schon ein Apache-Mod her, damit dieser auswerten kann, was dort an Daten ausgetauscht wird.

Stell Dir vor, Du hast eine objektreiche Webseite und Du sperrst nach dem 20. Request...

Look at the big picture, my friend!
 
Generell wäre es ja nur darum gegangen, 404 Fehler oder schnell hintereinander laufende anfrage zu blocken. Bei mir laufen in der Nacht innerhalb von 30 Sekunden teilweise über 500 Anfragen hintereinander mit 404 Antworten durch. Das kanns doch irgendwie ned sein. Ich mein 500 sind ja noch zu verkraften, was macht man aber wenns mehr werden?
 
Hallo,

hat von euch jemand eine Info wie man die ganzen 404-Errors im Apache blocken kann? Habe mod_evasive - aber das blockt ja nicht die Anfragen die einen 404 auslösen.
Stell mir das so vor: IP xyz löst innerhalb von 5 sekunden 10 404 fehler aus. apache mod_abc gibt auf alle anfragen der ip einen anderen status zurück - so das derjenige nicht mitbekommt ob es die seite gibt oder nicht.


Grüsse
Daniel
 
Letztendlich könnte man das Prinzip von fail2ban auch auf den Apache oder allgemein einen Webserver anwenden. Fail2ban liest meines wissens auch nur den Log von SSH, wertet ihn aus und entscheided anhand der Daten, ob eine IP gesperrt werden muss oder nicht.
Du brauchst dir also nur ein Script zu basteln, das den access.log beobachtet und sobald eine IP vermehrt 404s auslöst, iptables anweisen die pakete der IP zu droppen.
 
Mahlzeit allerseits

Hab mich heute daran gemacht fail2ban über diei Source Codes auf meinem vServer mir Suse zu installieren. Das ging auch ganz gut, nachdem ich endlich kapiert hatte, das ich noch ein paar Dateien in andere Verzeichnisse kopieren muss.

Kannst du mir da ein paar Tipps geben, ich hab SUSE 9.3, dafür gibt es leider kein RPM.
daher hab ich es mit python setup.py install installiert.

Gebe ich fail2ban-client start ein, schreibt er:
Code:
fail2ban-client start
2008-03-11 21:34:12,196 fail2ban.server : INFO   Starting Fail2ban v0.8.2
2008-03-11 21:34:12,196 fail2ban.server : ERROR  Unable to create PID file: [Errno 2] No such file or directory: '/var/run/fail2ban/fail2ban.pid'
ERROR  Could not start server. Maybe an old socket file is still present. Try to remove /var/run/fail2ban/fail2ban.sock. If you used fail2ban-client to start the server, adding the -x option will do it
 
Back
Top