Verschlüsselte Remote-Backups über Rsync?

13

Ich betreibe einen kleinen, bescheidenen CentOS-Server in meinem Haus für verschiedene Backups usw. Mein Freund auf der anderen Seite der Stadt betreibt ebenfalls einen kleinen, bescheidenen Server in seinem Haus für ähnliche Zwecke. Wir haben mit der Idee gespielt, jeden anderen Server für Remote- / Offsite-Backups zu verwenden.

Grundsätzlich würde jeder eine externe Festplatte kaufen, um sie bei jedem zu Hause aufzubewahren und an die Server des anderen anzuschließen. Anschließend planten wir bei jedem Setup die Rsync-Vorgänge, um die entsprechenden Daten von einem Server auf die externe Festplatte auf dem anderen Server zu übertragen. Zum größten Teil ziemlich unkompliziert.

Eine Sache, die (zumindest für mich) wichtig ist, ist die Datenverschlüsselung. Ich möchte meine Daten auf der externen Festplatte auf dem Server meines Freundes speichern. Aber ich möchte nicht, dass mein Freund (oder jemand, der auf den Server meines Freundes zugreift) liest, was sich auf der externen Festplatte befindet.

Was ist der beste Ansatz dafür? Können Sie rsync verwenden, um Daten an ein verschlüsseltes Festplattenlaufwerk zu senden und eine Passphrase zusammen mit den Daten zu übermitteln, die zum Schreiben verwendet werden, sobald sie den Server erreichen?

Jake Wilson
quelle

Antworten:

9

Ich würde einen Blick auf Duplicity werfen.

Duplicity erstellt vollständige und inkrementelle Backups und überträgt sie mit Rsync, ftp, sftp usw.

Duplicity verwendet GPG zum Verschlüsseln der Backups und verwendet Signaturdateien und was nicht.

Ich verwende es, um meine E-Mail-Server zu sichern und es ist fantastisch, eine einfache Batch-Datei.

natürlich kostenlos und einfach zu bedienen.

Manpage: http://duplicity.nongnu.org/duplicity.1.html

hoffe das hilft.

Luc

Luma
quelle
Wow Duplicity rockt und ist super einfach zu rücken und zu restaurieren. Danke für den Tipp!
Jake Wilson
11
## sync local unencrypted data to remote encrypted backups via rsync ..

## mount read-only encrypted virtual copy of unencrypted local data :
encfs --reverse --idle=60 -o ro ~/data/ ~/.tmp_encrypted_data/

## rsync push local encrypted virtual copy of data to remote encrypted copy :
rsync -ai --whole-file ~/.tmp_encrypted_data/ [email protected]:backup/

## unmount encrypted virtual copy of local data :
fusermount -u ~/.tmp_encrypted_data/
Thor
quelle
Wow, ich hatte noch nie von EncFS gehört. Dies ist fantastisch, da ich 200 GB für die Cloud-Synchronisierung von einem Laptop mit 240 GB Festplatte habe.
Mark K Cowan
Diese Lösung scheint optimaler zu sein als die Duplizitäts- oder Rsyncrypto-Varianten. Es ist nur eine einfache Synchronisierung einer verschlüsselten (virtuellen) Version Ihrer Dateien. Genau das war in meiner Situation erforderlich. Problem mit Duplizität ist die GROSSE Vollsicherung. Problem mit rsyncrypto ist die Anforderung einer Kopie Ihrer Daten. EncFS verschlüsselt es nur, wenn rsync die Daten liest.: D
gamecreature
1

Hier ist mein Backup-Skript, das auf Thors Antwort basiert (noch einige Jahre später gültig!). Es fügt das Kopieren der Datei .encfs6.xml nach Bedarf für die spätere Entschlüsselung hinzu (nicht für 2011 erforderlich?), Das Erstellen eines temporären Ordners für die verschlüsselte Bereitstellung und das Lesen des Verschlüsselungskennworts aus der Datei (für die automatische Skripterstellung):

#!/bin/bash

SOURCE=/home/jortiz/Documents/
BACKUP=/media/jortiz/BAK-EXGD/backup_ALMA_E6520/Documents

SOURCE_ENC=$(mktemp -d /tmp/source_enc.XXXXXX)
echo "Created temporary folder $SOURCE_ENC ..."

## sync local unencrypted data to remote encrypted backups via rsync

# mount read-only encrypted virtual copy of unencrypted local data
encfs --extpass="cat /home/jortiz/.passbackup" --reverse --idle=60 -o ro $SOURCE $SOURCE_ENC

# rsync push local encrypted virtual copy of data to remote encrypted copy
rsync -ai --whole-file $SOURCE_ENC/ $BACKUP

# Copy encfs xml file to backup folder for later decryption
rsync -ai --whole-file $SOURCE/.encfs6.xml $BACKUP

# unmount encrypted virtual copy of local data
fusermount -u $SOURCE_ENC

echo "Removing temporary folder $SOURCE_ENC ..."
rmdir $SOURCE_ENC

In meinem Fall richte ich eine tägliche Sicherung meines Laptops und kleiner Server auf einem externen USB-Laufwerk ein, das lokal angeschlossen ist. Ich möchte das Backup für den Fall verschlüsseln, dass das Laufwerk eines Tages zusammen mit einigen sensiblen Daten verschwindet .

bandaangosta
quelle
0

Für eine Lösung wie die oben beschriebene muss der Verschlüsselungsschlüssel an den Computer Ihres Freundes gesendet werden. Wenn wir Ihren Freund als "nicht vertrauenswürdige Site" betrachten, haben Sie gerade Ihre Sicherheit verletzt (er kann den Schlüssel erfassen und Ihre Daten lesen).

Wenn Sie sicherstellen möchten, dass Ihr Freund Ihre Backups nicht lesen kann, müssen Sie die Dateien verschlüsseln, bevor Sie sie senden (z. B. einen Tarball erstellen , ihn mit gpgoder ähnlichem verschlüsseln und dann erneut synchronisieren). Geben Sie ihm niemals den Schlüssel (oder genug) Klartext, um den Schlüssel zurückzuentwickeln).
Beachten Sie, dass dies die Delta-Vorteile (Bandbreiteneinsparungen) der Verwendung von rsync zunichte macht: Die verschlüsselte Datei ändert sich bei jeder Sicherung erheblich, sodass Sie wahrscheinlich jedes Mal das gesamte Dokument kopieren werden.

voretaq7
quelle
2
Das ist das Schöne an Duplicity, es verschlüsselt es, bevor es den Computer verlässt, aber es ist in vollem Umfang in der Lage, inkrementelle Backups durch Lesen von Signaturen / Änderungslisten durchzuführen, und was nicht, deshalb habe ich es ihm vorgeschlagen. Das erste Backup wird viel Zeit in Anspruch nehmen, aber danach ist er einsatzbereit und behält ein gutes Sicherheitsniveau bei.
Luma
0

rsyncrypto wurde genau für diesen Zweck geschrieben. Sie können den Delta-Copy-Algorithmus von rsync nutzen, während Sie Ihre Daten lokal verschlüsseln und die verschlüsselten Blobs remote speichern.

Beachten Sie jedoch, dass rsyncrypto einen Kompromiss zwischen Sicherheit und Leistung eingeht.

FD
quelle
Nachdem ich einen kurzen Blick auf die Funktionsweise von rsyncrypto geworfen habe, habe ich große Angst davor, dass jemand es verwendet. Ich möchte die Meinung eines seriösen Kryptographen zu diesem Ansatz sehen, bevor ich meine Daten anvertraue.
womble