Come memorizzare le password che devono essere rilette

1

Ho un'utilità che funziona a determinati intervalli. Il mio cliente ora desidera che invii un'email quando l'attività è completata.

Vogliono essere in grado di controllare l'indirizzo email, cioè vogliono poter inserire i loro dettagli SMTP.

Questo è un compito abbastanza semplice, ma la memorizzazione della password non lo è.

Quando i clienti si collegano a un sito Web, lo faccio con hash, ma è semplicemente perché non ho bisogno di usare la password, tuttavia, per email, dovrò inviare l'email, probabilmente in testo semplice.

Accetto che l'invio della password tramite la rete al server SMTP in testo normale sia un rischio, ma non è questa la domanda.

Sono più preoccupato per qualcuno che trova i dettagli della password in testo normale all'interno di un file di testo o di un campo di un database. Devo offrire almeno un certo livello di difesa.

È tanto semplice come crittografare la password in quanto tale che posso decodificarla?

    
posta MyDaftQuestions 29.06.2015 - 11:47
fonte

2 risposte

1

Supponendo di possedere server SMTP,

  1. Istituirò istanze locali firewalled di Node.js o qualcosa del genere sugli stessi computer in cui si trova SMTP e memorizzeranno le password crittografate su quelle macchine. Imposta le autorizzazioni di accesso locale appropriate su tali server.
  2. Esporre quindi tali istanze per determinate richieste a determinati indirizzi IP solo per coprire il servizio principale.

In questo caso, le tue password sono protette un po 'di più perché non sono accessibili dall'esterno. Non è necessario memorizzarli nel tuo database principale.

UPDATE: con questa architettura stai astringendo la comunicazione verso i server SMTP verso le istanze Node.js. Quindi l'applicazione principale può davvero connettersi a qualsiasi cosa succeda se si mantengono i contratti.

    
risposta data 29.06.2015 - 19:14
fonte
-1

Considera l'utilizzo dei vault password incorporati. Ad esempio, Windows 8 ha un gestore di credenziali, Windows 7 ha l'API di protezione dati, Apple ha portachiavi, ecc.

Si noti che tali funzionalità proteggono principalmente contro il furto della password da parte di un utente senza credenziali diverse dal proprietario (ad esempio, su sistemi multiutente).

Come non hai spiegato il tuo modello di minaccia, non sono sicuro che sia sufficiente.

    
risposta data 29.06.2015 - 19:51
fonte

Leggi altre domande sui tag