Sauvegardes chiffrées dans le cloud

30 novembre 2019 · 3 min de lecture

Restic

La sauvegarde des données est essentielle pour pallier à un problème matériel (panne, destruction…) ou logiciel (rançongiciel…). Voici une solution sécurisée utilisant Restic et le stockage d’objets.

Restic

Restic est un logiciel de sauvegarde multi-plateformes (Windows, Mac, Linux…). Son code source est libre. Les principaux atouts de cet outil sont :

  • la sécurité: il garantit le chiffrement et l’intégrité des données;
  • la rapidité: écrit en Go;
  • l’efficacité: les fichiers sont découpés en plusieurs morceaux uniques pour un gain de place non négligeable. La sauvegarde est incrémentielle sous forme de “snapshots”;
  • support de nombreux protocoles: les données peuvent être sauvegardées dans un dossier local ou distant via SFTP, REST, Amazon S3, Google Cloud Storage…

Pour l’installation, référez-vous à la documentation officielle de Restic.

Le stockage d’objets

Ou “Object storage” est un système d’enregistrement de fichiers sous forme d’objets. Un objet contient la donnée et des méta-données. Il est accessible via un identifiant unique. Les avantages sont :

  • un faible coût: gratuit jusqu’à 75 Go ou 0,01€ HT/mois/Go chez certains hébergeurs que vous trouverez sur internet;
  • augmentation de capacité simplifiée (“scalabilité”);
  • intéraction via des API (outils permettant au développeurs d’intéragir avec les objets).

Ce système est idéal pour la sauvegarde des données. Il est utilisé par Facebook pour le stockage des photos, ou par Dropbox pour le stockage des fichiers.

Sauvegarde chiffrée de vos données

Création d’un dépôt Restic dans le cloud

Récupérez tout d’abord auprès de votre hébergeur les éléments suivants :

  • une clé d’API publique
  • une clé d’API privée
  • l’url du serveur de stockage, par exemple: https://s3.example.com
  • le nom de votre panier (bucket) que vous avez créé pour l’occasion, par exemple: sauvegarde

Pour chiffrer les données avec Restic, il est nécessaire de créer un mot de passe fort. Sous Linux, cela peut se faire avec la commande suivante:

openssl rand -base64 24

Enregistrez-le dans votre gestionnaire de mots de passe préféré. Sans lui, vous ne pourrez plus accéder aux données !

Création du dépôt Restic:

export AWS_ACCESS_KEY_ID="votre_cle_api_publique"
export AWS_SECRET_ACCESS_KEY="votre_cle_api_privee"
restic -r s3:s3.example.com/sauvegarde init

Un mot de passe est demandé, entrez celui généré avec openssl.

Sauvegarde

export AWS_ACCESS_KEY_ID="votre_cle_api_publique"
export AWS_SECRET_ACCESS_KEY="votre_cle_api_privee"
restic -r s3:s3.example.com/sauvegarde forget --keep-last 2 --prune
restic -r s3:s3.example.com/sauvegarde backup /home/toto --exclude={'/home/toto/.*','/home/toto/Téléchargements/'}

La ligne de commande avec l’option --prune est donnée à titre d’exemple pour ne conserver que les deux dernières sauvegardes sur le serveur.

La seconde commande sauvegarde le dossier /home/toto en excluant les fichiers cachés de Linux et le dossier Téléchargements.

Pour information, la sauvegarde initiale de 9245 fichiers personnels, soit 5.15 Go a duré 2 minutes et 23 secondes sur le réseau fibré ! Les sauvegardes suivantes prendront encore moins de temps car seuls les fichiers nouveaux ou modifiés seront traités.

Restauration

Avant même de récupérer toutes les données, Restic offre des possibilités intéressantes.

Lister les fichiers d’une sauvegarde

Listing du dernier “snapshot” :

restic -r s3:s3.example.com/sauvegarde ls -l latest

Pour lister les fichier d’un “snapshot” précédent, il faut d’abord obtenir son ID:

restic -r s3:s3.example.com/sauvegarde list snapshots
restic -r s3:s3.example.com/sauvegarde ls -l <ID_DU_SNAPSHOT>
Montage

La commande mount va monter instantanément un dossier système avec tout le contenu de la sauvegarde. Pratique pour ne récupérer que quelques fichiers.

restic -r s3:s3.example.com/sauvegarde mount /home/toto/tmp

La sauvegarde est accessible dans le dossier /home/toto/tmp/snapshots/latest.

Restauration complète

restic -r s3:s3.example.com/sauvegarde restore latest --target /home/toto/tmp

La dernière sauvegarde est restaurée dans le dossier /home/toto/tmp. Vous pouvez également indiquer l’ID d’un snapshot au lieu de latest.

Conclusion

Restic est un outil très complet pour la sauvegarde et très rapide. En utilisant le cloud storage, l’avantage est que la sauvegarde est située dans un lieu géographique différent de vos données. Les commandes présentées dans cet article peuvent être automatisées dans un script et planifiées pour être exécutées périodiquement. Plongez-vous dans la documentation de Restic pour tirer pleinement profit de toutes les possibilités offertes.

PARTAGER

A LIRE EGALEMENT