Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| tutoriel:sauvegardes_nomades_securisees [Le 08/03/2024, 09:20] – [Problèmes connus] livier | tutoriel:sauvegardes_nomades_securisees [Le 08/08/2026, 04:17] (Version actuelle) – [Rsnapshot] livier | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag>LTS_22.04 | + | {{tag> |
| ====== Sauvegardes nomades sécurisées pour laptop ====== | ====== Sauvegardes nomades sécurisées pour laptop ====== | ||
| + | |||
| + | <note warning> | ||
| + | Il existe désormais des solutions intégrées complètes, plus puissantes, efficaces, et économes en ressources que la solution présentée ci-après. | ||
| + | * [[: | ||
| + | * [[:Restic]] propose aussi une solution tout-en-un qui convient aux cas les plus particulier, | ||
| + | et ces solutions offrent en plus du chiffrement la compression et la déduplication, | ||
| + | Elles conviennent aussi parfaitement à un usage nomade et portable. | ||
| + | </ | ||
| Pour qui utilise un Laptop comme ordinateur principal les sauvegardes sont toujours nécessaires, | Pour qui utilise un Laptop comme ordinateur principal les sauvegardes sont toujours nécessaires, | ||
| Ligne 11: | Ligne 19: | ||
| ===== Contexte et buts ===== | ===== Contexte et buts ===== | ||
| - | Jusqu’à présent et depuis plus de 10 ans, j’utilisais un desktop avec un disque dur de travail et un autre pour les sauvegardes, automatisé par cron et [[https:// | + | Les besoins |
| - | Je prend maintenant un laptop comme ordi principal. Mes besoins de sécurité augmentent donc : chiffrage de l’ordinateur pour les cas de perte ou de vol, et sauvegardes | + | L’idée est de laisser un disque USB à ces endroits |
| - | L’idée est donc de laisser un disque USB à ces endroits et, quand je vais les connecter, déclencher automatiquement un script qui fait automatiquement la sauvegarde adéquate. Ces disques que je vais laisser hors de mon contrôle direct doivent bien sur aussi être chiffrés, de façon à être ouverts automatiquement dans la procédure de sauvegarde, et aussi manuellement au cas ou je perdrais l’ordinateur. | + | Le schéma |
| - | + | ||
| - | Le shéma | + | |
| ===== Utiliser une partition chiffrée ===== | ===== Utiliser une partition chiffrée ===== | ||
| Ligne 30: | Ligne 36: | ||
| * Apprenez à manipulez vos partitions chiffrées vous mêmes à la main. Vous voulez être compétents pour être en mesure de les utiliser quand vous aurez besoin de vos backups et que la situation vous échappera un peu… | * Apprenez à manipulez vos partitions chiffrées vous mêmes à la main. Vous voulez être compétents pour être en mesure de les utiliser quand vous aurez besoin de vos backups et que la situation vous échappera un peu… | ||
| * Je réalise la plupart des opérations suivantes avec les outils graphiques de KDE. Je ne suis pas en mesure de donner les lignes de commande de façon suffisamment fiable pour une documentation publique. Suivez les étapes et faites attention à ce que vous faites. | * Je réalise la plupart des opérations suivantes avec les outils graphiques de KDE. Je ne suis pas en mesure de donner les lignes de commande de façon suffisamment fiable pour une documentation publique. Suivez les étapes et faites attention à ce que vous faites. | ||
| - | * Toutes les commandes (ou presque) de ce tutoriel sont à passer en '' | + | * Toutes les commandes (ou presque) de ce tutoriel sont à passer en '' |
| + | < | ||
| * Nous utilisons des scripts qui seront appelés en tant que root, mais que j’ai édité (plusieurs fois en mode essai-erreur) en tant qu’utilisateur. Il m’a fallu faire quelques ajustements au niveau des droits pour faire tout cela (commandes chown et chmod en sudo). [Par exemple, mettre “mon utilisateur” dans le groupe “root” et utiliser des [[: | * Nous utilisons des scripts qui seront appelés en tant que root, mais que j’ai édité (plusieurs fois en mode essai-erreur) en tant qu’utilisateur. Il m’a fallu faire quelques ajustements au niveau des droits pour faire tout cela (commandes chown et chmod en sudo). [Par exemple, mettre “mon utilisateur” dans le groupe “root” et utiliser des [[: | ||
| - | * afin de voir les commandes qui passent quand on lance un script en console dans les phases de test : mettre '' | + | |
| + | <note tip> | ||
| + | |||
| + | <note tip>On peut aussi loguer des informations utiles en ajoutant quelques éléments dans les scripts : | ||
| + | |||
| + | - Ajouter une ligne `echo " | ||
| + | |||
| + | - Ajouter `| tee -a / | ||
| + | |||
| + | </ | ||
| ==== Quelques points de repères pour comprendre le système : ==== | ==== Quelques points de repères pour comprendre le système : ==== | ||
| Ligne 89: | Ligne 105: | ||
| === Montage et démontages des volumes chiffés === | === Montage et démontages des volumes chiffés === | ||
| - | Vérifiez que vous êtes vraiment capables de manipuler vos partitions chiffrées en dehors des scripts … | + | <note important> |
| * Ouvrir la partition chiffrée, le mot de passe sera demandé : | * Ouvrir la partition chiffrée, le mot de passe sera demandé : | ||
| Ligne 100: | Ligne 116: | ||
| <code bash> | <code bash> | ||
| cryptsetup -v luksOpen --key-file < | cryptsetup -v luksOpen --key-file < | ||
| + | </ | ||
| + | |||
| + | * Vérifier un mot de passe et son slot, sans ouvrir la partition : | ||
| + | |||
| + | <code bash> | ||
| + | cryptsetup -v luksOpen --test-passphrase / | ||
| </ | </ | ||
| * Montage du mapper | * Montage du mapper | ||
| Ligne 124: | Ligne 146: | ||
| Pour approfondissements, | Pour approfondissements, | ||
| - | Nous aurons besoin d’au moins deux clés pour ouvrir le conteneur : | + | <note important> |
| - Un “keyfile” (qui peut être n’importe quel fichier) dans l’ordinateur pour automatiser la sauvegarde. Cette clé qui ne sera pas utilisable à qui disposerait du disque seulement : le voleur ou vous après la perte de l’ordinateur. | - Un “keyfile” (qui peut être n’importe quel fichier) dans l’ordinateur pour automatiser la sauvegarde. Cette clé qui ne sera pas utilisable à qui disposerait du disque seulement : le voleur ou vous après la perte de l’ordinateur. | ||
| Ligne 149: | Ligne 171: | ||
| </ | </ | ||
| === Sauvegarder l’entête du conteneur === | === Sauvegarder l’entête du conteneur === | ||
| + | <note important> | ||
| + | Les entêtes des conteneurs luks contiennent les informations nécessaires au déchiffrage des données, notament les slots avec les mots de passe et les keyfiles. Ils peuvent être sauvegardés et restaurés, rétablissant à l' | ||
| + | Tester leur restauration n'est pas trivial, j'y renonce. La perte des entêtes de conteneurs est un risque comparable et complémentaire à la perte d'un disque dur ; dont il faut de toutes façon se protéger par la multiplication des sauvegardes. La valeur ajoutée de la sauvegarde des entêtes est donc faible pour la complication que cela demande. Faites comme vous voulez, voici les commandes de base si vous y tenez. | ||
| - | Cet entête intégral est indispensable à l’ouverture du conteneur. On peut l’altérer volontairement pour rendre le conteneur illisible à qui que ce soit, il peut aussi y avoir un accident ! Attention, l’entête contient tous les slots de mots de passe et keyfiles. Le restaurer remettra donc ces slots à l’état du moment de la sauvegarde, réactivant d’anciens mots de passe éliminés. Cela peut être une bréche de sécurité si la sauvegarde de l’entête est (a été) accessible à un ancien collaborateur . | + | < |
| - | + | $ sudo cryptsetup | |
| - | luksHeaderBackup /dev/< | + | </code> |
| - | + | ||
| - | luksHeaderRestore /dev/< | + | |
| ===== Utilisation des scripts ===== | ===== Utilisation des scripts ===== | ||
| Ligne 164: | Ligne 187: | ||
| ==== Rsnapshot ==== | ==== Rsnapshot ==== | ||
| - | Voir la page dédiée [[https:// | + | C'est le script de base des sauvegardes, |
| - | + | - sudo apt install | |
| - | Attentions particulières | + | - Configuration |
| + | -Tester votre configuration | ||
| + | $ rsnapshot configtest | ||
| + | $ rsnapshot -t daily | ||
| + | Nécessite partitions gérant les liens en dur (pas fat) | ||
| + | Mettre **no_create_root 1** dans le fichier de configuration pour éviter que la sauvegarde ne remplisse le disque de l’ordinateur au cas ou un disque USB ne serait pas connecté au moment de la sauvegarde. | ||
| ==== Installation de cryptshot.sh et backitup ==== | ==== Installation de cryptshot.sh et backitup ==== | ||
| Ligne 244: | Ligne 272: | ||
| Pour répéter les tests il faudra probablement enlever (ou remplacer par '' | Pour répéter les tests il faudra probablement enlever (ou remplacer par '' | ||
| - | ==== Forcer une sauvegarde ==== | + | ==== Forcer une sauvegarde |
| Pour forcer la sauvegarde quotidienne, | Pour forcer la sauvegarde quotidienne, | ||
| Ligne 259: | Ligne 287: | ||
| </ | </ | ||
| On pourra l’appeler en ligne de commande, en phase de tests, et pour sauvegarder les derniers travaux de la journée juste avant de quitter le lieu correspondant. | On pourra l’appeler en ligne de commande, en phase de tests, et pour sauvegarder les derniers travaux de la journée juste avant de quitter le lieu correspondant. | ||
| + | |||
| ==== Udev : Déclencher la sauvegarde à la connexion du disque usb ==== | ==== Udev : Déclencher la sauvegarde à la connexion du disque usb ==== | ||
| Ligne 267: | Ligne 296: | ||
| * le peupler avec\\ | * le peupler avec\\ | ||
| '' | '' | ||
| - | * rechargez | + | * Redémarrer ou recharger |
| - | sudo udevadm control --reload-rules | + | < |
| + | sudo udevadm control --reload-rules | ||
| </ | </ | ||
| * Tester en connectant un des disques de sauvegarde | * Tester en connectant un des disques de sauvegarde | ||
| - | ===== Problème connus ===== | + | Le fonctionnement peut être capricieux quand le disque est connecté au travers d'un hub thunderbolt. Connecter alors le disque directement sur un port USB de l' |
| - | Faire et automatiser des sauvegardes, | ||
| - | Cela fout le bordel sur la machine qui fait les sauvegardes. - Lorsque | + | ==== Lancer |
| - | | + | L'idée : quand on arrive ou repart d'un lieu de travail, on veut que les sauvegardes |
| - | ==== Solutions ==== | + | Le moyen : placer des scripts adéquat à la connexion ou la déconnexion. Je l'ai fait dans l' |
| - | - Une solution est de déconnecter/reconnecter le disque USB. A défaut | + | Une difficulté : ces scripts sont lancés en tant qu' |
| + | se permettre | ||
| + | < | ||
| + | sudo visudo | ||
| - | - Faire un (autre) script | + | me ALL=(ALL) NOPASSWD: |
| + | </ | ||
| + | ``` | ||
| + | Créer les scripts correspondants | ||
| + | Éditer : / | ||
| < | < | ||
| - | # | + | #!/bin/bash |
| - | mkdir /mnt/Monvolume | + | sudo echo ' |
| - | cryptsetup luksOpen --key-file | + | sudo echo ' |
| - | mount --options noatime | + | |
| - | read -p " | + | sudo /usr/local/bin/cryptshot-execute |
| - | umount | + | |
| - | rmdir / | + | exec >> |
| - | cryptsetup luksClose crypt-Monvolume | + | echo " |
| </ | </ | ||
| - | Toujours lancer en root, par sudo. Cette ouverture et ce montage ne “détache” pas le disque, et le script reste fonctionnel. Le risque est d' | ||
| - | - proposition par l’auteur du script dans les “issues” [[https:// | ||
| + | Éditer : / | ||
| < | < | ||
| + | # | ||
| + | sudo / | ||
| + | exec >> "/ | ||
| + | echo " | ||
| + | </ | ||
| - | if [ -d / | + | Ces scripts déclenchent les opérations comme confugurées dans les étapes précédentes. |
| - | rsnapshot -c / | + | |
| - | else | + | |
| - | cryptshot.sh -c / | + | |
| - | fi | + | |
| + | ==== Consulter les sauvegardes ==== | ||
| + | Là ou je suis, avec KDE, le montage par les outils graphique pose des problèmes. Le démontage quand on ferme le volume n'est pas complet, et il y a une erreur ensuite quand le script essaye de luksopen le volume. | ||
| + | |||
| + | j' | ||
| + | Sudo est souhaitable pour contrôler l' | ||
| + | On déchiffre le volume, et on le regarde avec mc (c'est mon choix). | ||
| + | Pour fouiller les sauvegardes plus facilement, tant que mc est ouvert dans la console, utiliser / | ||
| + | A la fermeture de mc, le volume sera démonté, et les sauvegardes suivantes seront fonctionnelles. | ||
| + | |||
| + | / | ||
| + | < | ||
| + | #!/bin/bash | ||
| + | mkdir / | ||
| + | | ||
| + | mount --options noatime / | ||
| + | |||
| + | mc / | ||
| + | | ||
| + | # rmdir / | ||
| + | | ||
| </ | </ | ||
| - | ===== Conclusion ===== | ||
| - | Il est prudent, dès lors qu'on utilise un ordinateur portable, de gérer ses sauvegardes, | ||
| - | Merci aux auteurs et contributeurs [[: | + | ===== Problème connus ===== |
| - | ==== Piste pour gérer | + | J'ai eu quelques difficultés à assurer |
| - | + | ||
| - | Proposée par l’auteur | + | |
| < | < | ||
| - | |||
| - | |||
| if [ -d / | if [ -d / | ||
| rsnapshot -c / | rsnapshot -c / | ||
| Ligne 330: | Ligne 380: | ||
| cryptshot.sh -c / | cryptshot.sh -c / | ||
| fi | fi | ||
| - | |||
| </ | </ | ||
| + | A toutes fiins utiles - non testé | ||
| + | |||
| + | ===== Conclusion ===== | ||
| + | |||
| + | Il est prudent, dès lors qu'on utilise un ordinateur portable, de gérer ses sauvegardes, | ||
| + | |||
| + | Merci aux auteurs et contributeurs [[: | ||
| + | |||
| + | Cet aricle reste "en cours de rédaction" | ||
| ===== Voir aussi ===== | ===== Voir aussi ===== | ||
| Ligne 363: | Ligne 421: | ||
| ** Incron, comme alternative à Udev (non testé) **\\ | ** Incron, comme alternative à Udev (non testé) **\\ | ||
| - | [[https:// | + | [[:incron|Incron]] |
| [[https:// | [[https:// | ||
| ---- | ---- | ||
| - | + | //[[:Contributeurs]] : [[: | |
| - | // | + | |
