Comment faire une sauvegarde cryptée de type rsync?

38

Je souhaite enregistrer une sauvegarde de mes données sur un serveur distant, mais je ne souhaite jamais que le serveur de sauvegarde affiche les données non chiffrées. La modification et la sauvegarde d'un seul fichier ne doivent pas avoir pour effet de tout chiffrer et de renvoyer. Le serveur distant ne devrait de préférence même pas connaître la structure du répertoire (et surtout pas les noms de répertoire).

Y a-t-il une telle solution?

intuitif
la source
Découvrez cette solution EncFS à serverfault: serverfault.com/a/268915/185896
Mark K Cowan

Réponses:

25

La meilleure chose est la duplicité . Le seul inconvénient est qu'il ne gère pas les liens durs.

Une autre solution est Tartarus , qui peut être acheminé via GPG et FTP / SSH directement vers un serveur de sauvegarde. Il fait des incrémentaux.

Voici les instructions du tartare, en allemand .

Arme à feu
la source
( Édition 2013) trouvé sur github: github.com/wertarbyte/tartarus ; c'est GPLv3; Je vérifierai si le climat est toujours aussi bon aujourd'hui qu'en 2011;)
Cerber
2019 ici. le tartare n'a pas bien vieilli. la duplicité a mûri, mais le développement semble toujours avoir été hébergé sur le site de geocities
jnovack
9

Je pense que vous aimerez rsyncrypto .

Utilisez rsyncrypto pour crypter des fichiers de votre répertoire en texte brut vers votre répertoire crypté et décrypter des fichiers de votre répertoire crypté et de votre répertoire en texte brut à l'aide de clés que vous conservez localement.

Utilisez rsync pour synchroniser votre répertoire crypté avec l'hôte distant.

L'implémentation rsyncrypto que vous pouvez télécharger maintenant à partir de Sourceforge gère non seulement les modifications d'octets, mais également les insertions et les suppressions.

Avec rsyncrypto, toutes les clés de chiffrement ne quittent jamais l'ordinateur local.

"Le serveur distant ne devrait de préférence même pas connaître la structure du répertoire"

Dans ce cas, vous voudrez utiliser l' --name-encrypt=mapoption. Cela fait que chaque nom de fichier crypté est une chaîne de caractères aléatoire et que, par défaut, tous les noms de fichier altérés sont stockés dans un seul répertoire. Les vrais noms de fichiers et noms de dossiers sont stockés dans le fichier (crypté) nommé "filemap".

Connexe: "Existe-t-il un système de contrôle de version crypté?"

David Cary
la source
1

Rclone a été développé ces dernières années . Sa devise est "rsync pour le stockage en nuage", mais au-delà de choses comme S3 / Azure / Google / etc. fournisseurs de stockage en nuage, il prend également en charge la synchronisation entre les cibles locales et les cibles SSH / SFTP.

Tout vous configurez « à distance », vous pouvez également ajouter une crypte wrapper autour d' elle. Cela agit comme la télécommande d'origine, mais le contenu de tous vos fichiers (et éventuellement les noms de fichiers eux-mêmes) est crypté côté client. L'algorithme est documenté, et c'est un processus généralement transparent dans mon expérience jusqu'à présent.

Natevw
la source
0

tarsnap fait cela, mais vous ne contrôlez pas le serveur distant, cette fin n'étant disponible qu'en tant que service (payant). Il répond toutefois à vos exigences.

Bruno Rohée
la source
0

Vous pouvez utiliser encfs en mode "inverse". Cela vous donne une "vue" chiffrée d'un dossier local. Ensuite, vous synchronisez cette vue chiffrée à la place des données non cryptées. Cela vous donne tous les avantages de rsync sans qu'il soit nécessaire de disposer d'une copie cryptée de vos données.

Michael Wyraz
la source