Server mit Fail2Ban absichern

  • Ich hatte eine ganze Zeit lang verschiedene Stufen für z.b. den SSH Dienst. Vor einiger Zeit habe ich dann die Optionen


    bantime.increment
    bantime.multipliers


    Für mich entdeckt. Damit habe ich nun für alle Dienste eine gesetzt Standard bantime, welche sich bei häufigeren Treffern erhöht. Wie sich dies langfristig macht, muss sich noch zeigen.

    wie und wo stellt man so was ein? sind das variablen in fail2ban.conf selbst?

  • wie und wo stellt man so was ein? sind das variablen in fail2ban.conf selbst?

    Ich habe die jail.conf zu jail.local kopiert und dort die beiden Parameter eingestellt. Diese sind ab fail2ban 0.10 verfügbar und sollten mit entsprechender Erklärung in der jail.conf stehen. Konkret habe ich

    Code
    bantime.increment = true
    bantime.multipliers = 1 5 30 60 300 720 1440 604800

    gesetzt. Man kann auch noch

    Code
    bantime.rndtime

    setzen, um bei der bantime einen Zufallswert hinzu zu fügen. Das soll schlaue Bots davon abhalten die genaue bantime zu erraten. Ob das aber tatsächlich etwas bringt bezweifel ich. Und sollte sich ein Kunde Mal aussperren, sind feste Sperrzeiten besser zu vermitteln, als "zwischen x und y".

  • nach dem wir in anderem thema uns mit fail2ban etwas für qmail hinzugefügt haben, ist mir aufgefallen das evtl irgendwas mit meinen filtern nicht stimmt den wenn ich fail2ban-regex aufrufe kommt das:


    hat es was mit der verion von fail2ban zu tun und das die filter immer wieder mitgegangen sind von system zu system

    meine filter kommen hier aus dem thema, alles was wir so für pd-admin in laufe der zeit hier zusammengestellt/gesammelt haben

  • Der Fehler sieht mir danach aus, dass der Filter nicht korrekt verarbeitet werden kann. Vermutlich wird in der pdsmtp-qmail.conf ein Fehler sein. Oder irgendwas inkompatibel zu der fail2ban Version sein. Wie sieht denn die pdsmtp-qmail.conf aus?


    Davon mal ab liefert Fail2ban bereits eine Filterdatei für qmail mit (filter.d/qmail.conf). In meinen Augen muss man sich gar nicht die Mühe machen und eine eigene Datei erstellen. Es ist viel einfacher die vorhanden Filter zu erweitern. Einfach den jeweiligen Filter von .conf in .local kopieren und editieren. So ist die Konfiguration bei Updates sicher. Dieses Vorgehen wird auch von den Entwicklern empfohlen.


    Ich würde daher einmal die Filterzeile

    Code
    User [-/\w]+.*(?:[a-z]{2,6}): smtp-auth login failed from <HOST> \(no such user\)

    in die kopierte qmail.local einfügen und damit fail2ban-regex ausführen.

  • das ist die aktuelle, aber damit bannt der fail2ban aber trotzdem


    ich habe jetzt so gemacht:

    und das sind die fehler

    ich hatte gestern noch gedacht ob es evtl an der python version liegen kann

  • Ich denke nicht, dass es an der Python Version liegt. wenn alles über den Packetmanager installiert wurde, sollten alle notwendigen Abhängigkeiten vorhanden sein.

    Gibt es mit anderen Filtern die gleichen Probleme? Tritt der Fehler auch mit dem qmail Originalfilter, ohne die hinzugefügte Zeile, auf? Wegen

    IndexError: string index out of range

    nehme ich eher an, dass etwas mit dem Filter nicht passt.

  • damals habe ich gesetet und alle von mir erzeugten filter hatten den selben fehler/ausgang

    nach deiner nachricht eben wollte ich mal testen oder besser gesagt gucken wo die unterschiede sind zu "original" filtern und habe das hier gefunden

    Code
    [INCLUDES]
    
    before = common.conf

    das sitzt in der qmail.conf oberhalb der eigentlichen definition

    habe meine .conf dann um den abschnitt erweitert, und sieht da, fehler sind weg