it-swarm.dev

Mando solo username e password su https. Va bene?

Quando un utente accede al mio sito, mi invia il nome utente e la password tramite https. Oltre a ssl, non esiste uno speciale offuscamento della password: vive nella memoria del browser in chiaro.

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

53
Riley Lark

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

È necessario fare attenzione a eseguire l'hashing della password in modo appropriato sul lato server prima di archiviarla nella memoria persistente (ad esempio, in un database) e prestare attenzione a utilizzare metodi adeguati per l'hash della password. Vedi, ad esempio, Come eseguire l'hashing sicuro delle password? , Quale metodo di hashing delle password devo usare? , Gli algoritmi di hash delle password più sicuri? , Alcuni esperti di sicurezza raccomandano bcrypt per l'archiviazione delle password? .

Se desideri fornire ulteriore sicurezza ai tuoi utenti, ecco alcuni passaggi che potresti adottare:

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

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

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

43
D.W.

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

6
Steve Dispensa