Sto cercando di progettare la strategia migliore per raggiungere i seguenti obiettivi:
- Protezione dei dati sul cavo tra il mio server e MongoHQ.
- Crittografia di tutti i dati a riposo con MongoHQ (possibilmente anche valori chiave).
E questa è la mia attuale strategia di lavoro:
- Utilizzare un tunnel VPN per connettersi a MongoHQ usando il protocollo mongodb. Non credo che il protocollo mongodb supporti ancora SSL (o lo sarà mai?) Quindi credo che questa sia la mia unica opzione a meno che non voglia usare l'API REST (che non lo faccio).
- Sto utilizzando un nodo / stack espresso, quindi credo che la mia opzione "migliore" per raggiungere l'obiettivo di crittografia / decrizione sia l'utilizzo di un modulo come node-cryptojs-aes o crypto-wrapper per gestire tutti crittografia e decrittografia nel livello applicazione, quindi memorizzare i dati crittografati in MongoHQ.
Nota: utilizzerei bcrypt per le password hash e salt.
Le domande che ho sono:
- La soluzione VPN / tunnel è buona per stabilire una connessione sicura tramite il protocollo mongodb?
- Dovrei preoccuparmi di crittografare le chiavi nei miei documenti? Suppongo che questo sia soggettivo, ma esiste una best practice consolidata?
- AES è lo strumento giusto da utilizzare quando si crittografa tutti i dati nel DB? Esiste un'alternativa che potrebbe offrire prestazioni e / o sicurezza migliori?
Grazie in anticipo per qualsiasi aiuto.