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:42] – [Avertissements :] 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, | + | Les besoins de sécurité augmentent : chiffrement |
| - | + | ||
| - | Je prend maintenant un laptop comme ordi principal. Mes besoins de sécurité augmentent | + | |
| - | 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. | + | L’idée est 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 shéma | + | Le sché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> afin de voir les commandes qui passent quand on lance un script en console dans les phases de test : mettre '' | <note tip> afin de voir les commandes qui passent quand on lance un script en console dans les phases de test : mettre '' | ||
| Ligne 99: | 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 110: | 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 134: | 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 159: | 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 174: | 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 254: | 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 269: | 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 277: | 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 | ||
| - | Le fonctionnement peut être capricieux quand le disque est connecté au travers d'un hub thunderbolt. Connecter le disque directement sur un port USB de l' | + | Le fonctionnement peut être capricieux quand le disque est connecté au travers d'un hub thunderbolt. Connecter |
| - | ===== Problème connus ===== | ||
| - | Faire et automatiser des sauvegardes, | + | ==== Lancer la sauvegarde à la connexion |
| + | L' | ||
| - | Cela fout le bordel sur la machine qui fait les sauvegardes. - Lorsque | + | Le moyen : placer des scripts adéquat à la connexion ou la déconnexion. Je l'ai fait dans l'interface de configuration |
| - | | + | |
| - | ==== Solutions ==== | + | Une difficulté : ces scripts sont lancés en tant qu' |
| + | se permettre de lancer sertains scripts en tant que root, sans mot de passe (puisque lancés automatiquement) : | ||
| + | < | ||
| + | sudo visudo | ||
| - | - Une solution est de déconnecter/reconnecter le disque USB. A défaut d’y penser, on pourrait se retrouver sans sauvegardes pendant quelques jour… | + | me ALL=(ALL) NOPASSWD: |
| + | </ | ||
| + | ``` | ||
| + | Créer les scripts correspondants : | ||
| - | - Faire un (autre) script | + | Éditer : / |
| + | < | ||
| + | #!/bin/bash | ||
| + | sudo echo ' | ||
| + | sudo echo ' | ||
| + | sudo / | ||
| + | |||
| + | exec >> "/ | ||
| + | echo " | ||
| + | </ | ||
| + | |||
| + | |||
| + | Éditer : / | ||
| < | < | ||
| - | # | + | #!/bin/bash |
| - | mkdir /mnt/Monvolume | + | sudo /usr/local/bin/cryptshot-execute |
| - | cryptsetup luksOpen --key-file / | + | |
| - | mount --options noatime | + | exec >> "/var/log/cryptshot.log" |
| - | read -p " | + | echo " |
| - | umount / | + | |
| - | rmdir / | + | |
| - | cryptsetup luksClose crypt-Monvolume | + | |
| </ | </ | ||
| - | 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 | + | Ces scripts déclenchent les opérations comme confugurées dans les étapes précédentes. |
| + | |||
| + | ==== Consulter les sauvegardes ==== | ||
| + | Là ou je suis, avec KDE, le montage | ||
| + | |||
| + | 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 | ||
| + | A la fermeture de mc, le volume | ||
| + | / | ||
| < | < | ||
| + | #!/bin/bash | ||
| + | mkdir / | ||
| + | | ||
| + | mount --options noatime / | ||
| + | |||
| + | mc / | ||
| + | | ||
| + | # rmdir / | ||
| + | | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ===== Problème connus ===== | ||
| + | |||
| + | J'ai eu quelques difficultés à assurer le démontage du volume crypté quand j' | ||
| + | |||
| + | < | ||
| if [ -d / | if [ -d / | ||
| rsnapshot -c / | rsnapshot -c / | ||
| Ligne 319: | Ligne 380: | ||
| cryptshot.sh -c / | cryptshot.sh -c / | ||
| fi | fi | ||
| - | |||
| </ | </ | ||
| + | A toutes fiins utiles - non testé | ||
| Ligne 330: | Ligne 391: | ||
| Merci aux auteurs et contributeurs [[: | Merci aux auteurs et contributeurs [[: | ||
| + | Cet aricle reste "en cours de rédaction" | ||
| ===== Voir aussi ===== | ===== Voir aussi ===== | ||
| Ligne 360: | Ligne 421: | ||
| ** Incron, comme alternative à Udev (non testé) **\\ | ** Incron, comme alternative à Udev (non testé) **\\ | ||
| - | [[https:// | + | [[:incron|Incron]] |
| [[https:// | [[https:// | ||
| ---- | ---- | ||
| - | + | //[[:Contributeurs]] : [[: | |
| - | // | + | |
