vServer fail2ban Alternative

  • also du hast fail2ban installiert, das script auf den server runter geladen, aber wie bekomme ich fail2ban dazu dieses script zu nutzten?

    Die Zeit ist wie eine verspielte Katze.

    Sie umschmeichelt einen
    und schlabbert den Tag auf wie eine Schale Milch.

    (Henry Ford)

  • du legst eine action in /action.d fest. entweder schreibst du eine neue conf oder passt eine vorhandene an. Ich bin faul ich hab eine angepasst. Dort legst du bei actionban fest was passieren soll ( deinscripname <ip> add ) und bei unban das gleich nur mit delete.
    in der jail.conf legst du den Verweis auf deine action.conf fest
    dann sollte es eigentlich schon funktionieren

  • hallo,
    irgendwie bekomme ich das mit der config & der syncronisation mit openvcp nicht wirklich gebacken. aber der reihe nach. ich habe das modifizierte script von seite 3 von dem thread als sync.sh in /etc/fail2ban/action.d geworfen, angepasst und rechte gesetzt. & eine neue sync.conf angelegt. diese sieht dann so aus:



    danach noch schnell die jail.config angepasst:



    soweit so gut! leider passiert gar nichts! wenn ich testweise 10x nen falsches proftpd pw eingebe schreibt der das zwar brav in die log datei, aber es werden keine einstellungen in der openvcp-fw übernommen.

    kann mir jemand nen tipp geben, was ich falsch gemacht habe bzw. wie das script zum laufen zu bewegen ist??

    danke & mfg
    jkn

  • hallo,
    ok ... habs gefunden... problem war wohl der fehlende pfad! :D fuer alle die auch etwas unerfahren am rumprobieren mit fail2ban sind, die hoffentlich richtige neue config, muss dann so aussehen:

  • Mein Script liegt unter /usr/bin/, dann kannst Du auf den Pfadnamen verzichten. Ich habe im Teil des Scriptes, der die Regel wieder löscht, noch eine Anpassung vornehmen müssen, wie ist das bei Dir?


    Grüße, Oldsnap

  • hmm... soweit war ich zu dem zeitpunkt noch nicht mit der überprüfung. aber du hast recht, mit dem standartscript werden die firewalleinträge bei unban durch fail2ban nicht gelöscht.

    was musstest du anpassen, damit der spass funktioniert hat?

    danke
    jkn

  • Probier es mal so:


    [PHP]#regeln löschen
    curl -b openvcpcookie.txt -o openvcpfirewall.txt --url https://www.vservercontrolpanel.de/index.php/user/firewall/$servername
    grep -C "1" -e "$1" openvcpfirewall.txt | grep -o -e "value\=\"[[:digit:]]*\"" | grep -o -e "[[:digit:]][[:digit:]][[:digit:]]*" | while read; do
    ID="$REPLY"
    curl -b openvcpcookie.txt -d "rule[$ID]=$ID&delete=$delrule" --url https://www.vservercontrolpanel.de/index.php/user/firewall/$servername/submit
    done
    rm openvcpfirewall.txt
    fi


    [/PHP]
    Die grep-Funktion tut sich mit den Rückgabewerten etwas schwer. Probier's mal aus.


    Oldsnap

  • hab grad mal nachgeschaut, es liegt an den neuen Firewallregel-Auswahlfeldern. Durch die Options kann die Grep-Funktion den Regel-Index nicht mehr finden. Hab ich noch gar nicht gemerkt. Werd mich die Tage mal ransetzen.

  • danke! das wäre super!

    wenn man schon auf den vservern keine vernuenftige komplettloesung wie CSF (ConfigServer Security & Firewall) auf iptables basis installieren kann, waere sowas generell eine gute ergänzung zum netcup angebot.

    mfg
    jkn

  • Nur falls es einer wissen will, ich hab die Anpassungen schon lange gemacht:D
    Ich hab auch noch hinzugefügt das das Script Aktionen nacheinander ausführt, sonnst kann es vorkommen das bei viel Aktivität 10 oder mehr Instanzen gleichzeitig an der Firewall rumfummeln und ich weiß nicht ob es denn noch richtig funktioniert.


    Edit: Neue Version hier.

    Neun von zehn stimmen in meinem Kopf sagen ich bin nicht verrückt, die zehnte summt die Melodie von Tetris.

  • Hallo Stachi,


    danke ! Ich hab aber noch eine Frage dazu. Bei lief das Script zum löschen nicht. Nach einigem herumprobieren (nachdem ich mir die -grep-Ergebnisse angesehen hatte) bin ich auf folgende Lösung gekommen:


    PHP
    #regeln löschen
            curl -b openvcpcookie.txt  -o openvcpfirewall.txt --url https://www.vservercontrolpanel.de/index.php/user/firewall/$servername
            grep -C "1" -e "$1" openvcpfirewall.txt | grep -o -e "rule\[[[:digit:]]*\]" | grep -o -e "[[:digit:]][[:digit:]][[:digit:]]*" | while read; do
                    ID="$REPLY"
                    curl -b openvcpcookie.txt -d "rule[$ID]=$ID&submit=$delrule" --url https://www.vservercontrolpanel.de/index.php/user/firewall/$servername/submit
            done
    fi

    Woran kann es liegen, dass das Originalscript bei mir nicht läuft ?


    Oldsnap

  • hallo ihr beiden,
    also das angepasste script von stachi läuft bei mir super aufm testserver. :D


    nu bin ich nur noch bissel am rumprobieren um den ganzen w00-kram etc. in die badhosts aufzunehmen & draussen zu halten.


    bis später
    jkn


  • Ich hab keine Ahnung warum es nur so bei dir geht. Mein Script sucht nach einer beliebig langen Zahl. Deins sieht so aus als würde es nach mindestens einer 2 Stelligen Zahl suchen was bei neu eingerichtet Firewalls Probleme macht, denn die fangen mit 1 an zu Zählen.


    Zitat von jkn

    hallo ihr beiden,
    also das angepasste script von stachi läuft bei mir super aufm testserver.


    nu bin ich nur noch bissel am rumprobieren um den ganzen w00-kram etc. in die badhosts aufzunehmen & draussen zu halten.


    bis später
    jkn


    Guck mal hier.

    Neun von zehn stimmen in meinem Kopf sagen ich bin nicht verrückt, die zehnte summt die Melodie von Tetris.

  • ich hab mal noch ne andere frage zu dem script: und zwar wollte ich von http://www.countryipblocks.net…ry-blocks/select-formats/ gleich paar länder komplett aussperren, egal ob die nun auf port 80 oder was auch immer zugreifen wollen. die auf der seite generierte liste ist ja nicht gerade kurz. gibts da auch noch irgend einen weg ne standard blacklist-datei mit deny.hosts bzw. gleich mit dem openvcp-fw zu syncronisieren bzw. aktuell zu halten???

    danke & mfg
    jkn

  • nur nochmal kurz zur erläuterung: ich habe quasi ne lange liste von ip-adressen, die ich bei zugriff einfach ne zeit lang pauschal blocken will. die sieht dann in ungefaehr so aus:


    ## Country: CONGO, THE DEMOCRATIC REPUBLIC OF THE
    # ISO Code: CD
    # Total Networks: 9
    # Total Subnets: 15,872
    41.79.232.0/22
    41.189.192.0/19
    41.190.80.0/22
    41.215.252.0/22
    41.222.196.0/22
    41.222.216.0/22
    41.223.104.0/22
    193.110.104.0/23
    196.22.8.0/22


    nun soll das gute fail2ban einfach diese liste mit den access-logs vergleichen und wenn die ip auf der liste ist, diese an die openvcp-fw übergeben und blocken. fuer iptables gibts da ja ganz gute scripte um solche blacklists zu pflegen. nur leider haben wir diese möglichkeit ja nicht auf den vservern! :(


    danke fuer eure tipps & by
    jkn

  • tolles script :)


    wobei ich lieber eine definierbare zeit eintragen würde, nachdem die ban's wieder gelöscht werden, vor allem um das ganze in einen täglichen cronjob laufen zu lassen.


    wäre das nicht optimal?

  • hallo,
    kann es sein, dass netcup was am openvcp-firewall geändert hat & nun von fail2ban keine regeln mehr geschrieben werden koennen??? :confused: jedenfalls is das bei mir seit ein paar tagen der fall! wie sieht das bei euch aus & was muesste an dem script angepasst werden, damit es wieder funktioniert??


    thx
    jkn