Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tutoriel:sauvegardes_nomades_securisees [Le 04/03/2024, 18:15]
bcag2 [Préparer la partition chiffrée pour la sauvegarde] code…bash
tutoriel:sauvegardes_nomades_securisees [Le 14/04/2024, 15:40] (Version actuelle)
livier [Précautions complémentaires indispensables]
Ligne 30: Ligne 30:
   * 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 ''​%%root%%''​ (en utilisant ''​%%sudo%%''​) ​[Utiliser : ''​%%sudo !!%%''​ quand vous voulez passer ''​%%en root%%''​ la dernière commande que vous avez tenté en simple utilisateur].\\+  * Toutes les commandes (ou presque) de ce tutoriel sont à passer en ''​%%root%%''​ (en utilisant ''​%%sudo%%''​) 
 + <​note tip>Utiliser : ''​%%sudo !!%%''​ quand vous voulez passer ''​%%en root%%''​ la dernière commande que vous avez tenté en simple utilisateur.</​note>​\\
  
   * 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 [[:​permissions|droits]] de type “root.root 760” pour que root puisse exécuter les scripts, moi pouvoir les éditer, et rien pour les autres] **Si vous n’êtes pas à l’aise avec ces manipulations,​ persévérez dans l’apprentissage de ces notions avant de configurer vos chiffrements ;-)**   * 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 [[:​permissions|droits]] de type “root.root 760” pour que root puisse exécuter les scripts, moi pouvoir les éditer, et rien pour les autres] **Si vous n’êtes pas à l’aise avec ces manipulations,​ persévérez dans l’apprentissage de ces notions avant de configurer vos chiffrements ;-)**
-  * afin de voir les commandes qui passent quand on lance un script en console dans les phases de test : mettre ''​%%set -x%%''​ en début de script (et retirer ensuite)+ 
 +<note tip> ​afin de voir les commandes qui passent quand on lance un script en console dans les phases de test : mettre ''​%%set -x%%''​ en début de script (et retirer ensuite)</​note>​ 
 + 
 +<note tip>On peut aussi loguer des informations utiles en ajoutant quelques éléments dans les scripts :  
 + 
 +- Ajouter une ligne `echo "​$(date '​+%Y-%m-%d %H:​%M:​%S'​) étape d'​execution"​ >> /​var/​log/​cryptshot.log` ​  
 + 
 +- Ajouter `| tee -a /​var/​log/​cryptshot.log` à la suite d'un message du script ​ `echo '​message.'​ | tee -a /​var/​log/​cryptshot.log` 
 + 
 +</​note>​
  
 ==== Quelques points de repères pour comprendre le système : ==== ==== Quelques points de repères pour comprendre le système : ====
Ligne 89: Ligne 99:
 === 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>​Vérifiez que vous êtes vraiment capables de manipuler vos partitions chiffrées en dehors des scripts …</​note>​
  
   * Ouvrir la partition chiffrée, le mot de passe sera demandé :   * Ouvrir la partition chiffrée, le mot de passe sera demandé :
  
-<​code>​+<​code ​bash>
 cryptsetup -v luksOpen /​dev/<​target device> monVolume cryptsetup -v luksOpen /​dev/<​target device> monVolume
 </​code>​ </​code>​
   * Ouvrir la partition chiffrée, avec un fichier clé (voir plus bas):   * Ouvrir la partition chiffrée, avec un fichier clé (voir plus bas):
  
-<​code>​+<​code ​bash>
 cryptsetup -v luksOpen --key-file <​chemin/​Keyfile>​ /​dev/<​target device> monVolume cryptsetup -v luksOpen --key-file <​chemin/​Keyfile>​ /​dev/<​target device> monVolume
 +</​code>​
 +
 +  * Vérifier un mot de passe et son slot, sans ouvrir la partition :
 +
 +<code bash>
 +cryptsetup -v luksOpen --test-passphrase /​dev/<​target device>
 </​code>​ </​code>​
   * Montage du mapper   * Montage du mapper
  
-<​code>​+<​code ​bash>
 mount -v /​dev/​mapper/​monVolume /​mnt/​monVolume ​ mount -v /​dev/​mapper/​monVolume /​mnt/​monVolume ​
 </​code>​ </​code>​
   * Démontrer puis fermer la partition chiffrée   * Démontrer puis fermer la partition chiffrée
  
-<​code>​+<​code ​bash>
 umount -v /​dev/​mapper/​monVolume ​ umount -v /​dev/​mapper/​monVolume ​
-    ou+    ​ou
 umount -v /​mnt/​monVolume ​ umount -v /​mnt/​monVolume ​
 </​code>​ </​code>​
   * Fermer la partition chiffrée   * Fermer la partition chiffrée
  
-<​code>​+<​code ​bash>
 cryptsetup -v luksClose monVolume cryptsetup -v luksClose monVolume
 </​code>​ </​code>​
Ligne 124: Ligne 140:
 Pour approfondissements,​ voir : Pour approfondissements,​ voir :
  
-Nous aurons besoin d’au moins deux clés pour ouvrir le conteneur :+<note important>​Nous aurons besoin d’au moins deux clés pour ouvrir le conteneur :</​note>​
  
   - 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 131: Ligne 147:
 Voir le nombre de clés enregistrées,​ et autres information de “header” Voir le nombre de clés enregistrées,​ et autres information de “header”
  
-<​code>​+<​code ​bash>
 cryptsetup luksDump /​dev/<​target device> cryptsetup luksDump /​dev/<​target device>
 </​code>​ </​code>​
 Ajouter un “bon-mot de passe” à un conteneur Ajouter un “bon-mot de passe” à un conteneur
  
-<​code>​+<​code ​bash>
 # cryptsetup luksAddKey ​ /​dev/<​target device> ​ # cryptsetup luksAddKey ​ /​dev/<​target device> ​
 Enter any passphrase: (un mot de passe existant du volume) Enter any passphrase: (un mot de passe existant du volume)
Ligne 144: Ligne 160:
 Ajouter une keyfile à un conteneur ayant dejà un “bon-mot de passe” Ajouter une keyfile à un conteneur ayant dejà un “bon-mot de passe”
  
-<​code>​+<​code ​bash>
 # cryptsetup luksAddKey ​ /​dev/<​target device> masterkeyfile # cryptsetup luksAddKey ​ /​dev/<​target device> masterkeyfile
 Enter any passphrase: (un mot de passe existant du volume) Enter any passphrase: (un mot de passe existant du volume)
 </​code>​ </​code>​
 === Sauvegarder l’entête du conteneur === === Sauvegarder l’entête du conteneur ===
- +<note important>​ 
-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 .+Cet entête intégral est indispensable à l’ouverture du conteneur.</​note> ​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 .
  
 luksHeaderBackup /​dev/<​html><​target device></​html>​ –header-backup-file <​html><​file></​html>​ luksHeaderBackup /​dev/<​html><​target device></​html>​ –header-backup-file <​html><​file></​html>​
Ligne 267: Ligne 283:
   * le peupler avec\\   * le peupler avec\\
 ''​%%ACTION=="​add",​ SUBSYSTEM=="​usb",​ ENV{DEVTYPE}=="​usb_device",​ RUN+="/​etc/​cron.hourly/​cryptshot-execute"​%%''​ ''​%%ACTION=="​add",​ SUBSYSTEM=="​usb",​ ENV{DEVTYPE}=="​usb_device",​ RUN+="/​etc/​cron.hourly/​cryptshot-execute"​%%''​
-  * rechargez ​les règles udev en utilisant la commande suivante ​Ou redémarrer) ​:<​code>​ +  * Redémarrer ou recharger ​les règles udev, puis "​déclencher"​ (la redétection?​) ​en utilisant la commande suivante : 
-sudo udevadm control --reload-rules+ <​code>​ 
 +sudo udevadm control --reload-rules ​&& sudo udevadm trigger
 </​code>​ </​code>​
   * Tester en connectant un des disques de sauvegarde   * Tester en connectant un des disques de sauvegarde
  
-===== Problèmes ​connus =====+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'​ordinateur.  
 + 
 +===== Problème ​connus =====
  
 Faire et automatiser des sauvegardes,​ c’est bien ; il faut aussi pouvoir les utiliser. Lorsque le disque USB est connecté, il apparait comme pouvant être moté dans l’espace utilisateur. Il faudra saisir le mot de passe pour l’ouvrir. Tout cela est bien, et nous permettra de consulter nos sauvegardes de n’importe quelle machine (non testé sous Windows ni MacOS); Sauf que …\\ Faire et automatiser des sauvegardes,​ c’est bien ; il faut aussi pouvoir les utiliser. Lorsque le disque USB est connecté, il apparait comme pouvant être moté dans l’espace utilisateur. Il faudra saisir le mot de passe pour l’ouvrir. Tout cela est bien, et nous permettra de consulter nos sauvegardes de n’importe quelle machine (non testé sous Windows ni MacOS); Sauf que …\\
 +
 Cela fout le bordel sur la machine qui fait les sauvegardes. - Lorsque l’on ouvre le volume en tant qu’utilisateur (typiquement dans /​media/​user/​monvolume) le script ''​%%cryptshot%%''​ s’arrête en erreur. Le développeur me dit que ce serait trop insécure de permettre simultanément les accès utilisateur et l’ouverture pour une sauvegarde en cours, elle attendra le prochain ''​%%hourly%%''​.\\ Cela fout le bordel sur la machine qui fait les sauvegardes. - Lorsque l’on ouvre le volume en tant qu’utilisateur (typiquement dans /​media/​user/​monvolume) le script ''​%%cryptshot%%''​ s’arrête en erreur. Le développeur me dit que ce serait trop insécure de permettre simultanément les accès utilisateur et l’ouverture pour une sauvegarde en cours, elle attendra le prochain ''​%%hourly%%''​.\\
-Lorsque l’on “détache” le disque USB, il n’apparait plus comme détecté par le system (les fichiers correspondants sous /​dev/​disk/​*/​… ne sont plus présents), alors le script ne peut plus tourner les sauvegardes non plus. - 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… - Une autre solution que j’ai trouvé est de faire un (autre) script /​usr/​local/​bin/​Back-domicile-mount-sh avec :+ Lorsque l’on “détache” le disque USB, il n’apparait plus comme détecté par le system (les fichiers correspondants sous /​dev/​disk/​*/​… ne sont plus présents), alors le script ne peut plus tourner les sauvegardes non plus.  
 + 
 +==== Solutions ==== 
 + 
 +- 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… ​ 
 + 
 +Faire un (autre) script /​usr/​local/​bin/​Back-domicile-mount-sh avec :
  
 <​code>​ <​code>​
Ligne 288: Ligne 314:
 cryptsetup luksClose crypt-Monvolume cryptsetup luksClose crypt-Monvolume
 </​code>​ </​code>​
-Toujours lancer en root, par sudo. Cette ouverture et se montage ne “détache” pas le disque, et le script reste fonctionnel. +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'​oublier la fenêtre ​de la console avec la fermeture du montage non faite.
- +
-===== Conclusion ===== +
- +
-Il me semble que tout le monde avec un Laptop devrait fonctionner gérer ses sauvegardes,​ à plusieurs endroits et de façon chiffrée. Comme je ne l’ai pas trouvé, je l’ai fait. +
- +
-J’ai été à la rencontre des limites de ma compétenceCe fut plus long à mettre en place que prévu. La méthode, comme ce tutoriel sont probablement perfectibles. Merci à ceux qui y contribueront. +
- +
-Merci à ceux de “rsnapshot”,​ et merci à l’auteur des scripts “cryptshot” et “backitup” [[https://​github.com/​pigmonkey|pigmonkey]] pour sa patience et son soutien. Les autres scripts proposés ici ont largement été inspirés par [[https://​github.com/​pigmonkey/​cryptshot/​issues/​8|nos échannges]] +
- +
-==== Piste pour gérer le problème ci dessus ====+
  
-Proposée ​par l’auteur du script dans les “issues” [[https://​github.com/​pigmonkey/​cryptshot/​issues/​8|Continue the script when the volume is already luksOpened ? · Issue #8 · pigmonkey/​cryptshot · GitHub]] - non testé+- proposition ​par l’auteur du script dans les “issues” [[https://​github.com/​pigmonkey/​cryptshot/​issues/​8|Continue the script when the volume is already luksOpened ? · Issue #8 · pigmonkey/​cryptshot · GitHub]] - non testé
  
 <​code>​ <​code>​
Ligne 312: Ligne 328:
  
 </​code>​ </​code>​
-==== Incron, comme alternative à Udev ? ==== 
  
-non testé 
  
-[[https://​doc.ubuntu-fr.org/​incron|incron [Wiki ubuntu-fr]]] 
  
-[[https://www.it-connect.fr/incron-executer-des-actions-selon-des-evenements/|Incron : exécuter des actions selon des événements | Commandes et Système | IT-Connect]]+===== Conclusion ===== 
 + 
 +Il est prudent, dès lors qu'on utilise un ordinateur portable, de gérer ses sauvegardes,​ à plusieurs endroits et de façon chiffrée. 
 + 
 +Merci aux auteurs et contributeurs [[:​rsnapshot]],​ des scripts //​cryptshot//​ et //​backitup// ​[[https://github.com/​pigmonkey|pigmonkey]] pour leur patience et leur soutienLes autres scripts proposés ici ont largement été inspirés par [[https://github.com/​pigmonkey/​cryptshot/​issues/​8|ces échanges]]
  
 ===== Voir aussi ===== ===== Voir aussi =====
  
-[[https://​doc.ubuntu-fr.org/​sudo|sudo ​[Wiki ubuntu-fr]]]+[[:​sudo|sudo]]
  
-[[https://​doc.ubuntu-fr.org/​rsnapshot|rsnapshot ​[Wiki ubuntu-fr]]]+[[:​rsnapshot|rsnapshot]]
  
-[[https://​doc.ubuntu-fr.org/​cryptsetup|cryptsetup ​[Wiki ubuntu-fr]]]+[[:​cryptsetup|cryptsetup]]
  
 [[https://​github.com/​pigmonkey/​cryptshot|GitHub - pigmonkey/​cryptshot:​ Open and mount a LUKS volume before performing a backup with rsnaphot]] [[https://​github.com/​pigmonkey/​cryptshot|GitHub - pigmonkey/​cryptshot:​ Open and mount a LUKS volume before performing a backup with rsnaphot]]
Ligne 341: Ligne 359:
  
 **Quoi sauvegarder**\\ **Quoi sauvegarder**\\
-[[https://​fr.wikipedia.org/​wiki/​Sauvegarde_%28informatique%29|Sauvegarde (informatique) ​— Wikipédia]]+[[wpfr>Sauvegarde_%28informatique%29|Sauvegarde (informatique)]]
  
-[[https://​doc.ubuntu-fr.org/​sauvegarde|sauvegarde ​[Wiki ubuntu-fr]]]+[[:​sauvegarde|sauvegarde]]
  
-[[https://​doc.ubuntu-fr.org/​tutoriel/​sauvegarder_home|tutoriel:​sauvegarder_home [Wiki ubuntu-fr]]]+[[:​tutoriel/​sauvegarder_home|tutoriel ​sauvegarder son “home”]]
  
 +** Incron, comme alternative à Udev (non testé) **\\
 +
 + ​[[:​incron|Incron]] ​
 +
 +[[https://​www.it-connect.fr/​incron-executer-des-actions-selon-des-evenements/​|Incron : exécuter des actions selon des événements | Commandes et Système | IT-Connect]]
  
 ---- ----
  
-%%//%%Contributeurs principaux : [[:livier:LIVIER]].%%//%%+//​Contributeurs principaux : [[:utilisateurs/​livier|LIVIER]].//
  
  • tutoriel/sauvegardes_nomades_securisees.1709572517.txt.gz
  • Dernière modification: Le 04/03/2024, 18:15
  • par bcag2