PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fail2Ban



MannOhMann
07.12.05, 12:41
http://fail2ban.sourceforge.net/

Fail2Ban scans log files [...] and bans IP that makes too many password failures. It updates firewall rules to reject the IP address.

v. 0.6 aktuell

Rubrik: nette Admintools :)

bert2002
09.12.05, 22:04
hört sich auf jedenfall interesant an, mal anschauen!

dackel
18.12.05, 12:12
Könnte da jemand einen kleinen Erfahrungsbericht posten? Hört sich auf jeden Fall nicht uninteressant an.

Roughnecks
18.12.05, 12:37
fail2ban funzt super. habe damit meine ssh server sicherer gemacht. nach zwei falschen logins wird die entsprechende IP vom iptables für 10 minuten einfach blockiert. macht bruteforce angriffe nutzlos.
geht für ssh und apache.

ein einfaches, aber sehr wirkungvolles tool.

mianos
20.12.05, 19:51
vielen dank für diesen super tipp. funktioniert super
:D

Multe
21.12.05, 06:53
Hallo,
ich hab mir das auch mal angesehen und installiert.

Frage:
Kann man die SSH Versuche eigentlich mit gefakten IP-Adressen durchführen?
Ich sehe grad schwarz, das jemand bewusst IP-Bereiche abfährt um alle möglichen IPs zu bannen. Je nach Einstellung des Tools könnte man bestimme IP-Bereiche aussperren, z.B. den Serveradmin, wenn man seine IP kennt.
Wäre ein Riesenaufwand, ich weiss, aber theoretisch möglich?

Gruß Malte

MannOhMann
21.12.05, 12:00
Hallo,
ich hab mir das auch mal angesehen und installiert.

Frage:
Kann man die SSH Versuche eigentlich mit gefakten IP-Adressen durchführen?
Ich sehe grad schwarz, das jemand bewusst IP-Bereiche abfährt um alle möglichen IPs zu bannen. Je nach Einstellung des Tools könnte man bestimme IP-Bereiche aussperren, z.B. den Serveradmin, wenn man seine IP kennt.
Wäre ein Riesenaufwand, ich weiss, aber theoretisch möglich?

Gruß Malte

# Option: ignoreip
# Notes.: space separated list of IP's to be ignored by fail2ban.
# You can use CIDR mask in order to specify a range.
# Example: ignoreip = 192.168.0.1/24 123.45.235.65
# Values: IP Default: 192.168.0.0/16


is ja möglich zu whitelisten

Multe
21.12.05, 12:22
Setzt aber vorraus, das ich ne feste IP habe.
Ich bekomm doch jeden Tag ne andere zugewiesen. Wenn ich IP-Bereiche freigebe (z.B. von meinem Provider), könnte jemand aus dem IP-Bereich "ungeschoren" weiterspammen.
Ok, man könnte der Telekom dann zwar bescheid sagen, aber der Sinn des Programms wäre dann hinfällig.

Gruß Malte

mianos
21.12.05, 17:38
Setzt aber vorraus, das ich ne feste IP habe.
Ich bekomm doch jeden Tag ne andere zugewiesen. Wenn ich IP-Bereiche freigebe (z.B. von meinem Provider), könnte jemand aus dem IP-Bereich "ungeschoren" weiterspammen.
Ok, man könnte der Telekom dann zwar bescheid sagen, aber der Sinn des Programms wäre dann hinfällig.

Gruß Malte
das is ja nur dazu, um zum bleistift zu vermeiden, dass wenn man aus dem lokalen netz ned geblockt wird wenn mann sich jetzt 10mal vertippt.
ungeschoren weiterspammen? du blocks ja zum bleistift nach 3 versuchen...

nIght
23.12.05, 12:23
Hi,

beim Starten in den Logs von Fail2Ban bekomme ich folgendes:

2005-12-23 13:16:25,240 ERROR: Fail2Ban got an unhandled exception and died.
2005-12-23 13:16:25,241 ERROR: Type: 'ExternalError'

Ich habe jetzt mal in der Config eingestellt, dass man nach 2 Loginversuchen "gesperrt" wird. Klappt aber irgendwie nicht. Erst nach 6 Versuchen bekomme ich eine Meldung, dass der Login fuer User "XXXX" gesperrt wurde.

Sofort danach kann ich mich aber "normal" einloggen. Also wurde meine IP nicht gesperrt.

Anbei meine Config.

Vielleicht kann mir ja einer helfen :)

PS: Auf dem Server laeuft ein Gentoo. Installiert wurde F2B mittels emerge.
PPS: An der Config habe ich noch nicht viel gemacht, konnte aber auch nichts falsches finden.

bert2002
24.12.05, 13:03
Setzt aber vorraus, das ich ne feste IP habe.
Ich bekomm doch jeden Tag ne andere zugewiesen. Wenn ich IP-Bereiche freigebe (z.B. von meinem Provider), könnte jemand aus dem IP-Bereich "ungeschoren" weiterspammen.
Ok, man könnte der Telekom dann zwar bescheid sagen, aber der Sinn des Programms wäre dann hinfällig.

Gruß Malte

Kannst doch ne dyndns addresse angeben, aber ich denke wenn man 3 versuche zulaesst dann ist man auf der sicheren Seite!

P.S.: Geht bei mir Einwandfrei auf einem Debian Sarge!

MfG bert2002

Roughnecks
24.12.05, 13:48
Hi,

beim Starten in den Logs von Fail2Ban bekomme ich folgendes:


Ich habe jetzt mal in der Config eingestellt, dass man nach 2 Loginversuchen "gesperrt" wird. Klappt aber irgendwie nicht. Erst nach 6 Versuchen bekomme ich eine Meldung, dass der Login fuer User "XXXX" gesperrt wurde.

Sofort danach kann ich mich aber "normal" einloggen. Also wurde meine IP nicht gesperrt.

Anbei meine Config.

Vielleicht kann mir ja einer helfen :)

PS: Auf dem Server laeuft ein Gentoo. Installiert wurde F2B mittels emerge.
PPS: An der Config habe ich noch nicht viel gemacht, konnte aber auch nichts falsches finden.

vielleicht mal gucken, ob bei dir iptables läuft... zur not einfach mal eine firewall starten (guarddog, firestarter, was auch immer) und schauen ob richtig gefiltert wird. auch mal alle filterregeln flushen, vllt hilft das.

dass nach 6 versuchen anstatt zwei kann damit zusammenhängen, dass fail2ban nur alle x sekunden überprüft - d.h. wenn du in einer sekunde 10 versuche machst, und du in fail2ban die pollzeit auf 10 sekunden gestellt hast, kannst du 100 versuchen dich einzuloggen.
ein zweiter grund kann sein, dass iptables einfach eine zeitlang braucht, bis deine fitlerregel greift.
habe ich beides bei mir schon beobachten können.

Multe
09.01.06, 13:20
Hallo,
ich hab mir das auch mal angesehen und installiert.

Hallo zusammen,

ich hab damals das Programm installiert und in Betrieb genommen. Das Programm wollte aber nicht wie ich wollte. Zwischenzeitlich hab ich einiges probiert, es läuft aber nicht wirklich. Ich möchte die SSH Einlogversuche überwachen und unterbinden.

1.) Was habt Ihr unter syslog-target = /dev/log eingetragen? Ich benutze Suse, gilt der Link dort auch? Bzw. wo muss man nachsehen was bei meinem System eingestellt wurde.

Irgendwie loggt das Programm nicht wirklich.
Am Ende des Conf-Files habe ich

failregex = Authentication failure|Failed password|Invalid user|Ilegal user um den Zusatz "Ilegal user" erweitert, weil die fehlerhaften Versuche so benannt werden.
Gruß Malte

p.hackert
16.01.06, 12:29
Hallo,

Ich habe ein ähnliches Problem, wie Multe... Es wird nicht wirklich geloggt...
Ich bekomme bei jedem shutdown vom fail2ban fehlermeldungen vom IPTables.
Ich benutze auf meinem Test-System die OpenSuSE 10.0 mit dem OpenSSH 4.1 und dem fail2ban 0.6

Installation verlief reibungslos. das Tool lässt sich auch starten... aber ich kann mich so oft fehlerhaft versuchen anzumelden, wie ich will... fail2ban schreitet nicht ein. (habe die ignoreIP nicht übersehen und entsprechend eingestellt, dass das tool auf jeden Fall bannen müsste!)

Ich bekomme bei jedem Start von fail2ban folgende Warnung in die /var/log/fail2ban.log geschrieben:

WARNING: Restoring firewall rules...

bei jeder Beendigung des tools bekomme ich folgende Zeilen in die log gepostet:

ERROR: 'iptables -D INPUT -p tcp --dport ssh -j fail2ban-ssh
iptables -F fail2ban-ssh
iptables -X fail2ban-ssh' returned 256

Ich weiß leider absolut nicht weiter... ich wollte das tool eigenlich auf meinem Server, der mit SuSE 9.0 läuft, einsetzen, wollte allerdings erst alles genau testen und sehen, wie das tool arbeitet und was ich alles einstellen muss, damit ich das nicht direkt am Server erst alles erfahre... kann mir da jemand helfen?

Hamas
12.03.07, 08:35
Hi, muss mich mal dazu melden, weil die völlig inkompetente Bejubelung dieses Tools tatsächlich ganz oben auftaucht bei Google... hier werden wieder Tools scheinbar nur zehn Minuten lang getestet - Ihr müsst endlich mal kapieren, dass man möglichst lang sowas checken muss, bevor man sich ein Urteil dazu erlaubt - das was im ersten Moment recht interessant aussieht, kann nach einiger Zeit ganz andere negative Aspekte aufzeigen.

So ist es auch bei dieser Software. fail2ban ist zwar enorm praktisch und steigert vermeintlich die Sicherheit - zumindest auf der bruteforce-ebene. Auch können lästige Robots, die nach Lücken in PHP-Scripten suchen damit ganz gut abgewehrt werden. Allerdings, und das ist ein ganz, ganz übler Pferdefuss, ist das teil dermassen grottig programmiert, dass es für die lächerliche Funktionalität satte 120 MB im Speicher belegt, das hat sich bei mir auf mehreren Rechnern nach einiger Zeit so als normaler Verbrauch eingependelt - für einen typischen Mietserver VÖLLIG inakzeptabel - Speicher ist extrem wertvoll, da sollte man jedes MB Apache schenken, da ist so ein Speicherfresser fehl am Platz.

Wenn man das Tool mal etwas sauberer programmieren könnte, wäre vielleicht fail2ban 2.0 noch mal einen Test wert, so aber ist es eher ein ernsthaftes Problem und jeder kompetente Admin wird das Gefrickel ganz schnell wieder entfernen, wenn er nicht ganz, ganz böse angeraunzt werden will vom Chef. :mad: Das gehört ganz klar in die Kategorie "Fehler, die ich nur drei mal machen darf" - die Jubelperser von weiter oben haben jetzt also noch zwei, bevor sie sich einen neuen Job suchen dürfen.

Schöne Grüsse aus der Wirklichkeit,
Hamas

-hanky-
12.03.07, 08:48
Du hast doch sicher einen Screenshot um deine Aussage zu belegen, nicht wahr? Ansonsten verzieh dich du Witzbold und troll' woanders rum.

-hanky-

P.S.: Seltsam dass außer dir hier offensichtlich keiner dieses Problem hat :rolleyes:

baumgartner
12.03.07, 09:06
Bei mir zickt fail2ban aber auch sehr. Mal läufts, dann geht es wieder mal nicht.

Seit Anfang März lässt es sich nicht einmal mehr starten und hinterlässt auch keine Logeinträge.
Da ich es nur für SSH brauche hab ich mir schon überlegt selbst ein Skript zu schreiben...

SeeksTheMoon
12.03.07, 09:39
120MB kann ich bei Version 0.6.2 auch nicht nachvollziehen. Das Tool läuft hier eine Stunde und verbraucht folgendes:


2052k:PID
80k:/lib/libz.so.1.2.3
16k:/usr/lib/python2.4/lib-dynload/cStringIO.so
24k:/usr/lib/python2.4/lib-dynload/struct.so
16k:/usr/lib/python2.4/lib-dynload/math.so
20k:/usr/lib/python2.4/lib-dynload/time.so
16k:/usr/lib/python2.4/lib-dynload/_random.so
20k:/usr/lib/python2.4/lib-dynload/_locale.so
52k:/usr/lib/python2.4/lib-dynload/_socket.so
1140k:/usr/lib/libpython2.4.so.1.0
280k:/usr/lib/libssl.so.0.9.8
1484k:/usr/lib/libcrypto.so.0.9.8
8k:/usr/bin/python2.4
80k:/lib/libpthread-2.5.so
12k:/lib/libdl-2.5.so
12k:/lib/libutil-2.5.so
108k:/lib/ld-2.5.so
60k:/lib/libresolv-2.5.so
144k:/lib/libm-2.5.so
1164k:/lib/libc-2.5.so
36k:/lib/libnss_files-2.5.so
20k:/lib/libnss_dns-2.5.so
20k:/usr/lib/python2.4/lib-dynload/collections.so
72k:/usr/lib/python2.4/lib-dynload/cPickle.so
76k:/usr/lib/python2.4/lib-dynload/datetime.so
20k:/usr/lib/python2.4/lib-dynload/_ssl.so
24k:/usr/lib/python2.4/lib-dynload/binascii.so
28k:/usr/lib/python2.4/lib-dynload/strop.so
Auflistung erstellt mit memstat -w |grep 6196|awk '{print $1 $2}'.
6196 ist die PID von fail2ban, die aufgelisteten Libs haben mit dieser PID zu tun. Insgesamt sind das 7208.5kB, wobei die ganzen shared libs nicht ausschließlich von fail2ban, sondern noch von vielen anderen Programmen genutzt werden/werden können. Die gibts ja immer nur einmal im Speicher.
Wenn ich also nur die python-Libs berechne, dann komme ich auf 1552kB Speicherverbrauch.

Vielleicht verwendet Hamas ja die cvs-Version, die ein paar Speicherleaks haben könnte. (oder will nicht, dass seine SSH-Angriffe wirkungsvoll verhindert werden *scnr*)

MannOhMann
12.03.07, 10:31
Hmm,

wen interessiert wieviel Speicher dein Mietserver hat?

Ich verwende dieses Tool nun JAHRE in professioneller Umgebung.

bert2002
12.03.07, 12:00
Also ich kann das auch nicht nachvollziehen. Läuft bei mir auch auf mehreren Produktivserver und hab keine Probleme sondern sehe eher in den logs das es was bringt.
Nur die neue Konfiguration finde ich nicht so toll wie die alte :)

dingeling
12.03.07, 15:10
Weis der Geier was er da eingestellt hat...
Hab fail2ban seit Monaten auf unterschiedlichen Rechnern laufen, laut memstat werden aber nur 2,5MB und 5,5MB verbraucht, je nach Maschine.
Und natürlich funktioniert das Teil so wie es soll :)