Crittografia per rsync efficiente

4

Uso rsync (chiamato anche deltacopy) in una copia di un file di testo di grandi dimensioni (6 GB) (dump del database SQL) su un server remoto. questo mi porta a ridurre la larghezza di banda di 100: 1 semplicemente copiando il file come la maggior parte del contenuto ci è rimasto invariato giorno per giorno

Questo è un singolo file che contiene tutti i dati nel database, rsync confronta il contenuto pezzo per pezzo con il contenuto di destinazione (usando gli hash) e invia solo gli hash e le parti modificate lungo il filo.

Posso invece produrre un dump con un file per tabella di database, ma le sole tabelle che potrebbero essere invariate giorno per giorno sono piccole.

Voglio iniziare a crittografare questo file all'origine e archiviare solo le copie crittografate nella destinazione, ma mi sembra che qualsiasi crittografia più strong di una semplice sostituzione di cifratura comprometta il guadagno di efficienza derivante dall'uso di rsync.

C'è qualche crittografia strong che posso usare per questo scopo?

    
posta Jasen 16.05.2018 - 01:26
fonte

2 risposte

2

Puoi usare duplicità per quello. Duplicity è un'applicazione scritta in Python che utilizza librsync, GnuPG e tar per backup incrementali, crittografati e firmati. È progettato specificamente per situazioni in cui il server non è affidabile (ad esempio, quando viene utilizzato Dropbox o un VPS di Amazon). Duplicity calcola il delta tra l'archivio locale e l'archivio remoto (con metadati memorizzati nella cache localmente) e invia un file crittografato al server remoto contenente i record delle modifiche incrementali e dei dati associati. Ogni file di snapshot ha una dimensione di 25 MiB (sebbene sia configurabile), e senza la chiave, è impossibile stabilire se il file di snapshot contiene 25 MiB di nuovi file, 25 MiB di modifiche incrementali o anche 25 MiB di metadati , come i record di cancellazione dei file.

Generalmente, la duplicità trasmette un solo backup completo una sola volta e quindi tutti i backup successivi saranno in forma di delta. Questo lo rende simile a un sistema di revisione in cui tutte le modifiche passate possono essere ripristinate. Quando un file locale viene eliminato e questo viene sincronizzato con il server remoto, il file remoto viene semplicemente contrassegnato come cancellato. Naturalmente, in qualsiasi momento è possibile "pulire" le vecchie modifiche e fare un nuovo backup completo per risparmiare spazio. Consulta la pagina di manuale per ulteriori informazioni.

Il vantaggio della duplicità è che il server di destinazione può essere completamente non attendibile senza compromettere la possibilità di eseguire backup efficienti e incrementali. Una cache moderata di metadati deve essere archiviata localmente per rendere possibile tutto questo, ma puoi scambiare i requisiti di archiviazione per i requisiti di larghezza di banda e riscaricare i metadati prima di ogni sincronizzazione.

    
risposta data 16.05.2018 - 02:27
fonte
0

Un algoritmo di crittografia è considerato efficace quando il suo output non può essere differenziato dai dati casuali. Pertanto non è possibile avere sia una buona compressione che una buona crittografia, poiché la compressione si basa sull'identificazione di modelli di dati.

Molto probabilmente la tua soluzione cripta e trasferisce solo la differenza tra le versioni di quel file.

    
risposta data 16.05.2018 - 05:05
fonte

Leggi altre domande sui tag