Frage

Ich habe für Benutzer Login-Versuche Web-Anwendungen mit Einschränkungen gesehen.

Ist es eine Sicherheits Notwendigkeit und, wenn ja, warum?

Zum Beispiel: Sie hatte drei Login-Versuche scheiterten, wollen wir versuchen, wieder in 10 Minuten !!

War es hilfreich?

Lösung

Klarstellung Dies ist eine Ergänzung zu den anderen Antworten. Mit einem gut umgesetzt captcha neben einem anti-Brute-Force-Mechanismus Sitzungen zum Beispiel.
Der Fragesteller markierte dies unter der Annahme, als angenommen, dass Captchas von Maschinen lesbar ist (sie ist fast rechts) und so wird es immer negative Punkte, weil die Leute denken, dass es nicht um eine vollständige Antwort und sie haben Recht.


Auch eine gute implementiert CAPTCHA verwendet, könnte eine alternative Möglichkeit, Ihre Anwendung Sicherheit gegen Brute-Force-Angriffe auf Enpower. es gibt eine Vielzahl von Captcha-Anbieter rel="nofollow kostenlos zur Verfügung, lassen Sie uns die einfache Art und Weise versuchen, wenn Sie in Eile sind. Sehen Sie sich auch bitte, dass es Menschen hier raus sagen, dass "Oh, nein! diese captcha Sache nicht sicher genug ist und sie haben Recht manchmal!" .

"Für diejenigen von Ihnen, die nicht wissen, ein CAPTCHA-Programm, das sagen kann, ob seine Benutzer ein Mensch oder ein anderer Computer ist. Sie‘ re die kleinen Bilder von verzerrten Text, den Sie übersetzen, wenn Sie sich für Google Mail anmelden oder einen Kommentar auf jemandes Blog verlassen. Sie sollen sicherstellen, dass jemand automatisch für Millionen von Online-Konten, um sich keinen Computer benutzen, oder. „. ref .

Andere Tipps

sah ich einen kreativen Ansatz für dieses ein Mal ...

Für jeden Anmeldeversuch, dass die Sperrzeit steigt exponentiell ... ausfällt.

attempt | lockout time
======================
   1    |     2s
   2    |     4s
   3    |     8s
   4    |    16s
   5    |    32s
   6    |    64s
   7    |   128s
   8    |   256s
   9    |   512s
  10    |  1024s

In der Theorie, es läßt Benutzer einen Fehler machen oder zwei, aber sobald es ein „Hacker“ Versuch zu werden scheint, wird der Hacker für immer längere Zeiträume gesperrt.

Das habe ich mich (noch) nicht verwendet, aber konzeptionell Ich mag die Idee. Natürlich auf der erfolgreichen Anmeldung wird der Zähler zurückgesetzt wird.

Die Begrenzung, wie viele Versuche auf einer Website gemacht werden sollen Brute-Force verhindern (automatisiert) angreift Ihre Website. Wenn Sie nicht über diese Versuche zu begrenzen, kann ein Hacker ein Script zu halten erraten Passwörter, bis es eine findet, und dies kann die Verfügbarkeit Ihres Webservers auswirken.

Typischerweise out, die der Benutzer Zeit möchten (10 Minuten, wie Sie erwähnt) nach 3 Versuchen, und sie nach 6 oder 9 aufeinanderfolgende Wiederholte Versuche sperren, den Benutzer zwingt Sie zu kontaktieren, um ihr Konto zu entsperren. Dies wird in Kraft gesetzt, weil jemand ihre Skripte modifizieren können Ihre Timeout einzustellen.

Wenn Benutzer ihre eigenen Passwörter festlegen können, einige Bot / Kind wird versuchen, mit einer Liste von gemeinsamen Passwörtern anmelden, und erfolgreich zu sein. Und wenn sie nicht wissen, alle Benutzer, werden sie versuchen, gemeinsame Namen wie admin, simon, rico, etc.

Es ist nicht nur hilft Flagge, die die Benutzer in der Sitzung, da sie nur das Cookie oder Abfrage param an ihrem Ende entfernen. Sie müssen sowohl für IP und Login-Namen eine Anzahl fehlgeschlagener Anmeldeversuche haben. Vielleicht verzeiht mehr für die IP, wie es bei vielen Benutzern gemeinsam genutzt werden kann.

Für meine eigenen Projekte schrieb ich eine verallgemeinerte ‚floodcontrol‘ Bibliothek, die diese Art der Sache behandelt.

Es erlaubt mir, zu bestimmen, wie viele Versuche können in X Höhe der Zeit gemacht werden. Es erlaubt eine bestimmte Anzahl von ‚Gnade‘ Versuche, in kurzer Zeit, so dass nur wirklich ungewöhnliches Verhalten gefangen werden.

I Datensatz in der Datenbank ein paar Dinge:

  • Die IP-Adresse (oder die ersten 24 Bits davon)
  • Die Aktion, die versucht wurde (dh 'log in', 'suchen', 'Kommentar')
  • Die Zeit des Versuchs
  • Die Anzahl der Versuche (Versuch Zähler)

Für jeden Versuch machte mir Abfrage für die Teil-IP-Adresse und die Aktion, und wenn ein früherer Versuch, innerhalb eines bestimmten Zeitfensters gemacht wurde dann erhöhe ich den Versuch Zähler für diesen Versuch. Wenn der Versuch Zähler die Anzahl der Gnade Versuche erlaubt überschreitet dann, ob ich überprüfen, der letzte Versuch innerhalb von X Sekunden jetzt war und wenn ja, return false - deshalb wird die Aktion gesperrt werden (und der Benutzer wird gesagt werden, um X Sekunden zu warten, bevor Sie versuchen, nochmal). Wenn der Versuch Zähler unter der Zahl der Gnade Versuche ist dann kehre ich wahr und lassen Sie ihn schieben.

Wenn eine Person mit der gleichen IP durch später kommt, dann wird die vorherige Versuch Zählung nicht abgerufen werden, weil es zu lange her sein wird.

Ja, es ist notwendig, Konten von anspruchsvollen Brute-Force-Angriffen zu schützen - wie in, mit Bots und Wörterbuch-Dateien -. Bis jemandem nur versucht, das Passwort des Kontos zu erraten

Ich rechne damit, setzt einen Zähler Versuche fehlgeschlagen 'in der DB wäre die sicherste und einfachste Weg zu gehen. Auf diese Weise kann der Benutzer es nicht umgehen (durch Cookies zu deaktivieren). Zurücksetzen auf der erfolgreichen Anmeldung natürlich.

Zurücksetzen der Fehlversuche nach einer korrekten Login macht fast das ganze System wertlos.

Jeder registrierte Benutzer könnte dann noch drei Vermutungen auf einem fremden Account und das Passwort, melden Sie sich dann mit ihren eigenen in den Zähler zurückzusetzen, und wiederholen - das automatisiert werden kann, auch. So ein normaler Nutzer Brute kann Admin-Passwörter erzwingen, zum Beispiel.

Der Reset durch den Admin getan werden muss, nicht einfach in einem erfolgreichen Anmeldung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top