[3.0] UMGT Passwort vergessen

Im Entwickler-Forum können Implementierungsdetails sowie Alternativen der Umsetzung diskutiert werden. // Here, developers can discuss implementation details of features of their projects.
Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

[3.0] UMGT Passwort vergessen

Beitrag von dave » 28.10.2015, 10:54:41

Hallo zusammen,

ich mache mich gerade an das Thema Passwort vergessen-Funktion für das UMGT. Ich möchte das gerne etwas näher mit euch besprechen.

Folgende Vorgehensweise ist geplant:
-> User nutzt Passwort vergessen Funktion über eine seperate Seite (forgot_pw.html)
-> User muss dazu seine E-Mail-Adresse eingeben und das Formular absenden
-> es wird danach im neuen Feld ForgotPasswordHash ein zufälliger MD5-Hash erzeugt
-> Es wird ein Link zum Rücksetzen des PW mit dem generierten Hash an die Mail-Adresse des Users gesendet
-> User kann dann nach Klick auf den Link ein neues Passwort erstellen

Ist es evtl. sinnvoll, das Konto so lange zu deaktivieren, solange das Passwort noch nicht geändert wurde, also so lange noch ein Wert im Feld ForgotPasswordHash vorhanden ist? Wie sollte das umgesetzt werden?

Zu beachten:
- das Passwort wird nicht an die E-Mail-Adresse gesendet
- das alte Passwort bleibt unangetastet, sollte jemand versuchen, das Konto zu stehlen (da der Angreifer die E-Mail-Adresse kennt)
- der ForgotPasswordHash bleibt nur 24 Stunden gültig (abgefragt über ModificationTimestamp)
- nachdem das PW geändert wurde, wir das Feld ForgotPasswordHash geleert

Teilt mir bitte Änderungswünsche mit oder klärt mich nochmals bzgl. der sichersten Vorgehensweise auf :)

Tracker: http://tracker.adventure-php-framework. ... .php?id=31

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: [3.0] UMGT Passwort vergessen

Beitrag von dave » 29.10.2015, 12:34:39

Hallo zusammen,

ich habe die Funktionen nun fertig umgesetzt und getestet. Alles Ok soweit. Ich werde nun noch die Texte ins Englische übersetzen, dann wäre ich schon zum Einchecken bereit ;)
Die Dokumentation für das (veraltete) UMGT 3.x ist auch angepasst.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4533
Registriert: 04.11.2007, 16:13:53

Re: [3.0] UMGT Passwort vergessen

Beitrag von dr.e. » 29.10.2015, 16:01:22

Hallo dave,

freut mich, dass du dich dem Thema angenommen hast. Funktionsumfang gefällt mir!
Ist es evtl. sinnvoll, das Konto so lange zu deaktivieren, solange das Passwort noch nicht geändert wurde, also so lange noch ein Wert im Feld ForgotPasswordHash vorhanden ist? Wie sollte das umgesetzt werden?
Entweder entfernst du das Passwort oder führst ein neues Flag pro User ein. Letzteres ist IMHO expliziter und damit verständlicher.
ich habe die Funktionen nun fertig umgesetzt und getestet. Alles Ok soweit.
Cool! 8-)
Ich werde nun noch die Texte ins Englische übersetzen, dann wäre ich schon zum Einchecken bereit ;)
Super! Wenn du magst checke das in den master (code, config, docs) ein. Kannst aber auch einen eigenen branch erstellen, den wir nach dem Fertigstellen aller Bestandteile dann in den master mergen. Das ist vielleicht einfache, dann können wir die Kommentar-Funktion auf GitHub nutzen.
Viele Grüße,
Christian

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: [3.0] UMGT Passwort vergessen

Beitrag von dave » 30.10.2015, 10:23:40

dr.e. hat geschrieben: Entweder entfernst du das Passwort oder führst ein neues Flag pro User ein. Letzteres ist IMHO expliziter und damit verständlicher.
Das bestehende Passwort möchte ich in keinem Fall löschen. Damit könnte ich als Angreifer ja alle bestehenden Accounts vorläufig sperren. Das zusätzliche Flag wäre definitiv besser. Damit könnten sich dann auch Konten sperren lassen, was eine neue interessante Funktion wäre.

Da ich gesehen habe, dass der Release von 3.1 am 1. November ansteht würde ich diesen zusätzlichen Flag für die Version 3.2 vorschlagen.

Thalo
Beiträge: 244
Registriert: 10.08.2009, 16:56:52

Re: [3.0] UMGT Passwort vergessen

Beitrag von Thalo » 30.10.2015, 11:28:23

Hi,

vllt. lässt sich in dem Zusammenhang zusätzlich eine „pwdChangeNextLogin“-Funktion implementieren. :)

Edit: Eine Möglichkeit wäre ja in Verbindung mit einem Konfigurations-Schlüssel die Änderung des Passworts vorher über E-Mail bestätigen zu lassen bzw. eben nicht

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: [3.0] UMGT Passwort vergessen

Beitrag von dave » 30.10.2015, 11:55:46

Thalo hat geschrieben: vllt. lässt sich in dem Zusammenhang zusätzlich eine „pwdChangeNextLogin“-Funktion implementieren. :)
Die Idee gefällt mir gut und die Umsetzung werde ich demnächst mal durchgehen.
Edit: Eine Möglichkeit wäre ja in Verbindung mit einem Konfigurations-Schlüssel die Änderung des Passworts vorher über E-Mail bestätigen zu lassen bzw. eben nicht
Insgesamt halte ich das für etwas übertrieben. Aber du kannst das ja nochmal etwas näher erläutern, vllt. habe ich es falsch verstanden.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4533
Registriert: 04.11.2007, 16:13:53

Re: [3.0] UMGT Passwort vergessen

Beitrag von dr.e. » 30.10.2015, 23:47:59

Da ich gesehen habe, dass der Release von 3.1 am 1. November ansteht würde ich diesen zusätzlichen Flag für die Version 3.2 vorschlagen.
Das ist der geplante Termin - korrekt. Nachdem allerdings noch einige Tasks offen sind, halte ich das allerdings nicht für machbar. :) Neuer Termin könnte z.B. 01.12. sein. Bis dahin schaffst du das sicher! :)
Viele Grüße,
Christian

Thalo
Beiträge: 244
Registriert: 10.08.2009, 16:56:52

Re: [3.0] UMGT Passwort vergessen

Beitrag von Thalo » 31.10.2015, 02:20:50

dave hat geschrieben:
Thalo hat geschrieben:Insgesamt halte ich das für etwas übertrieben. Aber du kannst das ja nochmal etwas näher erläutern, vllt. habe ich es falsch verstanden.
Die Idee war, das pwdChangeNextLogin Flag auch im Rahmen der Passwort-Vergessen Funktion zu benutzen. Quasi analog dem Active Directory. Per Konfiguration lässt sich dann steuern ob für rücksetzen des Passwortes die Bestätigung per E-Mail notwendig ist und setzt dann abhängig davon das Flag. Das ist IMHO etwas flexibler als E-Mail -> Link -> ChangePwd.
Setze den UMGT z.B. auch im Intranet ein da wäre eine E-Mail Bestätigung unnötig. :)

Ausserdem ließe sich das später wunderbar um einen badPwdCount für einen auto-reset als Brute-Force Schutz erweitern. Oder einem Password-Expire.. oder so :roll:

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: [3.0] UMGT Passwort vergessen

Beitrag von dave » 31.10.2015, 14:01:47

dr.e. hat geschrieben:Das ist der geplante Termin - korrekt. Nachdem allerdings noch einige Tasks offen sind, halte ich das allerdings nicht für machbar. :) Neuer Termin könnte z.B. 01.12. sein. Bis dahin schaffst du das sicher! :)
Jap, 1.12. ist machbar.
Thalo hat geschrieben:
dave hat geschrieben: Die Idee war, das pwdChangeNextLogin Flag auch im Rahmen der Passwort-Vergessen Funktion zu benutzen. Quasi analog dem Active Directory. Per Konfiguration lässt sich dann steuern ob für rücksetzen des Passwortes die Bestätigung per E-Mail notwendig ist und setzt dann abhängig davon das Flag. Das ist IMHO etwas flexibler als E-Mail -> Link -> ChangePwd.
Setze den UMGT z.B. auch im Intranet ein da wäre eine E-Mail Bestätigung unnötig. :)

Ausserdem ließe sich das später wunderbar um einen badPwdCount für einen auto-reset als Brute-Force Schutz erweitern. Oder einem Password-Expire.. oder so :roll:
Ah, Ok, ich wollte die Änderung der Konfig eigentlich umgehen. Ich mache mir mal ein paar Gedanken und setze das dann um.

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: [3.0] UMGT Passwort vergessen

Beitrag von dave » 03.11.2015, 18:21:15

Thalo hat geschrieben: Die Idee war, das pwdChangeNextLogin Flag auch im Rahmen der Passwort-Vergessen Funktion zu benutzen. Quasi analog dem Active Directory. Per Konfiguration lässt sich dann steuern ob für rücksetzen des Passwortes die Bestätigung per E-Mail notwendig ist und setzt dann abhängig davon das Flag. Das ist IMHO etwas flexibler als E-Mail -> Link -> ChangePwd.
Setze den UMGT z.B. auch im Intranet ein da wäre eine E-Mail Bestätigung unnötig. :)
Hi Thalo,
ich bin das nochmal durchgegangen. Wie soll ich denn bei deiner Methode wissen, ob der User, der da gerade die Passwort vergessen Funktion nutzt, auch wirklich der User ist, dem das Konto gehört? Es führt doch so gesehen nur der Weg über die E-Mail (oder ein berechtigter Admin macht das).
Ich könnte es auch so lösen:
User hat PW vergessen -> nutzt die PW vergessen Funktion -> wird eingeloggt und muss dann das PW ändern
Hat jedoch den Nachteil, dass jeder das Konto stehlen könnte, der den Username/E-Mail kennt. Macht ja keinen Sinn, oder?

Das Flag pwdChangNextLogin ist ja leicht umzusetzen, nur wie soll eine Autorisierung ausserhalb der E-Mail stattfinden? Könntest du das bitte etwas erläutern? :)

[edit] Hier kannst du dir übrigens mal die aktuelle Umsetzung anschauen:
https://github.com/der-dave/APF-code/co ... 2b9f175a39

GeneralCrime
Beiträge: 67
Registriert: 14.12.2011, 07:13:16

Re: [3.0] UMGT Passwort vergessen

Beitrag von GeneralCrime » 05.11.2015, 14:02:33

Hallo,
also ich habe schon einige PW Vergessen funktionen getestet.

1. User nutzt PWD vergessen Funktion und gibt E-Mail an auf die ein Link geschickt wird mit der ein neues Passwort generiert wird.
2. User nutzt PWD vergessen Funktion und gibt E-Mail an auf die ein Link geschickt wird mit der er ein neues Passwort eingeben kann.

Als Token habe ich einfach den AuthToken genutzt welcher beim nutzen der Funktion wieder gelöscht wird. Sehe aber grad das ich diesen ja nicht ungenutzt löschen kann ohne vielleicht falsche Token zu löschen.
Der Gedanke war kein zusätzliche Feld zu benötigen hat sich somit erledigt.

Ich fürde also auch den Token in der db speichern beim benutzen des Links löschen oder nach Zeit x oder aber wenn der User sich doch noch dran erinnert beim nächsten login.

Thalo
Beiträge: 244
Registriert: 10.08.2009, 16:56:52

Re: [3.0] UMGT Passwort vergessen

Beitrag von Thalo » 09.11.2015, 04:23:02

Hi dave,

sorry, ist bei mir total untergegangen der Thread. :)
dave hat geschrieben: Wie soll ich denn bei deiner Methode wissen, ob der User, der da gerade die Passwort vergessen Funktion nutzt, auch wirklich der User ist, dem das Konto gehört? Es führt doch so gesehen nur der Weg über die E-Mail (oder ein berechtigter Admin macht das).
Genau so war das gedacht. Im Intranet wäre das eben der Helpdesk und E-Mail wäre nicht notwendig (bzw. gar nicht vorhanden).

Mein Ansatz das mit dem pwdChangNextLogin zu verbinden, war nur eine etwas konsequentere Implementieren um die Redundanz zu reduzieren.

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: [3.0] UMGT Passwort vergessen

Beitrag von dave » 09.11.2015, 18:15:06

Thalo hat geschrieben: sorry, ist bei mir total untergegangen der Thread. :)
Null Problemo! :)
Thalo hat geschrieben: Genau so war das gedacht. Im Intranet wäre das eben der Helpdesk und E-Mail wäre nicht notwendig (bzw. gar nicht vorhanden).

Mein Ansatz das mit dem pwdChangNextLogin zu verbinden, war nur eine etwas konsequentere Implementieren um die Redundanz zu reduzieren.
Gut, dann habe ich das verstanden. Bei dieser Methode ist ein pwdChangNextLogin natürlich sogar notwendig. Ich kümmere mich mal langsam drum ;)

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: [3.0] UMGT Passwort vergessen

Beitrag von dave » 19.01.2016, 14:11:53

Ich wage mich mal wieder ein wenig an die Arbeit, fange aber erstmal langsam an.
Irgendwo habe ich noch aufgeschnappt, dass das Resetten des PW via Captcha gesichert werden soll gegen Bots.

Das ist nun erledigt und in meinem Github-APF eingecheckt: https://github.com/der-dave/APF-code/co ... ca32b44b79
Bitte kurzes Feedback.

Zu dem Rest aus der Diskussion habe ich bereits einen Ansatz, wird umgesetzt und Stück für Stück dann hier veröffentlich,t bovor es dann in das offizielle APF wandert :)

Benutzeravatar
dr.e.
Administrator
Beiträge: 4533
Registriert: 04.11.2007, 16:13:53

Re: [3.0] UMGT Passwort vergessen

Beitrag von dr.e. » 19.01.2016, 22:51:53

Hi dave,

habe alle Änderungen reviewed und kommentiert.
Viele Grüße,
Christian

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste