vServer fail2ban Alternative

  • ja, so soll es sein wenn es funktioniert...


    nehm das script und rufs so auf:


    ./scripname.sh 192.168.1.1


    du musst ihm eine ip als parameter mitgeben, danach kannst du dich per browser im vservercontrolpanel einloggen und du siehst dann die geblockte ip unter firewall

  • Das hab ich ja schon probiert, fügt im VCP aber keine IP hinzu.
    Ich glaube aber zu meinen, woran es liegen kann (hängt mit PW zusammen), werde mal meine Problemlösung probieren^^


    Edit: Ja, lag an mir. Mir ist nicht aufgefallen, dass ein $ im Passwort drinnen war, somit ging das PW nie ^^
    Habe nun ein neue generiertes Passwort verwendet.


    Danke für die Hilfe :)

  • oncp;3198 wrote:

    ... Edit: Ja, lag an mir. Mir ist nicht aufgefallen, dass ein $ im Passwort drinnen war, somit ging das PW nie ^^
    ...


    Wenn das Passwort Sonderzeichen (hauptsächlich Dollar und Backtick) enthält, so musst du diese einfach nur quoten... also ein "Backslash" vor setzen. Schon klappt's :-)


    Aus

    Code
    1. password="bla$123"

    machst du einfach

    Code
    1. password="bla\$123"
  • tux;3209 wrote:

    Wenn das Passwort Sonderzeichen (hauptsächlich Dollar und Backtick) enthält, so musst du diese einfach nur quoten... also ein "Backslash" vor setzen. Schon klappt's :-)


    Aus

    Code
    1. password="bla$123"

    machst du einfach

    Code
    1. password="bla\$123"


    prinzipiell für scripts richtig, jedoch fraglich ob es auch mit den urls funzt (da es per get übergeben wird), ich bezweifle mal, das es funzt... (charset usw.)

  • Curl ist recht "intelligent" und konvertiert die Strings entsprechend. Habs mit deinem Scripts nicht getestet (da von mir nicht genutzt), hab aber vor Jahren ein ähnliches Problem gehabt und war recht dankbar das Curl so "clever" ist.

  • tux;3211 wrote:

    Curl ist recht "intelligent" und konvertiert die Strings entsprechend. Habs mit deinem Scripts nicht getestet (da von mir nicht genutzt), hab aber vor Jahren ein ähnliches Problem gehabt und war recht dankbar das Curl so "clever" ist.


    Wollte ich auch schon probieren, da es ja bei anderen Programmiersprachen auch so ist, hab ich dann aber gelassen, weil es sowieso Zeit für ein neues Passwort war :)

  • Auch wenn schon etwas älter hab ich da mal ne Frage.


    Werden die IP so unbegrenzt gespeichert? Wäre ja schlecht, weil die IP's ja aus einem Pool kommen und nicht jeder jedes mal die gleiche IP hat.


    Kann es leider noch nicht testen weil meine Firewall noch nicht freigeschaltet wurde.

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

  • Selbst Zitat

    stachi;4908 wrote:

    Auch wenn schon etwas älter hab ich da mal ne Frage.


    Werden die IP so unbegrenzt gespeichert? Wäre ja schlecht, weil die IP's ja aus einem Pool kommen und nicht jeder jedes mal die gleiche IP hat.


    Kann es leider noch nicht testen weil meine Firewall noch nicht freigeschaltet wurde.


    Hab mir das ganze jetzt mal an geguckt. Soweit ich gesehen hab bleiben die IPs drin. Man müsste das Script so erweitern das man wieder Regeln löschen kann. Ich stoße dabei nur auf ein Problem. Das löschen der Regeln läuft über eine fortlaufende ID nicht über die IP.


    Der Befehl sieht so aus:

    Code
    1. rule%5BID%5D=ID&delete=Regeln+l%F6schen


    Wobei ID halt für diese Fortlaufende Nummer steht die jede Regel bekommt.


    Alles kein Problem das Script so anzupassen das es diese Aktion durchführt. Nur ich habe keine Ahnung wie ich raus bekommen soll welche IDs eine IP hat. Geht bestimmt indem man die Seite lädt und sie mit grep durchsucht, aber soweit reichen meine Kenntnisse damit nicht:(

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

  • Habs mittlerweile mit viel googeln hin bekommen. Wenn Interesse dran besteht einfach fragen.

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

  • Ja das kann das Script. Es ist eine erweiterte Version des ersten Scripts. Mit "scriptname IP add" werden IPs hinzugefügt und mit "scriptname IP del" wieder gelöscht. Dadurch sollten auch zeitlich begrenzte Bans mit fail2ban kein Problem mehr sein.


    Das suchen der IDs erfolgt mit grep in 3 schritten. Zuerst werden alle Zeilen gesucht die die IP enthalten. Dann werden diese Zeilen auf value="id" zusammengefasst und zu Letzt bleiben nur noch die Zahlen übrig.
    Geht bestimmt viel einfacher, aber es funktioniert tadellos:)


    Edit: Neue Version hier.

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

  • also da ich fail2ban nur für sshd verwende, und dieser die hosts.deny wrappt, hab ich mein fail2ban einfach angewiesen die IPs über hosts.deny zu blocken..


    ist denke ich unkompliziertier als sich mit curl ins vcp einzuloggen etc..
    darüber hinaus werden die ips bei mir 6h geblockt wenn ich mich recht erinnere, und das schon nach 2 versuchen


    mfg
    talynrae

  • Hallo,


    bin auch neu hier und habe eine Frage zur Firewall im Zusammenhang mit dem beschriebenen Script. Das Script funzt ja super -Dank an den Ersteller !!!-
    Nur hab ich meine Firewall so eingerichtet, dass http(s), ftp, pop3, und ssh
    freigegeben sind und alles andere gesperrt. Das wollte ich auch so lassen (die Sperrung aller anderen Ports). Nur leider greifen die neuen Regeln so leider nicht. Gibt es bei der Einstellung der Firewall eine andere Möglichkeit?


    Grüße, Oldsnap