Domanda:
Perché dovresti reindirizzare l'utente a una pagina di accesso dopo la reimpostazione della password?
Adam Parkin
2015-11-10 19:57:05 UTC
view on stackexchange narkive permalink

Il Cheat Sheet OWASP Password dimenticata suggerisce:

Ogni volta che si verifica una reimpostazione corretta della password, la sessione dovrebbe essere invalidata e l'utente reindirizzato alla pagina di accesso

Non riesco a capire perché questo sia così importante. Esiste una base di sicurezza per questa raccomandazione e, in caso affermativo, qual è?

Forse è solo un punto minore e non è così importante, ma impedisce all'utente di inserire i propri dettagli altrove ... a volte fanno cose folli del genere
Quindi posso memorizzare la nuova password nel mio gestore di password :)
Ciò dipenderà dal meccanismo di reimpostazione della password. Un utente che reimposta la password perché non ricorda la password normalmente non avrebbe una sessione poiché non è connesso. IMO potrebbe esserci qualche problema nel modo in cui la frase è formulata se "la" sessione si riferisce a sessioni create da altri utenti sullo stesso account.
Avrei pensato che fosse una cosa UX, quindi è più veloce inserire la nuova password.
Questa è una vecchia domanda, ma sono curioso di sapere se viene implementato immediatamente in App di identità come Ping Identity, Oracle Access Manager, WSO2 Identity Server, Okta ecc.?
Nove risposte:
#1
+104
Jay
2015-11-10 20:03:06 UTC
view on stackexchange narkive permalink

Supponiamo che un utente malintenzionato abbia la tua password. Accedi e reimposta. Se il ripristino non invalida tutte le sessioni esistenti, l'attaccante ha ancora accesso, purché non lasci scadere la sessione.

Il ripristino non ha effettivamente ottenuto nulla in questo scenario.

A seconda di ciò che fa il sito, potrebbero esserci problemi anche se ti sei registrato con una password che ora non è più aggiornata. Diciamo che la tua password viene utilizzata per sbloccare qualcosa, hai effettuato l'accesso con "password1", ma il server ora ha la tua password salvata come "password2", cosa succede? Questo è ovviamente ipotetico, ma si spera che illustri il punto.

Il reindirizzamento alla schermata di accesso immagino sia solo un consiglio. Non sono sicuro del motivo per cui sia importante dove mandi l'utente, ma dal punto di vista dell'usabilità ha più senso indirizzare l'utente a una pagina di accesso piuttosto che alla home page.

Immagino che il motivo per rimandarli alla schermata di accesso sia effettivamente chiarire all'utente che deve accedere di nuovo ..
Perché inviare l'utente alla schermata di accesso, invece di ... inviarlo * attraverso * la schermata di accesso e ricollegarlo effettivamente? Capisco il suggerimento di invalidare le sessioni esistenti, sembra sensato, ma * "Ho digitato due volte la mia nuova password complessa e ancora non sai chi sono e vuoi che la digiti di nuovo immediatamente" * è un'esperienza utente molto frustrante .
@TessellatingHeckler Autenticazione a due fattori? Programmazione più semplice? Un giorno, la password sarà sparita da tempo e non avremo mai più problemi del genere.
@nocomprende forse la stessa "programmazione più semplice" che dà origine al modello precedente nella sequenza di reimpostazione della password in cui si tenta di accedere all'infinito, rinunciare a provare a ricordare, fare clic per reimpostare la password e viene presentato un modulo che dice "inserisci il tuo nome utente o indirizzo email ", e pensa *" Ciao? Ho appena inviato il mio nome utente * una dozzina di volte, non puoi tenerne traccia in un singolo cambio di pagina? "*.
Invalidare tutte le sessioni attive assicura anche che se l'aggressore è quello che sta cambiando la password (se in qualche modo ha ottenuto la tua attuale), l'utente legittimo sia informato di questo fatto. Ma ciò non lo rende ancora necessario per l'unica sessione in cui è stata cambiata la password. Naturalmente aiuta con le sessioni dirottate.
Ciò che scrivi nel primo paragrafo e su cosa è costruito il tuo primo punto (... invalida ** tutte le sessioni esistenti **) non è ciò che è scritto nel Cheat Sheet OWASP (** la sessione ** dovrebbe essere invalidata).
Il fatto che l'utente acceda non invalida le sessioni esistenti.
Hmm, l'ultima frase mi è sfuggita ... infatti, impedisce alle persone che hanno effettuato l'accesso con la tua password / sessione precedentemente utilizzata di utilizzare il tuo account.
Come ho commentato prima, tutte le cose che hai elencato possono essere fatte facilmente senza andare alla pagina di accesso. Quindi, rimuovendo tutto ciò che non risponde alla domanda, si riduce al tuo ultimo paragrafo: "Non ne ho idea, immagino sia una raccomandazione per l'usabilità". Sei sicuro di non riuscire a trovare * alcun * motivo relativo alla sicurezza? O almeno elaborare il motivo per cui è una buona usabilità?
-1 Questo non risponde affatto alla domanda! Vedere il commento di @TessellatingHeckler's. (solo non posso -1 con il mio rappresentante, mi dispiace).
@TomášZato Penso che quello che intendeva dire fosse più come "dopo un ripristino della password * tutte * le sessioni sono terminate, forzando così un nuovo accesso, e quindi un reindirizzamento alla pagina di accesso" invece di implicare che il login di nuovo esegue magicamente alter-sessione terminazioni. Almeno questo è il modo in cui i sistemi che scrivo trattano pw reset: il passaggio finale dell'azione di reset è terminare tutte le sessioni correnti di quell'utente, quindi non resta altro da fare che reindirizzare a una pagina di accesso.
#2
+43
SilverlightFox
2015-11-10 20:16:02 UTC
view on stackexchange narkive permalink

Protezione delle sessioni su account potenzialmente compromessi

Non è necessario reindirizzare effettivamente alla pagina di accesso se la gestione della sessione al momento della modifica della password viene eseguita in modo sicuro. Cioè, fintanto che tutti gli identificatori di sessione correnti sono invalidati e la sessione corrente è allegata a un nuovo identificatore di sessione (solitamente emesso come token in un cookie di autenticazione - il cookie viene inviato solo alla sessione che ha appena cambiato la password), allora lì non c'è il rischio che un utente malintenzionato che è già nell'account rimanga connesso.

Articolo OWASP

La logica alla base dell'articolo OWASP è spiegata di seguito. Non c'è niente di sbagliato nell'aspetto della sicurezza, tuttavia ci sono alcuni problemi di usabilità.

La funzionalità di reimpostazione della password viene spesso utilizzata quando un utente desidera proteggere il proprio account.

Invalidando tutto sessioni esistenti al momento della reimpostazione della password, il sistema si assicura che solo la persona con la nuova password possa accedere.

Supponiamo, ad esempio, che un utente malintenzionato che ha ottenuto l'accesso all'account utilizzando la vecchia password sia loggato . Il ripristino di tutte le sessioni disconnetterà l'attaccante.

Perché disconnettere l'utente corrente, ho sentito che lo chiedi?

Bene, dì che l'attaccante sta cavalcando la sessione dell'utente corrente, ad esempio utilizzando una vulnerabilità di riparazione della sessione. Ciò significa che l'attaccante ha la stessa sessione dell'utente reale. La reimpostazione della sessione corrente assicurerà inoltre che sull'account non sia presente nessuno che non sia destinato ad avere accesso.

Il reindirizzamento alla pagina di accesso nel preventivo sopra descrive in realtà il fatto che è necessario disconnettere l'utente della sessione corrente e di tutte le sessioni (ma non vi è alcun rischio di impedirti di rilasciarle in una nuova sessione con un nuovo identificatore).

In che modo invalidare le sessioni correnti e inserirle in una nuova richiede di inviare l'utente alla pagina di login?
Non credo che duri finché la sessione corrente e tutte le altre sessioni vengono invalidate. La creazione di una nuova sessione, con un nuovo valore del token di sessione per il client corrente, soddisferebbe i requisiti di sicurezza di cui sopra e sottometterebbe un utente malintenzionato che ha eseguito la sessione o ha ottenuto la password precedente.
Perché se li hai appena scollegati, vorranno riconnettersi!
#3
+34
John Biddle
2015-11-11 00:28:52 UTC
view on stackexchange narkive permalink

Le altre risposte sono probabilmente più corrette dal punto di vista di netsec, ma volevo aggiungere che puoi anche assicurarti che l'utente sia effettivamente in grado di accedere con la nuova password. Questo rende ovvio se qualcosa sta andando storto, come il browser che riempie automaticamente una vecchia password.

Impedisce inoltre agli utenti di utilizzare la reimpostazione della password come login. Su uno dei miei account è più facile rispondere alle domande di sicurezza che ricordare la password, poiché devo impostare una password univoca ogni volta che la reimposto e non riesco a ricordarle.

Sì, l '"OhNoSecond" in cui ti rendi conto di aver digitato male la password durante la reimpostazione e ora non hai idea di cosa sia, è una delle grandi esperienze mozzafiato dell'IT. Come guardare la tua macchina chiusa per vedere le chiavi sul sedile del conducente.
@nocomprende Ma se solo le portiere delle auto avessero un ripristino basato sulla posta elettronica
Non ho idea di come chiuderei a chiave la chiave in macchina; hai bisogno della chiave per chiuderla!
@Alex Easy. Chiudi la porta, metti la chiave in macchina, chiudi la porta. Le persone lo fanno tutto il tempo. O c'è qualcosa nella tua auto in particolare che lo impedisce?
+1 Questo risponde effettivamente alla domanda (a differenza delle due risposte più votate).
Punto molto positivo: sembra scomodo, ma in realtà conferma l'intento dell'utente
#4
+8
Deduplicator
2015-11-11 10:26:31 UTC
view on stackexchange narkive permalink

C'è solo un possibile motivo correlato alla sicurezza per inviarti alla pagina di accesso, poiché tutte le vecchie sessioni possono essere invalidate e la tua sessione attiva corrente da cui hai cambiato la password viene sostituita automaticamente:
Rende più complicato l'uso della reimpostazione della password per l'accesso, portandoti così a usarlo meno spesso e proteggendolo così da intercettazioni e divulgazioni accidentali.

C'è anche un motivo di usabilità per inviarti lì: si assicura che tu possa effettivamente utilizzare la nuova password e qualsiasi cache delle password nel browser viene aggiornata.

@Calimo La risposta accettata in realtà non fornisce un motivo per reindirizzare alla pagina di accesso; fornisce una ragione per fare qualcosa che è correlato dal punto di vista del programmatore, ma sembra completamente diverso per l'utente.
#5
+6
supercat
2015-11-11 22:52:31 UTC
view on stackexchange narkive permalink

Se gli utenti possono fare in modo che il browser memorizzi le proprie password, reindirizzare l'utente alla pagina di accesso consentirà al browser di acquisire la nuova password in quella pagina. Altrimenti, la prossima volta che l'utente accede al browser pre-riempirà "utilmente" il campo della password con la vecchia password, un'azione che potrebbe creare confusione se l'utente non si rende conto di cosa sta succedendo.

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

È molto semplice se teniamo in considerazione le contromisure di sicurezza. In realtà invaliderà tutte le tue sessioni attive, così come il dispositivo del ladro, che ha creato il problema.

E questo non potrebbe essere fatto in un modo molto più intuitivo? Non riesco a vederlo, dov'è la parte che richiede un nuovo accesso?
#7
  0
Erroneous
2015-11-13 01:49:06 UTC
view on stackexchange narkive permalink

Oltre a fornire un semplice meccanismo per stabilire una nuova sessione valida, verificare che la nuova password funzioni e disconnettersi dalle sessioni correnti, c'è anche il vantaggio aggiuntivo di avere il tuo utente che inserisce la password una terza volta, rendendolo più facile da ricordare.

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

Oltre a molti degli altri punti qui esposti, ci sono vantaggi nel limitare il meccanismo di creazione della sessione a un solo punto di ingresso da una prospettiva di manutenibilità / rafforzamento / controllo.

Un utente che reimposta la propria password nel lo stato di blocco non deve essere necessariamente trattato come un utente connesso anche dopo aver saltato attraverso qualsiasi prova di ripristino dell'identità che hai, altrimenti hai una sequenza aggiuntiva da verificare quando esegui il test di controllo / penna.

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

quando accedi di nuovo subito dopo la reimpostazione della password

a) è più probabile che tu ricordi la password 3 secondi dopo, rispetto a 3 giorni dopo.

b) il tuo browser può quindi chiedere all'utente se desidera aggiornare la password salvata con quella nuova, quindi il browser la ricorderà nella pagina di accesso.



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...