Felix Riesterer: Session Handling bei Passwortänderung

Beitrag lesen

Lieber Rolf,

Felix' Idee einer Wahlmöglichkeit gefällt mir da eher weniger. Ob man Sessions nach Passwortänderung invalidiert, ist das Ergebnis eines Security-Assessments der betreffenden Site, keine Entscheidung des einzelnen Users.

und damit argumentierst Du - egal ob absichtlich oder nicht - in derselben Richtung wie das BSI, welches es einst auch als sicherer befand, wenn User dazu gezwungen werden, regelmäßig ihre Passwörter zu ändern. Userbevormundung ist nicht immer besser, auch nicht bei Fragen der Sicherheit!

Was ein User tun darf oder nicht, regelt ein Rechtemanagement. Was ein gehackter Account darf, unterliegt damit auch diesem Rechtemanagement. Da hilft auch nicht, wenn eine Passwortänderung automatisch alle Sessions zerstört!

Wenn ein User sein Passwort ändern will, weil er meint, dass sein Account gehackt wurde, mag er vielleicht genau deshalb alle Sessions damit killen. Wenn das dann nicht möglich ist (siehe Windoof-Sessions), dann ist das zum Nachteil des Users. Und wenn er nur sein Passwort vergessen hat und den Reset-Mechanismus bemüht, dann will er sehr wahrscheinlich nicht, dass er auf allen anderen Geräten aus seinen dortigen Sessions geworfen wird. Sollte das System das aber erzwingen, ist das eben Mist!

Vor allem ist das Finden aller Sessions eines Users gar nicht so leicht, die sind ja über ihre Session-ID geschlüsselt und typischerweise irgendwie codiert gespeichert. Das ist aufwändig zu implementieren.

Das verstehe ich nicht. Redest Du von einem best practice-Beispiel, oder von unserem Wiki oder Forum? In meinem aktuellen Projekt gibt es in der Session-Tabelle neben dem Primärschlüssel (Session-Token) auch einen Schlüssel für den damit angemeldeten User (Benutzername). Warum auch nicht? Was ein angemeldeter User darf, regelt das Rechtemanagement. Und wenn ich den Admin-Account nutze, muss ich eben darauf achten, dass ich mich brav wieder abmelde, ehe ich den Browser schließe.

Hier im Forum bleibe ich angemeldet. Wer meine Session klaut, hat damit potenziell die Möglichkeit Admin-Funktionalitäten zu nutzen. Das benötigt zwar eintsprechende Klicks, aber keine erneute Passworteingabe. Man könnte darüber nachdenken, ob für solche Anfragen gesondert geprüft wird, wann das letzte Mal ein Passwort eingegeben wurde, um im Bedarfsfall erneut dazu aufzufordern. Also im Grunde ähnlich der Verwendung von sudo auf einer Shell, wo auch ein Timer prüft, ob Du Dein root-Passwort erneut eingeben musst.

Liebe Grüße

Felix Riesterer