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 08/03/2024, 09:49]
livier [Avertissements :]
tutoriel:sauvegardes_nomades_securisees [Le 19/02/2025, 18:10] (Version actuelle)
bcag2 [Udev : Déclencher la sauvegarde à la connexion du disque usb] suppr notes qui n'apporte rien (pas de version ni contexte !)!
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 ;-)**
Ligne 109: Ligne 110:
 <code bash> <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
Ligne 253: Ligne 260:
 Pour répéter les tests il faudra probablement enlever (ou remplacer par ''​%%000%%''​) les fichiers ''​%%daily%%''​ du répertoire précédent. Pour répéter les tests il faudra probablement enlever (ou remplacer par ''​%%000%%''​) les fichiers ''​%%daily%%''​ du répertoire précédent.
  
-==== Forcer une sauvegarde ====+==== Forcer une sauvegarde ​par un nouveau script ​====
  
 Pour forcer la sauvegarde quotidienne,​ même si elle a déjà été faite plus tôt dans la journée … Créer (encore) un script : ''​%%/​usr/​local/​bin/​force-cryptshop.sh%%''​ et le remplir avec : Pour forcer la sauvegarde quotidienne,​ même si elle a déjà été faite plus tôt dans la journée … Créer (encore) un script : ''​%%/​usr/​local/​bin/​force-cryptshop.sh%%''​ et le remplir avec :
Ligne 268: Ligne 275:
 </​code>​ </​code>​
 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 276: Ligne 284:
   * 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
  
-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. ​+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'​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 bienet nous permettra de consulter nos sauvegardes ​de n’importe quelle machine (non testé sous Windows ni MacOS); Sauf que …\\+==== Lancer la sauvegarde à la connexion ​et la déconnexion de l'utilisateur ​==== 
 +L'​idée : quand on arrive ou repart d'un lieu de travailon veut que les sauvegardes ​soient mises à jour. 
  
-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 courselle attendra ​le prochain ''​%%hourly%%''​.\\ +Le moyen : placer des scripts adéquat à la connexion ou la déconnexionJe l'ai fait dans l'interface de configuration ​de KDEtrouvez ​le moyen pour votre situation
- ​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 difficulté : ces scripts sont lancés en tant qu'​utilisateur,​ les sauvegardes doivent être lancées en root.  
 +se permettre de lancer sertains scripts en tant que root, sans mot de passe (puisque lancés automatiquement) :  
 +<​code>​ 
 +sudo visudo ​ /​etc/​sudoers.d/​mecryptshot ​
  
-- Une solution est de déconnecter/reconnecter le disque USBA défaut d’y penseron pourrait se retrouver sans sauvegardes pendant quelques jour… ​+me ALL=(ALL) NOPASSWD: ​/usr/​local/​bin/​mecryptshop-force.sh,/​usr/​local/​bin/​mecryptshop-lance>​ 
 +</​code>​ 
 +``` 
 +Créer les scripts correspondants : 
  
-- Faire un (autre) script ​/​usr/​local/​bin/​Back-domicile-mount-sh avec :+Éditer : /​usr/​local/​bin/​mecryptshop-force.sh 
 +<​code>​ 
 +#!/bin/bash  
 +sudo echo '​000'​ > /​usr/​local/​etc/​cryptshot/​lastrun/​xadom.daily 
 +sudo echo '​000'​ > /​usr/​local/​etc/​cryptshot/​lastrun/​alta.daily
  
 +sudo /​usr/​local/​bin/​cryptshot-execute
 +
 +exec >> "/​var/​log/​cryptshot.log"​
 +echo "​C'​était mecryptshot-force.sh"​ /t
 +</​code>​
 +
 +
 +Éditer : /​usr/​local/​bin/​mecryptshop-lance.sh
 <​code>​ <​code>​
-#​!/​bin/​bash +#!/bin/bash  
-mkdir /mnt/Monvolume +sudo /usr/local/bin/cryptshot-execute 
-cryptsetup luksOpen --key-file /​chemin/​de/​la/​cle.whatever /dev/disk/by-partlabel/​Monvolume crypt-Monvolume + 
-mount --options noatime ​/dev/mapper/crypt-Monvolume /​mnt/​Monvolume +exec >> "/var/log/cryptshot.log"​ 
-read -" ​$volume est monté, visiter ​/mnt puis appuyez sur Enter pour tout refermer"​ +echo "​C'​était mecryptshot-lance.sh" /t
-umount /​mnt/​Monvolume +
-rmdir /​mnt/​monvolume +
-cryptsetup luksClose crypt-Monvolume+
 </​code>​ </​code>​
-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. 
  
-- 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é+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 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'​utilise encore des scripts ...
 +Sudo est souhaitable pour contrôler l'​accès aux sauvegardes,​ sinon ajuster visudo en conséquence
 +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 /​mnt/<​target device> comme chemim dans vos applications graphiques courantes. ​
 +A la fermeture de mc, le volume sera démonté, et les sauvegardes suivantes seront fonctionnelles. ​
 +
 +/​usr/​local/​bin/​memount-mydomicile-sh
 <​code>​ <​code>​
 +#!/bin/bash
 + mkdir /​mnt/<​target device>
 + ​cryptsetup luksOpen --key-file <​chemin/​Keyfile>​ /​dev/<​target device> ​ crypt-<​target device>
 + mount --options noatime /​dev/​mapper/​crypt-<​target device> /​mnt<​target device>
 + 
 + mc /​mnt/<​target device>
 + ​umount ​ /​mnt/<​target device>
 +# rmdir  /​mnt/<​target device>
 + ​cryptsetup luksClose crypt-<​target device>
 +</​code>​
  
  
 +
 +
 +
 +===== Problème connus =====
 +
 +J'ai eu quelques difficultés à assurer le démontage du volume crypté quand j'​utilisais les outils graphiques de KDE pour le consulter. Le chapitre précédent fonctionne adéquatement,​ mais si vous rencontrez ce genre de problème, le développeur de cryptshot m'a proposé une autres apprche de cette nature. voir [[https://​github.com/​pigmonkey/​cryptshot/​issues/​8|Continue the script when the volume is already luksOpened ? · Issue #8 · pigmonkey/​cryptshot · GitHub]] ​
 +
 +<​code>​
 if [ -d /​mnt/​backupdrive ]; then if [ -d /​mnt/​backupdrive ]; then
     rsnapshot -c /​path/​to/​rsnapshot.conf daily     rsnapshot -c /​path/​to/​rsnapshot.conf daily
Ligne 318: Ligne 368:
     cryptshot.sh -c /​path/​to/​cryptshot.conf -i daily     cryptshot.sh -c /​path/​to/​cryptshot.conf -i daily
 fi fi
- 
 </​code>​ </​code>​
 +A toutes fiins utiles - non testé
  
  
Ligne 329: Ligne 379:
 Merci aux auteurs et contributeurs [[:​rsnapshot]],​ des scripts //​cryptshot//​ et //​backitup//​ [[https://​github.com/​pigmonkey|pigmonkey]] pour leur patience et leur soutien. Les autres scripts proposés ici ont largement été inspirés par [[https://​github.com/​pigmonkey/​cryptshot/​issues/​8|ces échanges]]. Merci aux auteurs et contributeurs [[:​rsnapshot]],​ des scripts //​cryptshot//​ et //​backitup//​ [[https://​github.com/​pigmonkey|pigmonkey]] pour leur patience et leur soutien. Les autres scripts proposés ici ont largement été inspirés par [[https://​github.com/​pigmonkey/​cryptshot/​issues/​8|ces échanges]].
  
 +Cet aricle reste "en cours de rédaction"​ en attendant que quelqu'​un témoigne de l'​avoir utilisé sans y avoir trouvé d'​erreur. Si vous y parvenez, pour pourriez enlever ou demande d'​enlever l'​alerte en haut d'​article. ​
 ===== Voir aussi ===== ===== Voir aussi =====
  
Ligne 359: Ligne 409:
 ** Incron, comme alternative à Udev (non testé) **\\ ** Incron, comme alternative à Udev (non testé) **\\
  
-[[https://​doc.ubuntu-fr.org/​incron|incron [Wiki ubuntu-fr]]]+ [[: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]] [[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]]
  • tutoriel/sauvegardes_nomades_securisees.1709887762.txt.gz
  • Dernière modification: Le 08/03/2024, 09:49
  • par livier