Come archiviare in modo sicuro le credenziali del server di posta specifiche dell'utente sul lato server di un'applicazione Web

4

Ho un'applicazione web asp.net che genera e-mail quando gli utenti eseguono azioni perfrom ... queste e-mail in genere sono notifiche agli altri utenti che dovrebbero vedere / fare qualcosa. Gli utenti possono essere interni all'azienda o esterni (subappaltatori).

Queste email sono memorizzate nel database e raccolte da un servizio di posta elettronica. Il database e il servizio di posta elettronica sono spesso, ma non sempre, su un server diverso dall'app Web.

Il servizio email fino ad ora ha inviato le email da un account generico o l'impostazione del mittente come email dell'utente, quindi sembra che provenga direttamente da loro.

Il problema che ho è che alcune delle nostre più recenti impostazioni del cliente non consentono l'invio di e-mail che si pretende siano inviate da qualche parte e in realtà inviate da qualche altra parte. La soluzione che sto osservando è che l'utente inserisca le proprie impostazioni smtp e quindi il servizio utilizzerà queste impostazioni per inviare effettivamente l'e-mail da quell'utente. ... tuttavia, devo essere in grado di memorizzare le impostazioni smtp in modo sicuro, inclusa la password, in modo che il servizio possa recuperarle.

Qualcuno può suggerire per favore come posso memorizzare in modo sicuro le impostazioni, o se non è possibile allora in che modo posso affrontare questo problema?

grazie in anticipo.

    
posta RazorUK84 05.06.2018 - 16:13
fonte

2 risposte

5

Non farlo. Non correre il rischio.

Jira, ad esempio, imposta From: <user name> [email protected] e reply to: [email protected]

Quindi l'utente vede il nome della persona giusta in from , risponde all'e-mail corretta e il messaggio proviene dal tuo dominio (sostituisci Jira con il tuo dominio). Quindi sul tuo dominio, assicurati di utilizzare DKIM, DMARC e SPF appropriato (Amazon SES e Sendgrid sono ottime opzioni per esternalizzare il recapito SMTP configurato correttamente).

Ora il server di posta ricevente può decidere di fidarsi dell'email dal tuo dominio perché il tuo dominio ha una buona reputazione. E gli utenti ricevono email che sembrano provenire dai loro amici.

    
risposta data 05.06.2018 - 20:39
fonte
0

Se è necessario memorizzare le credenziali (che in questo caso non si dovrebbe), è necessario:

  1. Criptali,
  2. Proteggi i tasti
  3. Monitoraggio della decrittografia

L'utilizzo di un microservizio come Hashicorp Vault o un HSM (modulo di crittografia hardware) consente di mantenere separate le chiavi e i dati tranne nel servizio di crittografia.

    
risposta data 05.06.2018 - 20:44
fonte

Leggi altre domande sui tag