Crittografia con Mongo

11

Come posso raggiungere i seguenti obiettivi?

  • Tutto il calcolo e lo spazio di archiviazione devono trovarsi nel cloud.
  • Crittografia in transito di tutti i dati tra nodi Web e nodi db che eseguono MongoDB.
    • Come impostare i tunnel? Quali protocolli / strumenti?
  • Criptazione a riposo di tutti i dati memorizzati in MongoDB.
  • Tutti i dati vengono sottoposti a backup (anche sul cloud) frequentemente.
    • I backup sono crittografati in transito e a riposo.
  • Tutti i problemi di crittografia e gestione delle chiavi vengono gestiti nell'infrastruttura, non nell'applicazione.
    • Non dovrebbe richiedere alcuna modifica al codice dell'applicazione.
  • Le chiavi per la crittografia di tutto il resto possono essere ruotate regolarmente.
    • Il processo di rotazione delle chiavi è semplice, programmabile, automatizzabile
    • I dati memorizzati nel passato dovrebbero essere recuperabili in qualsiasi momento, anche dopo arbitrariamente molte rotazioni di chiavi.
    • I backup dovrebbero essere recuperabili per un certo periodo di tempo: dovrebbero sopravvivere almeno a una rotazione della chiave.

Pubblica post, anche se hai solo risposte parziali o risposte a un singolo punto elenco. Una soluzione a un sotto-obiettivo è parte della soluzione all'obiettivo generale.

Grazie in anticipo per le tue risposte!

    
posta yfeldblum 11.04.2011 - 18:10
fonte

2 risposte

7

I tuoi requisiti non sono specifici del cloud. Questa stessa soluzione funzionerà con un hosting tradizionale. Il segno distintivo del cloud computing è il consumo di risorse dinamiche avviando le VM solo quando ne hai bisogno.

1) Per quanto ne so MongoDB non supporta SSL . Per avere una connessione sicura con MongoDB dovrai usare una VPN per creare un tunnel sicuro.

2) È quasi sempre meglio crittografare i dati prima di inserirli nel database. Da una prospettiva sicura se il tuo database si prende cura della crittografia, allora richiede una chiave e il database viene compromesso, quindi anche i dati crittografati vengono compromessi. Questo dovrebbe essere curato dalla tua applicazione, nota anche che un codice stream produrrà messaggi più piccoli e risparmia spazio. I cifrari Stream sono sicuri se usati correttamente, (IV unico per ogni messaggio).

3) Esistono molti servizi di backup che utilizzano la crittografia. Se stai facendo da solo, ti consiglio di utilizzare il progetto open source Bacula .

    
risposta data 11.04.2011 - 18:55
fonte
3

MongoDB è solo circa 1/10 relativo a ciò che stai chiedendo, penso. In pratica, vuoi sapere come archiviare in modo sicuro i dati e le chiavi associate nel cloud. Ci sono interi libri scritti su questo ...:)

La tua domanda potrebbe essere troppo ampia per me per offrire una risposta ragionevole, ma altri potrebbero essere in grado di fare di meglio.

Detto questo, c'è una guida per i modelli e le pratiche scritta da Microsoft su protezione della tua applicazione cloud . Questo è tuttavia specifico di Azure.

    
risposta data 11.04.2011 - 18:50
fonte

Leggi altre domande sui tag