Fail2Ban Script für die VCP API

  • Da hätte ich glatt noch einen Vorschlag :)


    Ich fände eine Option sinnvoll, die es ermöglicht, bei einer Anzahl x an Regeln, die auf ähnliche IP-Netze hinweisen, ein Subnetz zu sperren.


    Bei mir ist es so, dass diverse IPs ähnlich sind.
    Also zum beispiel:


    91.236.74.161
    91.236.74.165
    91.236.74.173


    nun wär es gut, wenn eine Regel erstellt werden würde, die einfach beispielsweise 91.236.74.0/23 ausschließt.
    Ich hoffe, dass das programmiertechnisch kein kaum zu bewältigender Aufwand ist und würde mich über eine implementierung sehr freuen :)

  • Zu Github:
    Ich bin der Meinung das sich das nicht lohnt. Das Script ist so gut wie stabil und "fertig". Für ein paar kleine Korrekturen lohnt sich das nicht extra ein Github Projekt zu eröffnen.


    SiGa
    Wenn Du wirklich noch viele gute Ideen hast, dass sich das lohnt, würde ich Dir einen Zugang zu meinem GIT einrichten. Ansonsten kannst Du gerne das Script forken und selbst dran rum basteln. ;) Bitte dabei die Lizenz beachten.


    Zum Subnetze sperren:
    Das ist eine Problemstellung für Fail2Ban, nicht für mein Script. Ich müsste im Script mitloggen welche IPs wann gesperrt wurden und auf diese Daten dann Analysen durchführen und die gemeinsamen Netze ermitteln. Davon bekäme F2B aber nichts mit. Der würde weiterhin einzelne IPs sperren und auch nur einzelne IPs wieder freigeben.


    Deswegen halte ich persönlich von der Idee nichts.
    Wenn Du magst kannst Du das ja selbst implementieren.


    Kommendes Wochenende habe ich wieder ein bisschen Luft, dann werde ich das Script von der Qualität noch ein wenig überarbeiten und die Kommentarfunktion einbauen. Wer noch Ideen hat kann sich bis dahin ja noch melden. ;)

  • Hallo Sim!
    Für meine Zwecke macht dein Script genau dass, was ich wollte.
    Die Kommentarfunktion ist ja nett aber die Logs empfinde ich hilfreicher, zumal ja die Banns in der Firewall wieder verschwinden.
    Für mich hat das Script keinen Betastatus mehr, da es jetzt verlässlich läuft.
    Du hast übrigens das Ganze auch gut Dokumentiert.
    Das dürften sogar noch Anfänger verstehen.
    Gruß Jörn

    Zitat

    Webhosting Spezial Mini Aktion +++ Webhosting 8000 SE Aktion

    VPS 200 G8 +++ Root-Server Spring 2019

  • Die Kommentarfunktion ist ja nett aber die Logs empfinde ich hilfreicher, zumal ja die Banns in der Firewall wieder verschwinden.

    Also ich habe noch so wenig rauschen auf meinem Server, aber dafür einige "Angreifer" die auch nach 24h Sperre fast sofort wieder auftauchen, so das ich keine Unban-Regel definiere, und die gesperrten IPs wieder von Hand lösche (meist erst nach Tagen oder sogar Wochen). Desweiteren habe ich nicht immer die Möglichkeit über SSH zuzugreifen, könnte dann mit der Kommentarfunktion aber per VCP sehen warum jemand gesperrt wurde, und wenn es mir wichtig erscheint, schnell einen Ort mit SSH-Möglichkeit aufsuchen. Daher kommt mein Interesse an einer erweiterten Kommentarfunktion (welche, so glaube ich, nicht sehr aufwendig in der Umsetzung ist).

    9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die letzte summt ständig die Melodie von Tetris.

  • Hallo Sim!
    Vielen Dank!
    Ich habe jetzt mal die neue Version auf dem neuen Server eingebaut und auf dem alten habe ich die andere Version gelassen.
    Dann sehe ich ob es einen Unterschied macht :)
    Bin mal gespannt.
    Gruß Jörn

    Zitat

    Webhosting Spezial Mini Aktion +++ Webhosting 8000 SE Aktion

    VPS 200 G8 +++ Root-Server Spring 2019

  • Danke für das Update!


    Was passiert eigentlich, wenn die 100 Regeln (sofern ich richtig informiert bin) vollgeschrieben sind?
    Wird dann die älteste durch die neue ersetzt oder wird dann einfach weiter der zugriff möglich sein?


    So langsam mach ich mir nämlich Gedanken, wie mein weiteres Vorgehen ist, wenn die Firewall überläuft.

  • F2B würde einfach stupide weiter machen. Wie ich weiter oben schon mal geschrieben habe, würde ich nur ungerne eine solche Logik in das Script einbauen. F2B bekommt von solchen Prüfungen nichts mit. Es würde dann wieder "already banned" Meldungen im Log hageln.


    Ich könnte mir aber eine Email Benachrichtigung vorstellen, die ab X Regeln eine Alarm-Email versendet oder so. So könnte man als Admin eingreifen und händisch ganze Subnetze sperren, wenn es nötig wird. Das selbe ist ja auch für Fehlermeldung geplant, die von der API kommen.


    Wo genau das Limit ist weiß ich aber nicht.

  • Moin, moin!


    Das Script verrichtet seine Arbeit ordnungsgemäß!
    Dadurch, dass ich aber keine Standardinstallation (Image) habe und weitere Filter benötige, die nicht Standard sind, musste ich sowohl iptables.conf und iptables-allports.conf unter action.d ebenso anpassen, wie iptables-multiport.conf.


    Ist es aber möglich, im Kommentar den Namen des Filters anzugeben und nicht, dass der Ban von fail2ban kommt?


    Die meisten werden ihre FW-Konfiguration kennen und auch erkennen von wo der Ban kommt. ;)
    Ich bilde mir aber ein, die Information welcher Filter gegriffen hat, macht die Sache übersichtlicher, als in die Logs schauen zu müssen.

    Schöne Grüße aus der Lüneburger Heide!
    Thomas

  • Du kannst den Kommentar wie in meiner Anleitungs-PDF beschrieben beliebig erweitern in dem du hinter dem DROP einen beliebigen Text angibst.

    Code
    php -f fw.php add INPUT 42.42.42.42 DROP "ein beliebiger text"


    Wichtig sind nur die " damit alles als ein Parameter erkannt wird. Ansonsten wird nur das erste Wort nach dem DROP als Kommentar verwendet. ;)

  • Hmmm, da war mein Vorschlag mit den Kommentaren wohl doch nicht sooo schlecht. Bin scheinbar nicht der einzige der diese einsetzen möchte.


    Ich werde das Script auf meinem Server heute abend aktualisieren und alles mal wieder testen. Auf alle Fälle vielen Dank an SIM für seine Mühe.

    9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die letzte summt ständig die Melodie von Tetris.

  • nabend


    Ich habe vorhin festgestellt das ich dämlig bin....
    Ich hatte mich gewundert das in der Log immer

    Code
    2012-09-23 06:26:03,408 fail2ban.actions: WARNING [ssh] 46.38.232.136 already banned
    2012-09-23 06:26:07,413 fail2ban.actions: WARNING [ssh] 46.38.232.136 already banned
    2012-09-23 06:26:11,417 fail2ban.actions: WARNING [ssh] 46.38.232.136 already banned
    2012-09-23 06:26:15,421 fail2ban.actions: WARNING [ssh] 46.38.232.136 already banned
    2012-09-23 06:26:18,425 fail2ban.actions: WARNING [ssh] 46.38.232.136 already banned
    2012-09-23 06:26:22,428 fail2ban.actions: WARNING [ssh] 46.38.232.136 already banned


    steht...
    habe in der datei iptables-multiport.conf

    Code
    actionunban = php -f /etc/fail2ban/nc_firewallapi_beta.php add INPUT "<ip>" DROP "Komentar"


    geschrieben anstelle von actionban.
    nun habe ich den Aktuellen Script hochgeladen und den fehler behoben aber es kommt immernoch already banned obwohl nix in der Firewall steht.
    Woran kann das liegen?
    mfG Das UFO

    Die apocalypse der Deutschen Rechtschreibung ;)
    GIDF.DE Google ist dein Freund! :D

  • ... hatte ich erwähnt das ich dämlig bin?



    Ich hattte File2ban neu gestartet und dan versucht per SSH als Root anzumelden (root anmeldung ist aus)


    Dan hat er mich gespert. Ich habe die Sperrung manuell gelöscht von daher hatte es beim 2 mal nicht funktioniert da der Script meine IP ja schon gespert hatte und ich diese manuel gelöscht habe...


    Ich habe grade nochmal in die Logs geschaut und muss sagen jetzt funktioniert es Super :) :thumbup: :thumbup:



    Das einzige womit ich aufen Kriegsfuss stehe sind die Fierwall regeln...

    Die apocalypse der Deutschen Rechtschreibung ;)
    GIDF.DE Google ist dein Freund! :D

  • Hej ho


    Script läuft super Fierwall ist kake.... :cursing:


    Code
    2012-09-29 15:07:32,025 fail2ban.actions: WARNING [ssh] 46.38.232.136 already banned
    2012-09-29 15:07:38,031 fail2ban.actions: WARNING [ssh] 46.38.232.136 already banned
    2012-09-29 15:07:44,037 fail2ban.actions: WARNING [ssh] 46.38.232.136 already banned
    2012-09-29 15:07:51,042 fail2ban.actions: WARNING [ssh] 46.38.232.136 already banned
    2012-09-29 15:07:58,049 fail2ban.actions: WARNING [ssh] 46.38.232.136 already banned
    2012-09-29 15:08:04,054 fail2ban.actions: WARNING [ssh] 46.38.232.136 already banned
    2012-09-29 15:08:11,061 fail2ban.actions: WARNING [ssh] 46.38.232.136 already banned
    2012-09-29 15:08:16,066 fail2ban.actions: WARNING [ssh] 46.38.232.136 already banned
    2012-09-29 15:08:23,073 fail2ban.actions: WARNING [ssh] 46.38.232.136 already banned


    Der Script hat die FW regel angelegt und er ist im VCP unter FW zu sehen aber denoch wird diese ip durch den FW nicht gespert... Warum?




    Ach diese beiden IP sind gespert im FW...
    Was brigt ein FW wer nicht das tut was man ihm sagt?

    Die apocalypse der Deutschen Rechtschreibung ;)
    GIDF.DE Google ist dein Freund! :D