Ho appena inviato username e password su https. Va bene?

45

Quando un utente accede al mio sito, mi inviano il loro nome utente e password tramite https. Oltre allo ssl, non c'è una speciale offuscazione della password: essa vive nella memoria del browser in chiaro.

C'è qualcos'altro che dovrei fare? Dovrei tenerlo hash in qualche modo, anche nella RAM?

    
posta Riley Lark 12.09.2011 - 07:00
fonte

2 risposte

35

Questo va bene. Non devi fare nient'altro. Non è necessario cancellarlo o offuscarlo nella RAM.

Dovresti fare attenzione a inserire la password in modo appropriato sul lato server prima di memorizzarla nella memoria persistente (ad esempio, in un database), e dovresti fare attenzione a usare metodi appropriati per l'hashing della password. Vedi, ad esempio, Come password di hash sicure? , Quale metodo di hashing della password dovrei usare? , Algoritmo hash della password più sicuro? , Gli esperti di sicurezza consigliano bcrypt per password stoccaggio? .

Se desideri fornire una sicurezza aggiuntiva per i tuoi utenti, ecco alcuni passaggi che puoi eseguire:

  • Utilizza SSL / TLS a livello di sito. Qualsiasi tentativo di visitare il tuo sito tramite HTTP deve immediatamente reindirizzare a HTTPS.

  • Abilita HSTS sul tuo sito. Questo indica ai browser di connettersi solo a te tramite HTTPS. Paypal lo usa. È supportato nelle versioni recenti di Firefox e Chrome.

  • Acquista un certificato EV. Questo fornisce agli utenti un segnale extra (il bagliore verde) che può aiutare alcuni utenti avvisati quando sono sotto attacco. Tuttavia, non è chiaro se questo sarà efficace nella pratica, per gli utenti tipici, quindi c'è qualche discussione sul fatto che i certificati EV aggiungano qualsiasi valore.

Non sto dicendo che devi fare queste cose (anche se SSL / TLS a livello di sito fa una grande differenza). Ma queste sono alcune opzioni che possono aiutare a rafforzare la sicurezza contro alcuni comuni vettori di attacco.

    
risposta data 12.09.2011 - 07:11
fonte
5

Un'ultima cosa che potresti fare sarebbe usare i certificati client. Il server può garantire a se stesso che non esiste un MitM richiedendo un certificato cliente. Altrimenti, deve fidarsi del cliente per convalidare correttamente l'assenza di un MitM. Questo è più di un sacco di servizi dovrebbero essere disposti a fidarsi.

    
risposta data 12.09.2011 - 07:49
fonte

Leggi altre domande sui tag