Hash password e supporto per il tuo utente


10

Di recente ci siamo spostati su una migliore strategia di archiviazione delle password, con le migliori novità:

  • Le password vengono archiviate dopo aver attraversato bCrypt
  • All'utente viene inviato un collegamento di attivazione durante la creazione dell'account per confermare la proprietà dell'indirizzo
  • Hai dimenticato la password senza domande di sicurezza, un link viene inviato alla loro e-mail.
  • Il collegamento scade dopo 24 ore, a quel punto dovranno richiederne uno nuovo.
  • Se l'account viene creato dal nostro staff, viene inviata un'e-mail con una password complessa casuale. All'accesso l'utente deve reimpostarlo su qualcosa che non conosciamo e che è bCrypt'd.

Ora questo è in accordo con la "best practice" in circolazione, ma questo ha aumentato molto la nostra richiesta di supporto da parte degli utenti normali che non capiscono tutto questo, vogliono solo accedere.

Spesso riceviamo richieste dagli utenti che si lamentano di:

  • Password errata (da quella che devono reimpostare spesso la incollano con uno spazio alla fine). Ci dicono cosa stanno usando ma non abbiamo modo di dire loro quale sia la loro vera password.
  • Dicendo che non ricevono l'e-mail che li inviamo (attivazione, ripristino, ecc.). Questo non è spesso il caso, dopo una lunga risoluzione dei problemi abbiamo di solito scoperto di aver fatto un refuso nell'e-mail, che non stavano controllando l'account e-mail giusto o che semplicemente andavano nella cartella spam.

Ovviamente non possiamo provarlo per loro in quanto non abbiamo la password. Stiamo registrando i tentativi falliti ma cancelliamo anche la password che hanno usato poiché è probabile che sia la password utilizzata per un altro account e non volevamo archiviare in un file di registro di testo semplice. Questo non ci lascia praticamente nulla per aiutarli quando segnalano problemi.

Sono curioso di sapere come la maggior parte delle persone affronta problemi come questi?


2
Oltre a essere un po 'più descrittivo nelle e-mail che il tuo sistema invia agli utenti, non vedo cosa potresti fare diversamente mantenendo le migliori pratiche. Ti fa venire voglia di schiaffeggiare gli stupidi utenti.
Bernard,

1
Le persone sono stupide, i tuoi utenti, più della maggior parte degli altri, non vedo la domanda qui?

8
Jarrod stai solo insultando i tuoi utenti. L'unico stupido qui sei tu. Non riesci a capire il livello di alfabetizzazione informatica dei tuoi utenti. Non offenderti, ma stai scrivendo software per persone che non sono fanatici del computer. Se non vedi alcuna domanda, probabilmente significa che tutti quegli esperti di usabilità là fuori potrebbero essere licenziati, perché non sono realmente necessari. È solo un problema con "persone stupide", quindi noi sviluppatori intelligenti li bandiamo semplicemente dal web e il problema sparirà :) Se qualcuno ha scritto un sistema che solo l'autore può usare non vedi un problema?
Slawek,

2
@Slawek: no, davvero, le persone sono stupide.
Bryan Boettcher,

@JarrodRoberson, difficilmente sono solo i suoi utenti - quando si tratta di applicazioni Web rivolte al pubblico, questo è generalmente ciò che ottieni. Detto questo, piaccia o no , occupa ancora risorse di supporto ed è una domanda molto valida.
GrandmasterB,

Risposte:


7

Password errata (da quella che devono reimpostare spesso la incollano con uno spazio alla fine). Ci dicono cosa stanno usando ma non abbiamo modo di dire loro quale sia la loro vera password.

Risolvibile includendo invece un collegamento con un GUID una tantum che li accede e li costringe a reimpostare la password. Non forzare l'utente a copiare e incollare. (Inoltre, perché non rimuovere gli spazi bianchi alla fine della password nel modulo.)

Dicendo che non ricevono l'e-mail che li inviamo (attivazione, ripristino, ecc.). Questo non è spesso il caso, dopo una lunga risoluzione dei problemi abbiamo di solito scoperto di aver fatto un refuso nell'e-mail, che non stavano controllando l'account e-mail giusto o che semplicemente andavano nella cartella spam.

Assicurati che la tua e-mail in uscita sia rimossa da spam (forse imposta account di prova su alcuni comuni servizi di posta), registra tutto ciò che accade e magari segnalalo all'utente se tenta di richiedere un nuovo ripristino (ad esempio, posta a johndoee @ gmail .com non riuscito, l'utente non è stato trovato, l'hai scritto correttamente?). Inoltre, sii chiaro agli utenti sui problemi di ortografia e spam.

Inoltre, OpenID e altre autorità di terze parti sono anche un'opzione, come altri hanno già detto.


alcune persone mettono spazi nelle loro password?
soandos,

Alcune persone tagliano e incollano password generate automaticamente e includono spazi all'inizio e / o alla fine accidentali. (Leggi la domanda.)
Macke,

3

Direi di utilizzare un metodo di autenticazione di terze parti, come Facebook, OpenID, Google ... tutto ciò che è appropriato per i tuoi utenti. Tuttavia, se i tuoi utenti non riescono a ricordare la tua password, forse non saranno in grado di utilizzare un sistema di autenticazione di terze parti ...

A seconda della situazione, potresti essere in grado di utilizzare un altro sistema, ad esempio i certificati client SSL (sono sicuramente difficili da installare per gli utenti finali, ma se questa è un'azienda e puoi automatizzare la sua installazione, è eccezionale), Windows SSO, un'app mobile, ecc.


I certificati dei clienti sono un'idea terribile. Sono insicuri e un incubo da risolvere in remoto se qualcosa va storto. Openid è comunque una buona idea
Tom Squires,

In che modo i certificati non sono sicuri?
Bernard,

@bernard chiunque abbia quel PC ha il certificato. È anche abbastanza facile uscire con un virus
Tom Squires,

1
Sono d'accordo sul fatto che sono sicuri solo quanto la macchina su cui risiedono, ma è un problema completamente diverso.
Bernard,

3

Hai persino bisogno di farlo? La prima cosa che devi fare determina ciò che stai proteggendo e da chi lo stai proteggendo. Forse non vale il costo delle migliori pratiche e forse le migliori pratiche non fermeranno nemmeno il tuo attaccante.

Se sei contro l'NSA e hai qualcosa che vogliono, rinuncia e rendi la vita facile ai tuoi utenti. Se hai numeri di carta di credito, dovrai affrontare i problemi richiesti dal livello di sicurezza richiesto, perché ci sono dei cattivi là fuori che li vogliono e spenderanno denaro e tempo per ottenerli. È l'accesso a un album di foto di famiglia, hai bisogno di tutta quella sicurezza.

Leggi su Buce Scheiners funziona (Secrets and Lies) come un buon inizio per comprendere la sicurezza.


3

La prima cosa che salta fuori è che le tue e-mail vanno nella posta indesiderata. Configurare l'e-mail in modo che venga riconosciuto come reale non è banale. Ti suggerisco di capire come impedire che la tua email venga contrassegnata in modo errato (domanda separata su SO?)

La seconda cosa che consiglierei è dare ai tuoi utenti un sito web / app con un clic che avvia le email di recupero della password. Rifiuta di farlo diversamente dall'e-mail, non è sicuro e crea un precedente negativo.


Non che l'e-mail sia un modo particolarmente sicuro per trasmettere informazioni sensibili. Se solo gli utenti regolari potessero essere disturbati con i tasti GPG e ssh ...
tdammers,

@tdammers sono d'accordo che non è così sicuro. È comunque diventata la chiave di volta della tua identità online (nel bene e nel male). Al momento non esiste un'alternativa migliore possibile.
Tom Squires,

Si C'è. E-mail crittografata. Lo uso sempre e mi dà fastidio che anche le grandi aziende non si preoccupino di offrire la crittografia pubkey per e-mail sensibili. Non è nemmeno difficile da implementare. Trovo strano che esistano delle leggi (almeno qui nei Paesi Bassi) che rendono SSL obbligatorio per le informazioni sensibili, ma allo stesso tempo, l'invio delle stesse informazioni su un semplice SMTP è ritenuto accettabile.
martedì

@tdammers Non ne so abbastanza per consigliarlo da solo. Vale comunque la pena di prendere in considerazione l'OP
Tom Squires

2

Il fatto che siano disposti a chiamarti e dirti la loro password ad alta voce ti dice che per questi utenti, la password e le informazioni che protegge non sono un grosso problema. Non farei mai nessuna di queste cose con la mia password bancaria. Ma ci sono un certo numero di siti che richiedono password per cose che in realtà non li meritano. Ho una password standard che uso per tutte quelle, e più "hey non è una password sicura" o "ti faremo una password e ti costringeremo a cambiarla regolarmente" e così via, meno voglio usare quel servizio. Avrei una breve conversazione con le persone "di valore commerciale" nella tua vita per vedere se in realtà solo tenerle in chiaro nel db e inviarle via e-mail alle persone su richiesta sarebbe un approccio migliore.

Se in realtà questo dovesse essere così sicuro, potresti provare quello che uno dei miei clienti ha fatto con il sistema che abbiamo programmato per loro. Mentre sei al telefono con la persona, vai nel db e cambia il tuo indirizzo e-mail con il tuo. Quindi vai sul Web e fai clic su Password dimenticata. Attendere l'e-mail e utilizzarla per accedere. Utilizzando il sito Web, modificare la password in Password o qualcos'altro che si accetta verbalmente con il cliente. Cambia il loro indirizzo e-mail al loro indirizzo e digli "tutto pronto, la tua nuova password è attiva ora!" Cliente felice e non devi spiegare loro cosa sta succedendo.


2
La modifica diretta del database è una violazione della sicurezza in sé. Ciò significa che puoi impersonare qualsiasi utente che utilizza il tuo sistema.
Bernard,

3
I miei clienti avevano un'app di Windows con la quale potevano modificare qualsiasi campo per qualsiasi utente, dire se avevano un fax che diceva che ora avevano un nuovo numero di telefono. Naturalmente è stato verificato. Ovviamente quando ho visto questa procedura scritta attaccata al muro vicino al banco di supporto NON ero FELICE. Ma sono arrivato ad accettarlo, e c'è una pista di controllo che mostra cosa è successo se qualcuno dovesse mai chiamare e lamentarsi che la loro password è stata ripristinata senza il loro consenso. Il fatto è che non tutto deve essere così sicuro. E gli utenti ti stanno dicendo che non è necessario.
Kate Gregory,

1
Sfortunatamente, la maggior parte degli utenti non ne sa di meglio. Spetta agli sviluppatori di applicazioni software applicare le migliori pratiche.
Bernard,

4
Sono d'accordo che questo è un grosso buco nella sicurezza. E sono d'accordo che potrebbe essere la soluzione più appropriata. Tuttavia, sembra incredibilmente sciocco che l'assistenza clienti debba modificare temporaneamente l'indirizzo e-mail del cliente per reimpostare la password dell'utente: se si desidera consentire all'assistenza clienti di reimpostare le password, lasciare che lo facciano direttamente.
John Bartholomew,

4
Vorrei anche notare che rivelare le password in testo semplice che gli utenti hanno impostato (in effetti, archiviare le password in testo normale) è, a mio avviso, enormemente peggiore di dare al supporto del cliente la possibilità di cambiare direttamente le password degli utenti.
John Bartholomew,

2

il metodo di ultima istanza che ho usato su un sistema con utenti molto analfabeti in passato era di indirizzare l'utente su uno schermo in cui venivano dati un numero di telefono e un numero di conferma. Chiamarono il numero di telefono, verificarono la loro identità con mezzi manuali e poi lessero la conferma. la persona di supporto ha effettuato l'accesso a un sistema separato, immesso il numero e ottenuto un secondo numero da restituire al client. il client ha utilizzato il secondo codice per continuare alla pagina di reimpostazione della password. la versione client della pagina non può essere eseguita dalle sottoreti del personale di supporto e la schermata di supporto non può essere eseguita dai client.

non è a prova di proiettile poiché una persona di supporto potrebbe utilizzare un VPN per eseguire entrambe le estremità da una posizione, ma è stato sufficiente per il controllo poiché l'account di supporto è stato registrato come responsabile dell'attività


-5

Forse implementando regole di sicurezza che non sono INSANE. In questo modo, tutto ciò che ottieni è davvero meno sicurezza, perché il sistema è così difficile da usare che i tuoi clienti recupereranno le password a te e ai loro amici solo per farlo funzionare!

Non puoi semplicemente inviare loro i collegamenti NORMALI, quindi la password qui sotto. Se il collegamento viene interrotto dal client di posta elettronica, visualizza semplicemente il modulo con un campo "codice di attivazione" ... "digita il codice di attivazione che hai nell'email" ... 5 cifre in modo che non confondano 0 con O, ecc. 4 le cifre vanno bene per le carte di credito e hai bisogno di una politica così complicata per un accesso semplice? Se il codice non funziona, ripetere il controllo con la stringa TRIMmed? Immagino che non lo renderà meno sicuro, giusto? :)

Anche a me succede spesso ... faccio doppio clic sulla password e lo spazio finale viene copiato. È incredibile per me perché le persone non riescono a capire solo per rimuovere i caratteri bianchi finali quando il controllo fallisce e ripetere il processo? Quindi forse un TOGGLE che mi permette di controllare se non ho premuto CL accidentalmente.

Lo hai complicato così tanto. Non è "reimposta password" e "password iniziale" ... ma "Codice di conferma" e "Inserisci il numero di conferma che ti inviamo all'indirizzo e-mail", "Non hai un indirizzo e-mail? È stato inviato a xxx@yyy.com, controlla di nuovo il tuo spam, non ce l'hai ancora? Rinvia l'email di conferma ". Nel corpo HTML un link. http://xxx.com/conf-12345-mymail-gmail-com.html . Nessun client di posta lo interromperà.


5
La politica di sicurezza che ha citato non è solo "INSANE" ma dovrebbe essere un requisito per tutte le applicazioni "SANE". I collegamenti come questo inviati via e-mail devono scadere dopo un po 'per impedire il ripristino della password (tramite il furto del collegamento direttamente o inciampando su di esso tramite algoritmo computerizzato). Le password probabilmente dovrebbero essere tagliate prima della convalida però. Gli utenti sono stupidi. È la legge. La risposta non è di ridurre le nostre misure di sicurezza ma di adottare misure proattive per aiutare i nostri utenti a comprendere le procedure appropriate.
Dalin Seivewright,

7
-1. Questo è un modo sano di farlo, che la maggior parte dei siti utilizza. Se emetto una "password dimenticata" su un sito e ricevo un'email con la mia password in testo normale, chiudo il mio account.
Matt Grande,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.