Cómo almacenar de forma segura las credenciales del servidor de correo específicas del usuario en el lado del servidor de una aplicación web

4

Tengo una aplicación web asp.net que genera correos electrónicos cuando los usuarios realizan acciones ... estos correos electrónicos generalmente son notificaciones a otros usuarios de que deben ver / hacer algo. Los usuarios pueden ser internos de la empresa o externos (subcontratistas).

Estos correos electrónicos se almacenan en la base de datos y son recogidos por un servicio de correo electrónico. La base de datos y el servicio de correo electrónico están a menudo, pero no siempre, en un servidor diferente al de la aplicación web.

Hasta ahora, el servicio de correo electrónico ha estado enviando correos electrónicos desde una cuenta genérica o configurando al remitente como el correo electrónico del usuario para que parezca que viene directamente de ellos.

El problema que tengo es que algunas de las configuraciones más nuevas de nuestros clientes no permiten que los correos electrónicos que se reclaman se envíen desde algún lugar y, de hecho, se envíen desde otro lugar. La solución que estoy buscando es hacer que el usuario ingrese su configuración de smtp y luego el servicio utilizará esta configuración para enviar el correo electrónico de ese usuario. ... sin embargo, necesito poder almacenar la configuración de smtp de forma segura, incluida la contraseña, para que el servicio pueda recuperarlos.

¿Alguien puede sugerirme cómo puedo almacenar de forma segura la configuración, o si no es posible, de qué otra manera puedo abordar este problema?

gracias de antemano.

    
pregunta RazorUK84 05.06.2018 - 16:13
fuente

2 respuestas

5

No. No te arriesgues.

Jira, por ejemplo, establece From: <user name> [email protected] y reply to: [email protected]

Luego, el usuario ve el nombre de la persona correcta en from , responde al correo electrónico correcto y el mensaje proviene de su dominio (reemplace Jira con su dominio). Luego, en su dominio, asegúrese de usar DKIM, DMARC y el SPF adecuado (Amazon SES y Sendgrid son excelentes opciones para subcontratar la entrega SMTP correctamente configurada).

Ahora el servidor de correo receptor puede decidir confiar en el correo electrónico de su dominio porque su dominio tiene una buena reputación. Y los usuarios reciben correos electrónicos que parecen provenir de sus amigos.

    
respondido por el Jonathan 05.06.2018 - 20:39
fuente
0

Si debe almacenar credenciales (que creo que no debería en este caso), debe:

  1. Cifralas,
  2. Proteger las claves
  3. descifrado del monitor

El uso de un microservicio como Hashicorp Vault o un HSM (módulo de cifrado de hardware) le permite mantener las claves y los datos separados, excepto en el servicio de cifrado.

    
respondido por el Jonathan 05.06.2018 - 20:44
fuente

Lea otras preguntas en las etiquetas