Mario: Angriff durch Brutforce verhindern

Hallo.
Ich möchte einen Paßwortgeschützten Bereich auf meiner HP einrichten. Das PWD Skript ist kein Problem. Einzig und allein eins macht mir Sorgen: Dieses Skript könnte man per Brutforce knacken. Wie kann ich mein Skript modifizieren, daß dies nicht mehr geht. Eine Möglichkeit wäre ja die IP mit nem Zeitstempel in ner Datei zu speichern, dann abgleichen und bei zu vielen Zugriffen in einer bestimmten Zeit das System dicht zu machen. Gibt es andere Alternativen, die ggf. einfacher zu programmieren sind bzw. weiß jemand, ob es dazu ähnliche Skripte gibt? Eine Suche meinerseits war bisher noch nicht sehr erfolgreich.
Gruß, Mario.

  1. Hallo,

    die einfachste Lösung heißt

    sleep(2);
    und genügend lange Loginnamen und Passworte

    Kannst ja mal ausrechnen, wei lange es dauert, (26+26+10+x)^8 Möglichkeiten durchzuprobieren. Wenn der Anmeldename nicht mit dem Usernamen übereinstimmt und ebenfalls wie ein Passwort behandelt wird (Länge, Zeichen, Nichtanzeige) dann sind es ja sogar noch viel mehr Möglichkeiten, sodass ich die Gaussche Verteilung und social Engeneering für die Treffer mal vernachlässige.

    Ich hatte am Anfabg für die User einen Zähler drin, der die Fehlversuche pro Anmledenamen gezählt hat. Leider gibt es dann immer Ärger mit den Usern, wenn irgendwelche Spaßvögel ihren Account durch bewusste Fehlversuche mal wieder gesperrt haben.

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
  2. Hi Mario,

    Einzig und allein eins macht mir Sorgen: Dieses Skript könnte man per Brutforce knacken. Wie kann ich mein Skript modifizieren, daß dies nicht mehr geht.

    naja, wenn jemand Dein Skript mit 2.4*10^24 Anfragen befeuert, dann dürfte es eher eine Denial of Service Attacke werden als eine Brute Force. Der Webserver würde IMHO so viele Anfragen gar nicht verkraften und in die Knie gehen, bevor das Passwort geknackt ist.

    Ich glaube nicht, daß man über HTTP eine Brute Force machen kann. Aber um ganz sicher zu gehen, wäre die Idee mit dem IP-Cache samt Zeitstempel meiner Meinung nach die Beste.

    viele Grüße
    Achim Schrepfer

  3. Huhu Mario

    Du könntest zu jeder Benutzerkennung einen Status "aktiv/ nicht aktiv"
    speichern. Weiterhin zu jedem Benutzernamen die Anzahl der fehlerhaften
    Login-Versuche.
    Wenn die Fehler einen bestimmten Wert überschreiten (z.B. 3 oder 5 Mal) wird der Status auf "nicht aktiv" gesetzt (d.h. diese Benutzerkennung ist ungültig geworden).
    Bei einem gültigem Login wird der Zähler wieder auf 0 zurückgesetzt.

    so short ...

    Viele Grüße

    lulu

    --
    bythewaythewebsuxgoofflineandenjoytheday
    1. Hallo,

      Du könntest zu jeder Benutzerkennung einen Status "aktiv/ nicht aktiv"
      speichern. Weiterhin zu jedem Benutzernamen die Anzahl der fehlerhaften
      Login-Versuche.
      Wenn die Fehler einen bestimmten Wert überschreiten (z.B. 3 oder 5 Mal) wird der Status auf "nicht aktiv" gesetzt (d.h. diese Benutzerkennung ist ungültig geworden).
      Bei einem gültigem Login wird der Zähler wieder auf 0 zurückgesetzt.

      Dann kann er sich das gleich schenken...
      Aber du meintest sicher, dass der Zähler bei einem gültigen Login dann zurückgesetzt wird, wenn er noch nicht MAXFAIL erreicht bzw überschritten hat, oder?

      Tom