Mejores prácticas para la seguridad del correo electrónico

11

Estoy escribiendo una capa de seguridad para mi aplicación y me gustaría su opinión sobre la actualización de las direcciones de correo electrónico de los usuarios (también se usa para el inicio de sesión).

Me interesa saber de alguien que haya escrito una solicitud con requisitos similares. ¿Cómo lo harías? Aquí hay algunas maneras en las que pensé, pero sospecho que me estoy perdiendo algo:

Enfoque uno

  1. Actualice la dirección y envíe un correo electrónico de confirmación a la nueva dirección
  2. Si la dirección no se confirma con 48 horas, suspende
    • Es fácil.
    • Si la nueva dirección es incorrecta, el usuario queda bloqueado de la cuenta.
    • Alguien puede secuestrar la cuenta cambiando la dirección del usuario.

Enfoque dos

  1. Actualice la dirección y almacene el valor anterior temporalmente
  2. Envía un correo electrónico de notificación a la dirección anterior con una opción para revocar el cambio
  3. Envíe un correo electrónico de confirmación a la nueva dirección
  4. Restablecí la dirección anterior si el usuario revoca el cambio (a través del correo electrónico de notificación)
  5. Si el cambio no se revoca, pero la nueva dirección no se confirma dentro de las 48 horas, suspendo la cuenta.

    • seguro
    • Mucho más trabajo

Enfoque tres

  1. No actualice la dirección, pero almacene el nuevo valor temporalmente
  2. Envíe un correo electrónico de confirmación a la dirección anterior solicitando la confirmación del cambio.
  3. Si se confirma el cambio, realice la actualización y envíe un correo electrónico de confirmación a la nueva dirección.
  4. Si la nueva dirección no se confirma en 48 horas, suspenda la cuenta.

    • seguro
    • Mucho más trabajo

Es mejor estar lo más seguro posible, pero no quiero dejar de lado al usuario dándole 1001 cosas que hacer solo para cambiar una dirección de correo electrónico.

También pueden tener direcciones de correo electrónico secundarias , no se utilizan para iniciar sesión, pero sí para otros fines, y no estoy seguro de cómo manejar las actualizaciones de esas direcciones. Las ideas son bienvenidas.

    
pregunta Mohamad 20.11.2011 - 20:24
fuente

2 respuestas

8

Si confía en su mecanismo de inicio de sesión, y los usuarios solo pueden cambiar sus correos electrónicos mientras están conectados, simplemente:

  1. Actualizar la dirección de correo electrónico.
  2. Notificar al usuario en el sitio web.
  3. Envíe una notificación por correo electrónico a la dirección de correo electrónico anterior sobre un cambio, incluido un enlace para informar de cualquier problema.

De lo contrario, use su Enfoque tres , pero sin el punto 4. Además, en este caso, envíe una notificación sobre la actualización a ambas direcciones de correo electrónico.

    
respondido por el Rok Strniša 20.11.2011 - 20:26
fuente
8

Mi conclusión es esencialmente la misma que Darthenius's .

No entiendo por qué siempre se bloquea la cuenta si no se realiza un seguimiento. Eso no parece seguro: existe un gran riesgo de bloqueo.

Cualquier enfoque que requiera acceso a la dirección antigua no puede manejar el caso cuando el usuario está cambiando su dirección precisamente porque ya no tiene acceso a la dirección antigua. Este es un caso común: primero pierdes el acceso a una dirección de correo electrónico, y luego te das cuenta de que hay una docena de lugares que aún la usan.

Lo ideal es que ambas direcciones de correo electrónico sigan siendo válidas hasta que se confirme el cambio de dirección. Es común perder el acceso a una dirección, pero menos común es que esta dirección se vuelva a atribuir de inmediato (por lo general, es una dirección institucional que se pierde porque pierde su trabajo, la beca de estudios, ...).

Si solo puede tener una única dirección, trate la antigua dirección como válida hasta que la nueva dirección haya sido confirmada. No hacer nada si la nueva dirección no está confirmada. Este es su enfoque tres, solo que sin el bloqueo. No es mucho trabajo: todo lo que necesita es un registro de cambio de dirección pendiente, que activa el código de confirmación del correo electrónico de confirmación.

La dirección de correo electrónico principal o secundaria no entra realmente en la imagen.

    
respondido por el Gilles 20.11.2011 - 20:39
fuente

Lea otras preguntas en las etiquetas