Sauvegardes à distance cryptées via Rsync?

13

Je gère un petit serveur CentOS modeste chez moi pour des sauvegardes diverses, etc. Mon ami de l'autre côté de la ville gère également un petit serveur modeste chez lui à des fins similaires. Nous avons joué avec l'idée d'utiliser les serveurs de eachothers pour faire des sauvegardes à distance / hors site.

Fondamentalement, nous achetions chacun un disque dur externe à stocker dans les maisons de chacun, branché sur les serveurs de chacun. Ensuite, nous avons configuré chaque rsync programmé pour envoyer les données appropriées d'un serveur vers le disque dur externe de l'autre serveur. Assez simple pour la plupart.

Cependant, une chose qui est importante (au moins pour moi) est l'encryptage des données. Je veux stocker mes données sur le disque dur externe de mon serveur d'amis. Mais je ne veux pas que mon ami (ou quiconque accède au serveur de mon ami) puisse lire ce qui se trouve sur le disque dur externe.

Quelle est la meilleure approche à ce sujet? Pouvez-vous utiliser rsync pour envoyer des données vers un disque dur chiffré et transmettre en quelque sorte une phrase secrète avec les données qu'il utilise pour l'écrire une fois qu'il atteint le serveur?

Jake Wilson
la source

Réponses:

9

Je voudrais jeter un oeil à Duplicity.

Duplicity effectuera des sauvegardes complètes et incrémentielles et les transférera à l'aide de Rsync, ftp, sftp, etcetc.

Duplicity utilise GPG pour crypter les sauvegardes et utilise des fichiers de signature et autres.

Je l'utilise pour sauvegarder mes serveurs de messagerie et c'est fantastique, un simple fichier batch.

gratuit bien sûr et facile à utiliser.

page de manuel: http://duplicity.nongnu.org/duplicity.1.html

J'espère que cela t'aides.

Luc

Luma
la source
wow la duplicité est super et est super facile à sauvegarder et à restaurer. Merci pour l'astuce!
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
la source
Wow, je n'avais jamais entendu parler d'EncFS auparavant. C'est génial, étant donné que j'ai 200 Go à synchroniser sur le cloud à partir d'un ordinateur portable avec un disque de 240 Go.
Mark K Cowan
Cette solution semble plus optimale que les variantes de duplicité ou rsyncrypto. Il s'agit simplement d'une simple synchronisation d'une version chiffrée (virtuelle) de vos fichiers. C'est exactement ce qui était requis dans ma situation. Le problème de duplicité est la GRANDE sauvegarde complète. Le problème avec rsyncrypto est l'exigence d'une copie de vos données. EncFS ne fait que le crypter lorsque rsync lit les données ..: D
gamecreature
1

Voici mon script de sauvegarde basé sur la réponse de Thor (toujours valable plusieurs années plus tard!). Il ajoute la copie du fichier .encfs6.xml selon les besoins pour un décryptage ultérieur (pas nécessaire en 2011?), La création d'un dossier temporaire pour le montage crypté et la lecture du mot de passe de cryptage à partir du fichier (pour les scripts automatisés):

#!/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

Dans mon cas, je mets en place une sauvegarde quotidienne de mon ordinateur portable et de mes petits serveurs sur une clé USB externe connectée localement. Je veux crypter la sauvegarde au cas où le disque disparaîtrait un jour, avec certaines données sensibles.

bandaangosta
la source
0

Une solution comme celle que vous décrivez ci-dessus nécessite d'envoyer votre clé de chiffrement à la machine de votre ami. Si nous considérons votre ami comme un "site non fiable", vous venez de faire exploser votre sécurité (il peut capturer la clé et lire vos données).

Si vous voulez être sûr que votre ami ne peut pas lire vos sauvegardes, vous devez crypter les fichiers avant de les envoyer (par exemple, créer une archive tar, crypter avec gpgou similaire, puis la resynchroniser), et ne lui donnez jamais la clé (ou suffisamment texte en clair pour effectuer une rétro-ingénierie de la clé).
Notez que cela annule les avantages delta (économies de bande passante) de l'utilisation de rsync: le fichier crypté changera considérablement à chaque fois que vous effectuez une sauvegarde, vous devrez donc probablement tout copier à chaque fois.

voretaq7
la source
2
c'est ce qui est bien avec Duplicity, il le crypte avant de quitter l'ordinateur mais il est parfaitement capable de faire des sauvegardes incrémentielles en lisant des signatures / listes de modifications et ce n'est pas le cas, c'est pourquoi je le lui ai suggéré. La première sauvegarde prendra du temps mais ensuite il sera bon de partir tout en maintenant un bon niveau de sécurité.
Luma
0

rsyncrypto a été écrit exactement à cet effet. Il vous permet de tirer parti de l'algorithme delta-copy de rsync tout en chiffrant vos données localement et en stockant les objets blob chiffrés à distance.

Cependant, gardez à l'esprit que rsyncrypto fait un compromis entre sécurité et performances.

FD
la source
Après avoir jeté un rapide coup d'œil au fonctionnement de rsyncrypto, je suis plutôt terrifié à l'idée que quelqu'un l'utilise. J'aimerais voir l'opinion d'un cryptographe réputé sur l'approche avant de lui faire confiance.
womble