Best practice per la sicurezza della posta elettronica

12

Scrivo un livello di sicurezza per la mia app e desidero ricevere suggerimenti sull'aggiornamento degli indirizzi email degli utenti (utilizzato anche per il login).

Mi interessa sapere da chiunque abbia scritto un'applicazione con requisiti simili. Come faresti a riguardo? Ecco alcuni modi in cui ho pensato, ma sospetto che mi manchi qualcosa:

Approccio uno

  1. Aggiorna l'indirizzo e invia un'email di conferma al nuovo indirizzo
  2. Se l'indirizzo non viene confermato con 48 ore, sospenderlo
    • È facile.
    • Se il nuovo indirizzo è errato, l'utente viene escluso dall'account.
    • Qualcuno può dirottare l'account cambiando l'indirizzo dell'utente.

Approccio 2

  1. Aggiorna l'indirizzo e archivia temporaneamente il vecchio valore
  2. Invia una email di notifica al vecchio indirizzo con un'opzione per revocare la modifica
  3. Invia un'email di conferma al nuovo indirizzo
  4. Ripristino il vecchio indirizzo se l'utente revoca la modifica (tramite l'e-mail di notifica)
  5. Se la modifica non viene revocata, ma il nuovo indirizzo non viene confermato entro 48 ore, sospendo l'account.

    • sicura
    • Molto più lavoro

Approccio tre

  1. Non aggiornare l'indirizzo ma memorizzare temporaneamente il nuovo valore
  2. Invia un'email di conferma al vecchio indirizzo per confermare la modifica.
  3. Se la modifica è confermata, esegui l'aggiornamento e invia un'email di conferma al nuovo indirizzo.
  4. Se il nuovo indirizzo non viene confermato con 48 ore, sospendi l'account.

    • sicura
    • Molto più lavoro

È meglio essere il più sicuro possibile, ma non voglio escludere l'utente dandogli 1001 cose da fare solo per cambiare un indirizzo email.

Potrebbero anche avere indirizzi email secondari , non utilizzati per l'accesso, ma per altri scopi e non sono sicuro di come gestire gli aggiornamenti a tali indirizzi. Le idee sono ben accette.

    
posta Mohamad 20.11.2011 - 20:24
fonte

2 risposte

9

Se ti fidi del tuo meccanismo di accesso e gli utenti possono solo modificare le loro e-mail mentre sono loggati, allora semplicemente:

  1. Aggiorna l'indirizzo email.
  2. Avvisa l'utente sul sito web.
  3. Invia una notifica via email al vecchio indirizzo email su una modifica, incluso un link per segnalare eventuali problemi.

Altrimenti, utilizza il tuo approccio tre , ma senza il punto 4. Inoltre, in questo caso, invia una notifica sull'aggiornamento a entrambi gli indirizzi email.

    
risposta data 20.11.2011 - 20:26
fonte
8

La mia conclusione è essenzialmente la stessa di di Darthenius .

Non capisco perché tu blocchi sempre l'account se non ti seguono. Ciò non sembra sicuro: c'è un grosso rischio di blocco.

Qualsiasi approccio che richiede l'accesso al vecchio indirizzo non riesce a gestire il caso quando l'utente sta cambiando il suo indirizzo proprio perché non ha più accesso al vecchio indirizzo. Questo è un caso comune: prima perdi l'accesso a un indirizzo email e poi ti rendi conto che ci sono ancora una dozzina di posti che lo usano ancora.

Idealmente, entrambi gli indirizzi e-mail dovrebbero rimanere validi fino alla conferma del cambio di indirizzo. È comune perdere l'accesso a un indirizzo, ma meno comune che questo indirizzo venga immediatamente riptribuito (di solito, è un indirizzo istituzionale che si perde perché si perde il lavoro, la borsa di studio, ...).

Se puoi avere un solo indirizzo, considera il vecchio indirizzo come valido finché il nuovo indirizzo non è stato confermato. Non fare nulla se il nuovo indirizzo non è confermato. Questo è il tuo approccio tre, solo senza il blocco. Non è molto lavoro: tutto ciò di cui hai bisogno è un record di modifica dell'indirizzo in sospeso, che viene attivato dal codice di conferma dell'email di conferma.

L'indirizzo email principale o secondario non entra realmente nell'immagine.

    
risposta data 20.11.2011 - 20:39
fonte

Leggi altre domande sui tag