Gestione delle password in un'applicazione web

12

Sto cercando di capire come viene sviluppata un'applicazione web sicura. In particolare, non sono sicuro di come le password vengono inviate dal client al server. Per un tipico modulo di accesso utente / password. Se il client invia un utente di testo in chiaro / passaggio in una richiesta POST su HTTPS. È abbastanza sicuro? Considerando il server hash il pass in chiaro con il sale memorizzato usando qualcosa come bcrypt, con iterazioni sufficienti.

Questo scenario è abbastanza sicuro? Ignorando altri vettori di attacco come iniezioni SQL, XSS ecc. Sto semplicemente cercando di vedere se l'invio di password in chiaro su SSL in una richiesta POST è abbastanza sicuro, o se potrebbe essere necessaria qualche altra sicurezza, sul lato client.

    
posta marcwho 05.04.2013 - 15:15
fonte

4 risposte

14

Sì, l'invio delle informazioni utilizzando POST su HTTPS è il modo tipico di fare le cose.

    
risposta data 05.04.2013 - 15:17
fonte
13

Per completare la risposta di @ Terry: l'invio del nome utente e della password in un POST su HTTPS non è solo il modo tipico che è fatto, è anche il modo corretto per farlo. Questo ti porterà la migliore sicurezza che puoi sperare. Non ho scritto "buona sicurezza", ma avresti difficoltà a fare di meglio; anzi, qualsiasi cosa tu faccia sul lato client, in un contesto Web, dovrebbe usare qualche Javascript ... che proviene dal server stesso. Analogamente, una volta eseguita l'autenticazione, è necessario trasmettere i dati sufficientemente sensibili da garantire l'autenticazione in primo luogo. Quindi dovresti comunque fare affidamento su HTTPS abbastanza sicuro da impedire intercettazioni e manomissioni ostili.

Dovrai comunque assicurarti che il campo di inserimento della password sia "nascosto", ovvero visualizza punti elenco o stelle invece dei caratteri inseriti dall'utente, al fine di scoraggiare spalla surf . Ulteriori espedienti a cui le banche sono affezionate, come le "tastiere visive" per scoraggiare i keylogger di base, sono di solito non vale la pena .

    
risposta data 05.04.2013 - 15:53
fonte
2

Sì, per la sicurezza delle credenziali dell'utente sul canale di trasmissione, post e HTTPS sono sufficienti.ma la gestione delle identità è un argomento molto vasto e ci sono molti altri vettori di attacco che è necessario considerare vedi questo per ulteriori informazioni

    
risposta data 05.04.2013 - 15:34
fonte
1

In pratica è pratica usare HTTPS, ma penso che non dovrebbe sostituire le funzioni di crittografia per salvare l'utente e la sua password!

Contro SQLi, XSS, XSE ti consiglierei di leggere su link

    
risposta data 05.04.2013 - 23:51
fonte

Leggi altre domande sui tag