Frage:
Warum sollten Sie den Benutzer nach einem Zurücksetzen des Kennworts auf eine Anmeldeseite umleiten?
Adam Parkin
2015-11-10 19:57:05 UTC
view on stackexchange narkive permalink

Das OWASP-Passwort-Spickzettel vergessen schlägt vor:

Bei jedem erfolgreichen Zurücksetzen des Passworts sollte die Sitzung ungültig gemacht und der Benutzer auf die Anmeldeseite umgeleitet werden

Ich verstehe nicht, warum dies so wichtig ist. Gibt es eine Sicherheitsgrundlage für diese Empfehlung und wenn ja, um welche handelt es sich?

Vielleicht ist es nur ein kleiner Punkt und nicht so wichtig, aber es hält den Benutzer davon ab, seine Daten an anderer Stelle einzugeben ... manchmal machen sie solche verrückten Sachen
So kann ich das neue Passwort in meinem Passwort-Manager speichern :)
Dies würde vom Mechanismus zum Zurücksetzen des Passworts abhängen. Ein Benutzer, der das Kennwort zurücksetzt, weil er sich nicht an das Kennwort erinnert, hat normalerweise keine Sitzung, da er nicht angemeldet ist. IMO kann es zu Problemen bei der Formulierung des Satzes kommen, wenn sich "die" Sitzung auf Sitzungen bezieht, die von anderen Benutzern erstellt wurden auf dem gleichen Konto.
Ich hätte gedacht, dass dies eine UX-Sache ist, daher ist es schneller, das neue Passwort einzugeben.
Dies ist eine alte Frage, aber ich bin gespannt, ob dies in Identity Apps wie Ping Identity, Oracle Access Manager, WSO2 Identity Server, Okta usw. sofort implementiert wird.
Neun antworten:
Jay
2015-11-10 20:03:06 UTC
view on stackexchange narkive permalink

Nehmen wir an, ein Angreifer hat Ihr Passwort. Sie melden sich an und setzen es zurück. Wenn das Zurücksetzen nicht alle vorhandenen Sitzungen ungültig macht, hat der Angreifer weiterhin Zugriff, solange er seine Sitzung nicht ablaufen lässt.

Das Zurücksetzen hat in diesem Szenario tatsächlich nichts erreicht.

Je nachdem, was die Site tut, kann es auch Probleme geben, wenn Sie sich unter einem Kennwort angemeldet haben, das jetzt veraltet ist. Nehmen wir an, Ihr Passwort wird verwendet, um etwas zu entsperren. Sie sind mit "Passwort1" angemeldet, aber auf dem Server ist Ihr Passwort jetzt als "Passwort2" gespeichert. Was passiert? Dies ist offensichtlich hypothetisch, veranschaulicht aber hoffentlich den Punkt.

Das Umleiten zum Anmeldebildschirm ist wohl nur eine Empfehlung. Ich bin mir nicht sicher, warum es wichtig ist, wohin Sie den Benutzer senden, aber aus Sicht der Benutzerfreundlichkeit ist es sinnvoller, den Benutzer auf eine Anmeldeseite anstatt auf die Startseite zu senden.

Ich denke, der Grund, sie zurück zum Anmeldebildschirm zu senden, besteht darin, dem Benutzer tatsächlich klar zu machen, dass er sich erneut anmelden muss.
Warum den Benutzer zum Anmeldebildschirm senden, anstatt ... ihn * über * den Anmeldebildschirm zu senden und ihn tatsächlich erneut anzumelden? Ich verstehe den Vorschlag, vorhandene Sitzungen ungültig zu machen, was vernünftig klingt, aber * "Ich habe mein komplexes neues Passwort zweimal eingegeben und Sie wissen immer noch nicht, wer ich bin, und Sie möchten sofort, dass ich es erneut eingebe" * ist eine sehr frustrierende Benutzererfahrung .
@TessellatingHeckler Zwei-Faktor-Authentifizierung? Einfachere Programmierung? Eines Tages wird das Passwort längst verschwunden sein und wir werden nie wieder solche Probleme haben.
@nocomprende ist möglicherweise die gleiche "einfachere Programmierung", die zu dem Muster früher in der Sequenz zum Zurücksetzen des Passworts führt, bei dem Sie versuchen, sich endlos anzumelden, den Versuch aufzugeben, sich zu erinnern, klicken, um Ihr Passwort zurückzusetzen, und ein Formular mit der Aufschrift "Geben Sie Ihren Benutzernamen ein" erhalten oder E-Mail-Adresse ", und denken Sie *" Hallo? Ich habe gerade meinen Benutzernamen * ein Dutzend Mal übermittelt. Können Sie ihn nicht über eine einzelne Seitenänderung hinweg verfolgen? "*.
Durch die Ungültigmachung aller aktiven Sitzungen wird auch sichergestellt, dass der legitime Benutzer auf diese Tatsache aufmerksam gemacht wird, wenn der Angreifer das Kennwort ändert (wenn er irgendwie Ihr aktuelles Kennwort erhalten hat). Dies macht es jedoch immer noch nicht erforderlich, dass in einer Sitzung das Kennwort geändert wurde. Dies hilft natürlich bei entführten Sitzungen.
Was Sie im ersten Absatz schreiben und worauf Sie als erstes aufbauen (... ungültig machen ** alle vorhandenen Sitzungen **), ist nicht das, was im OWASP-Spickzettel geschrieben steht (** die Sitzung ** sollte ungültig gemacht werden).
Die Tatsache, dass sich der Benutzer anmeldet, macht vorhandene Sitzungen nicht ungültig.
Hmm, ich habe den letzten Satz verpasst ... tatsächlich verhindert er, dass Personen, die unter Ihrem zuvor verwendeten Passwort / Ihrer zuvor verwendeten Sitzung angemeldet sind, Ihr Konto verwenden.
Wie ich bereits sagte, können all die Dinge, die Sie aufgelistet haben, einfach erledigt werden, ohne auf die Anmeldeseite zu gehen. Wenn Sie also alles entfernen, was die Frage nicht beantwortet, läuft es auf Ihren letzten Absatz hinaus: "Keine Ahnung, ich denke, es ist eine Empfehlung für die Benutzerfreundlichkeit." Sind Sie sicher, dass Sie keinen sicherheitsrelevanten Grund finden können? Oder zumindest erläutern, warum dies eine gute Benutzerfreundlichkeit ist?
-1 Dies beantwortet die Frage überhaupt nicht wirklich! Siehe @TessellatingHeckler's-Kommentar. (Nur ich kann nicht -1 mit meinem Repräsentanten, sorry).
@TomášZato Ich denke, was er damit sagen wollte, war eher "nach dem Zurücksetzen eines Passworts * alle * Sitzungen werden beendet, wodurch eine neue Anmeldung und damit eine Umleitung zur Anmeldeseite erzwungen wird", anstatt zu implizieren, dass die erneute Anmeldung auf magische Weise eine Alter-Session durchführt Kündigungen. Zumindest ist dies die Art und Weise, wie Systeme, die ich schreibe, mit pw reset umgehen. Der letzte Schritt der Reset-Aktion besteht darin, alle aktuellen Sitzungen dieses Benutzers zu beenden. Sie müssen also nur noch auf eine Anmeldeseite umleiten.
SilverlightFox
2015-11-10 20:16:02 UTC
view on stackexchange narkive permalink

Schutz von Sitzungen auf einem möglicherweise gefährdeten Konto

Es ist nicht erforderlich, tatsächlich zur Anmeldeseite umzuleiten, wenn die Sitzungsverwaltung bei Kennwortänderung sicher durchgeführt wird. Das heißt, solange alle aktuellen Sitzungskennungen ungültig sind und die aktuelle Sitzung an eine neue Sitzungskennung angehängt wird (normalerweise als Token in einem Authentifizierungscookie ausgegeben - das Cookie wird nur an die Sitzung gesendet, die gerade das Kennwort geändert hat) Es besteht kein Risiko, dass ein Angreifer, der sich bereits im Konto befindet, angemeldet bleibt.

OWASP-Artikel

Die Gründe für den OWASP-Artikel werden nachfolgend erläutert. An dem Sicherheitsaspekt ist nichts auszusetzen, es gibt jedoch einige Usability-Probleme.

Die Funktion zum Zurücksetzen von Passwörtern wird häufig verwendet, wenn ein Benutzer sein Konto sichern möchte.

Durch Ungültigmachen aller Beim Zurücksetzen des Kennworts stellt das System sicher, dass sich nur die Person mit dem neuen Kennwort anmelden kann.

Angenommen, ein Angreifer, der mit dem alten Kennwort Zugriff auf das Konto erhalten hat, ist angemeldet Durch das Zurücksetzen aller Sitzungen wird der Angreifer abgemeldet.

Warum den aktuellen Benutzer abmelden, höre ich Sie fragen?

Sagen Sie, dass der Angreifer beispielsweise auf der Sitzung des aktuellen Benutzers reitet Verwenden einer Sitzungsfixierung Sicherheitsanfälligkeit. Dies bedeutet, dass der Angreifer dieselbe Sitzung hat wie der echte Benutzer. Durch das Zurücksetzen der aktuellen Sitzung wird auch sichergestellt, dass sich niemand in dem Konto befindet, der keinen Zugriff haben soll.

Wenn Sie auf die Anmeldeseite in Ihrem obigen Zitat umleiten, wird die Tatsache beschrieben, dass Sie den Benutzer abmelden sollten der aktuellen und aller Sitzungen (es besteht jedoch kein Risiko, dass Sie sie nicht in eine neue Sitzung mit einer neuen Kennung verschieben).

Wie müssen Sie den Benutzer zur Anmeldeseite senden, um aktuelle Sitzungen ungültig zu machen und ihn in eine neue zu versetzen?
Ich glaube nicht, dass dies der Fall ist, solange die aktuelle Sitzung und alle anderen Sitzungen ungültig sind. Das Erstellen einer neuen Sitzung mit einem neuen Sitzungstokenwert für den aktuellen Client würde die oben genannten Sicherheitsanforderungen erfüllen und einen Angreifer unterwerfen, der entweder die Sitzung geritten oder das vorherige Kennwort erhalten hat.
Denn wenn Sie sie gerade abgemeldet haben, möchten sie sich wieder anmelden!
John Biddle
2015-11-11 00:28:52 UTC
view on stackexchange narkive permalink

Die anderen Antworten sind aus netsec-Sicht wahrscheinlich korrekter, aber ich wollte hinzufügen, dass Sie auch sicherstellen müssen, dass sich der Benutzer tatsächlich mit seinem neuen Passwort anmelden kann. Dies macht deutlich, wenn etwas schief geht, beispielsweise wenn der Browser ein altes Passwort automatisch ausfüllt.

Außerdem wird verhindert, dass Benutzer das Zurücksetzen des Kennworts als Anmeldung verwenden. In einem meiner Konten ist es einfacher, die Sicherheitsfragen zu beantworten, als sich das Kennwort zu merken, da ich bei jedem Zurücksetzen ein eindeutiges Kennwort festlegen muss und mich nicht daran erinnern kann.

Ja, die "OhNoSecond", bei der Sie feststellen, dass Sie Ihr Passwort beim Zurücksetzen falsch eingegeben haben und jetzt keine Ahnung haben, was es ist, ist eine der großartigen, atemberaubenden Erfahrungen der IT. Als würden Sie in Ihr verschlossenes Auto schauen, um die Schlüssel auf dem Fahrersitz zu sehen.
@nocomprende Aber wenn nur Autotüren per E-Mail zurückgesetzt würden
Ich habe keine Ahnung, wie ich meinen Schlüssel in meinem Auto verriegeln würde; Sie brauchen den Schlüssel, um es zu verriegeln!
@Alex Einfach. Schließen Sie die Tür ab, stecken Sie Ihren Schlüssel ins Auto und schließen Sie die Tür. Die Leute machen es die ganze Zeit. Oder gibt es etwas an Ihrem Auto, das dies verhindert?
+1 Dies beantwortet tatsächlich die Frage (im Gegensatz zu den beiden besser bewerteten Antworten).
Sehr guter Punkt - fühlt sich unpraktisch an, bestätigt aber tatsächlich die Absicht des Benutzers
Deduplicator
2015-11-11 10:26:31 UTC
view on stackexchange narkive permalink

Es gibt nur einen möglichen sicherheitsrelevanten Grund, Sie zur Anmeldeseite zu senden, da alle alten Sitzungen ungültig gemacht werden können und Ihre aktuell aktive Sitzung das Passwort automatisch ersetzt hat:
Dadurch wird die Verwendung des Zurücksetzens des Kennworts für die Anmeldung umständlicher, was dazu führt, dass Sie es seltener verwenden und es somit vor Abhören und versehentlicher Offenlegung sicherer machen.

Es gibt auch einen Usability-Grund zum Senden dorthin: Damit wird sichergestellt, dass Sie das neue Kennwort tatsächlich verwenden können, und der Kennwort-Cache im Browser wird aktualisiert.

@Calimo Die akzeptierte Antwort gibt keinen Grund an, zur Anmeldeseite umzuleiten. Es gibt einen Grund, etwas zu tun, das vom Standpunkt eines Programmierers aus verwandt ist, dem Benutzer jedoch völlig anders erscheint.
supercat
2015-11-11 22:52:31 UTC
view on stackexchange narkive permalink

Wenn Benutzer zulassen dürfen, dass der Browser ihre Kennwörter speichert, kann der Browser durch Umleiten des Benutzers auf die Anmeldeseite das neue Kennwort auf dieser Seite erfassen. Andernfalls füllt das nächste Mal, wenn sich der Benutzer im Browser anmeldet, das Kennwortfeld "hilfreich" mit dem alten Kennwort vor - eine Aktion, die wahrscheinlich Verwirrung stiftet, wenn der Benutzer nicht merkt, was los ist.

Sarmad Ajmal
2015-11-11 18:13:20 UTC
view on stackexchange narkive permalink

Es ist sehr einfach, wenn wir die Sicherheitsmaßnahmen im Auge behalten. Es macht tatsächlich alle Ihre aktiven Sitzungen sowie das Gerät des Diebstahlers ungültig, der die Probleme verursacht hat.

Und das geht nicht viel benutzerfreundlicher? Ich sehe das nicht. Wo ist der Teil, der eine erneute Anmeldung erfordert?
Erroneous
2015-11-13 01:49:06 UTC
view on stackexchange narkive permalink

Neben der einfachen Bereitstellung eines einfachen Mechanismus zum Einrichten einer neuen gültigen Sitzung, zum Überprüfen der Funktionsfähigkeit des neuen Kennworts und zum Abmelden aktueller Sitzungen besteht der zusätzliche Vorteil darin, dass Ihr Benutzer das Kennwort ein drittes Mal eingibt, was die Vereinfachung erleichtert zu erinnern.

Bill
2015-11-13 21:28:21 UTC
view on stackexchange narkive permalink

Zusätzlich zu vielen anderen hier angesprochenen Punkten bietet es Vorteile, den Mechanismus zur Sitzungserstellung aus Sicht der Wartbarkeit / Härtung / Prüfung auf nur einen Einstiegspunkt zu beschränken.

Ein Benutzer, der sein Kennwort in der zurücksetzt Der gesperrte Status sollte nicht unbedingt als angemeldeter Benutzer behandelt werden, selbst nachdem Sie durch den Wiederherstellungsnachweis für Identitätsrahmen gesprungen sind, den Sie haben. Andernfalls müssen Sie bei Ihren Audits / Pen-Tests eine zusätzliche Sequenz testen.

hamish
2019-08-11 12:34:30 UTC
view on stackexchange narkive permalink

Wenn Sie sich direkt nach dem Zurücksetzen des Kennworts erneut anmelden

a) Erinnern Sie sich das Kennwort mit größerer Wahrscheinlichkeit 3 ​​Sekunden später als 3 Tage später.

b) Ihr Browser kann den Benutzer dann fragen, ob er sein gespeichertes Passwort mit dem neuen aktualisieren möchte, und der Browser merkt es sich dann auf der Anmeldeseite.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...