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:securiser_ubuntu_avec_peripherique_externe [Le 11/05/2013, 19:19]
89.159.166.214 [Paramétrer et installer le script]
tutoriel:securiser_ubuntu_avec_peripherique_externe [Le 11/09/2022, 12:23] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
 +{{tag> sécurité tutoriel}}
 +
 ====== Gérer la sécurité d'une installation ubuntu avec une clé usb ====== ====== Gérer la sécurité d'une installation ubuntu avec une clé usb ======
 Ici nous verrons comment paramétrer le verrouillage/​déverrouillage d'une installation d'​Ubuntu avec une clé USB. Ici nous verrons comment paramétrer le verrouillage/​déverrouillage d'une installation d'​Ubuntu avec une clé USB.
  
-===== Décrypter ​automatiquement une partition ​cryptée ​au démarrage =====+ 
 +===== Déchiffrer ​automatiquement une partition ​chiffrée ​au démarrage =====
  
 Si vous possédez une installation d'​Ubuntu sur partition LUKS (Linux Unified Key Setup) et que vous en avez marre de taper le mot de passe à chaque démarrage, vous pouvez paramétrer une clé usb afin de vous authentifier automatiquement si cette dernière est branchée! Si vous possédez une installation d'​Ubuntu sur partition LUKS (Linux Unified Key Setup) et que vous en avez marre de taper le mot de passe à chaque démarrage, vous pouvez paramétrer une clé usb afin de vous authentifier automatiquement si cette dernière est branchée!
Ligne 28: Ligne 31:
 </​note>​ </​note>​
 Créez une partition vierge de type ext4[3/2] d'au moins 1Mo sur le support. Utilisez **[[apt>​gparted]]** par exemple. Créez une partition vierge de type ext4[3/2] d'au moins 1Mo sur le support. Utilisez **[[apt>​gparted]]** par exemple.
 +
 +Vous pouvez aussi n'​utiliser qu'une grande partition.
 <​note>​ <​note>​
-Fat32 devrait fonctionner aussimais non testé. Vous pouvez aussi utiliser une seule partition sur toute la clé. +Systèmes de fichiers testés: Ext4/​3/​2, ​Fat32, ​Ntfs
-J'​utilise personnellement une petite partition de 1Mo sur ma clé en ext4, puis le reste de la clé en fat32 pour compatibilité Windows.+
 </​note>​ </​note>​
 <note important>​ <note important>​
Ligne 58: Ligne 62:
 umount /mnt/usb umount /mnt/usb
 </​code>​ </​code>​
- 
  
 ==== Etape 2 : Préparer la séquence de démarrage ==== ==== Etape 2 : Préparer la séquence de démarrage ====
 +
 +<note important>​
 +Attention, si vous souhaitez utiliser ntfs, une mise à jour du fichier bootscript est disponible! (Etape 4) [2013/​09/​26]
 +
 +De plus, assurez-vous que le module ntfs-3g est bien présent dans **/​etc/​initramfs-tools/​modules**,​ et que vous avez [[:​tutoriel:​comment_installer_un_paquet|Installé le paquet]] **[[apt>​ntfs-3g|ntfs-3g]]**
 +
 +</​note>​
  
 Editez le fichier /​etc/​initramfs-tools/​modules avec les droits root Editez le fichier /​etc/​initramfs-tools/​modules avec les droits root
Ligne 77: Ligne 87:
 dm_mod dm_mod
 dm_crypt dm_crypt
 +ntfs-3g
 </​code>​ </​code>​
   * Si vous utilisez une clé USB:   * Si vous utilisez une clé USB:
Ligne 89: Ligne 100:
 dm_mod dm_mod
 dm_crypt dm_crypt
 +ntfs-3g
 </​code>​ </​code>​
  
 Ajoutez la nouvelle configuration au système. Ajoutez la nouvelle configuration au système.
-<​code>​update-initramfs -v -u</​code>​ +<​code>​sudo update-initramfs -v -u</​code>​
- +
 ==== Etape 3 : Paramétrer le démarrage ==== ==== Etape 3 : Paramétrer le démarrage ====
- 
-Redémarrez,​ et lorsque le système vous demandera de rentrer votre mot de passe, rentrez 3 fois un mot de passe erroné. ​ 
-Vous atterrirez sur une console avec marqué 
-<​code>​ 
-(initramfs) 
-</​code>​ 
  
 Montez la clé Montez la clé
-<​code>​mkdir /usb +<​code>​mkdir ​/mnt/usb 
-mount /dev/sdb1 /​usb</​code>​+mount /​dev/​sdb1 ​/mnt/​usb</​code>​
 Ajoutez le fichier d'​authentification aux clé connues Ajoutez le fichier d'​authentification aux clé connues
-<​code>​cryptsetup luksAddKey /​dev/​sda2 ​ /​usb/​.authkey</​code>​+<​code>​cryptsetup luksAddKey /​dev/​sda2  ​/mnt/​usb/​.authkey</​code>​
 Démontez la clé et redémarrez Démontez la clé et redémarrez
-<​code>​umount /usb+<​code>​umount ​/mnt/usb
 sync sync
 reboot</​code>​ reboot</​code>​
- 
 ==== Etape 4 : Paramétrer le système ==== ==== Etape 4 : Paramétrer le système ====
  
 Redémarrez normalement. Redémarrez normalement.
  
-Notez l'UUID (identifiant de partition) de la partition obtenu par cette commande:+Notez l'UUID (identifiant de partition) de la partition ​contenant la clé (/​dev/​sdb1), ​obtenu par cette commande:
  
-(Nous prendrons ici **9645b6cb-80db-457b-8d46-fbb9fd33dxxb**. N'​oubliez pas de le remplacer par le votre dans les commandes suivantes) +(Nous prendrons ici **4645b6cb-80db-457b-8d46-fbb9fd33dxxb**. N'​oubliez pas de le remplacer par le votre dans les commandes suivantes) 
-<​code>​blkid /​dev/​sdb1</​code>​+<​code>​sudo blkid /​dev/​sdb1</​code>​
  
 Éditez le fichier /​etc/​crypttab avec les droits root: Éditez le fichier /​etc/​crypttab avec les droits root:
Ligne 129: Ligne 132:
 **9df4f-878ytju-ilk45q-gfbb9f-d33dxxb** est l'UUID de la partition cryptée **9df4f-878ytju-ilk45q-gfbb9f-d33dxxb** est l'UUID de la partition cryptée
  
-Dupliquez la ligne et changez le **none** par **UUID=9645b6cb-80db-457b-8d46-fbb9fd33dxxb:​.authkey**,​ et rajoutez **,​tries=3,​keyscript=/​usr/​local/​sbin/​bootkeyscript** à la fin de la ligne+Dupliquez la ligne et changez le **none** par **UUID=4645b6cb-80db-457b-8d46-fbb9fd33dxxb:​.authkey**,​ et rajoutez **,​tries=3,​keyscript=/​usr/​local/​sbin/​bootkeyscript** à la fin de la ligne
  
 Soit après **luks** dans notre exemple. Attention à la virgule qui est importante, et à ne pas avoir de duplicata dans la ligne. Soit après **luks** dans notre exemple. Attention à la virgule qui est importante, et à ne pas avoir de duplicata dans la ligne.
Ligne 135: Ligne 138:
  
 Notre fichier final ressemblera donc à quelque chose du genre: Notre fichier final ressemblera donc à quelque chose du genre:
-<​code>​sda2_crypt ​         UUID=9df4f-878ytju-ilk45q-gfbb9f-d33dxxb ​      UUID=9645b6cb-80db-457b-8d46-fbb9fd33dxxb:​.authkey ​               luks,​tries=3,​keyscript=/​usr/​local/​sbin/​bootkeyscript+<​code>​sda2_crypt ​         UUID=9df4f-878ytju-ilk45q-gfbb9f-d33dxxb ​      UUID=4645b6cb-80db-457b-8d46-fbb9fd33dxxb:​.authkey ​               luks,​tries=3,​keyscript=/​usr/​local/​sbin/​bootkeyscript
 sda2_crypt ​         UUID=9df4f-878ytju-ilk45q-gfbb9f-d33dxxb ​      ​none ​                                                                                                  ​luks</​code>​ sda2_crypt ​         UUID=9df4f-878ytju-ilk45q-gfbb9f-d33dxxb ​      ​none ​                                                                                                  ​luks</​code>​
  
-Téléchargez [[https://dl.dropboxusercontent.com/u/11154643/​bootkeyscript| ce script]] et placez le dans **/​usr/​local/​sbin/​bootkeyscript** à l'aide des droits root.+Téléchargez [[http://iutinfo2000.free.fr/Linux/​bootkeyscript| ce script]] et placez le dans **/​usr/​local/​sbin/​bootkeyscript** à l'aide des droits root.
 <​code>​sudo cp ~/​Téléchargements/​bootkeyscript /​usr/​local/​sbin/​bootkeyscript</​code>​ <​code>​sudo cp ~/​Téléchargements/​bootkeyscript /​usr/​local/​sbin/​bootkeyscript</​code>​
 (N'​oubliez pas de changez l'​emplacement du fichier téléchargé si **~/​Téléchargements/​bootkeyscript** n'est pas sa localisation) (N'​oubliez pas de changez l'​emplacement du fichier téléchargé si **~/​Téléchargements/​bootkeyscript** n'est pas sa localisation)
Ligne 147: Ligne 150:
 Réactualisez la séquence de démarrage: Réactualisez la séquence de démarrage:
 <​code>​update-initramfs -v -u</​code>​ <​code>​update-initramfs -v -u</​code>​
-Redémarrez et profitez! ​;)+Redémarrez et profitez! ​8-) 
 + 
 + 
 +<note astuce>​ 
 +Si vous souhaitez débguer et afficher les messages de ce que fait le script, modifier la ligne **debug=0** en **debug=1** du fichier **/​usr/​local/​sbin/​bootkeyscript** 
 + 
 +Puis réactualisez la séquence de démarrage:​ 
 +<​code>​update-initramfs -v -u</​code>​ 
 +</​note>​ 
 +==== En cas de soucis ==== 
 + 
 +Si une erreur apparaît au démarrage indiquant quelque chose du genre "​UUID=nf14k7-ui56gf-wzdf4gt1-yj3-61sd not found"​. 
 + 
 +Et que vous tombez sur la console 
 +<​code>​(initramfs)</​code>​ 
 + 
 +Alors le fichier **/​etc/​crypttab** n'est pas correct. 
 +La procédure est comme ceci: 
 +  * Démarrez sur un live cd ou live usb 
 +  * Identifiez les emplacements de la partition de boot et la partition root avec gparted ici respectivement **/​dev/​sda1** et **/​dev/​sda2** 
 +  * Identifiez l'UUID de la partitino cryptée par un: 
 +<​code>​sudo cryptsetup luksUUID /​dev/​sda2</​code>​ 
 +  * créez le répertoire /tmproot: 
 +<​code>​mkdir /​tmproot</​code>​ 
 +  * montez les deux partitions:​ 
 +<​code>​cryptsetup luksOpen /dev/sda2 tmproot 
 +mount /​dev/​mapper/​tmproot /tmproot 
 +mount /dev/sda1 /​tmproot/​boot</​code>​ 
 +  * Chrootez-vous dans le système: 
 +<​code>​chroot /​tmproot</​code>​ 
 +  * [[:​tutoriel:​comment_modifier_un_fichier|Modifiez]] le fichier **/​etc/​crypttab**,​ et vérifiez que l'UUID de montage est bien celui de la partition cryptée. 
 +  * Nous aurons donc, pour l'​optimal:​ 
 +<​code>​sda2_crypt ​  ​UUID=uuid-de-votre-partition-cryptee ​  ​none ​  ​luks</​code>​ 
 + 
 +<note warning>​ATTENTION,​ **sda2_crypt** doit correspondre avec le nom de la partition montée en root listée dans le fichier /​etc/​fstab! 
 + 
 +Sinon quoi, la partition sera bien décryptée au démarrage, mais absolument pas montée dans **/**, ce qui ne permettra bien évidement pas le démarrage! 
 +Logiquement,​ vous n'avez pas à y toucher à n'​importe quel moment du tutoriel. Seul le "​none"​ et la partie "​luks"​ sont à modifier dans l'​étape 4!</​note>​ 
 + 
 +  * Enregistrez et réactualisez la configuration:​ 
 +<​code>​update-initramfs -v -u</​code>​ 
 +  * Redemarrez
 ===== Verrouiller / Déverrouiller l'​écran avec une clé USB ===== ===== Verrouiller / Déverrouiller l'​écran avec une clé USB =====
 ==== Identifier l'ID de sa clé ==== ==== Identifier l'ID de sa clé ====
Ligne 231: Ligne 275:
  
 **ATTENTION** On n'​oubliera pas de remplacer **ID 114b:085b PNY** par votre **ID** **ATTENTION** On n'​oubliera pas de remplacer **ID 114b:085b PNY** par votre **ID**
 +
 Puis donnez-lui les droits d'​execution:​ Puis donnez-lui les droits d'​execution:​
 <​code>​chmod +x .autoLock</​code>​ <​code>​chmod +x .autoLock</​code>​
Ligne 249: Ligne 294:
 Si pas de clé, le mot de passe sera demandé comme un déverrouillage normal. Si pas de clé, le mot de passe sera demandé comme un déverrouillage normal.
  
-==== En cas de soucis ==== 
  
 +==== En cas de soucis ====
 Si problème il y a, loguez vous en console tty1 (ctrl + alt + 1), et déplacez le fichier exécutable:​ Si problème il y a, loguez vous en console tty1 (ctrl + alt + 1), et déplacez le fichier exécutable:​
 <​code>​mv .autoLock .autoLock.bak</​code>​ <​code>​mv .autoLock .autoLock.bak</​code>​
Ligne 256: Ligne 301:
 <​code>​crontab -u votrenomdutilisateur -e</​code>​ <​code>​crontab -u votrenomdutilisateur -e</​code>​
  
-====== Sources ​======+===== Sources ​& Contributeurs ​=====
 [[http://​web.archive.org/​web/​20100110234521/​http://​petaramesh.org/​post/​2007/​11/​29/​Une-cle-de-contact-pour-votre-portable-chiffre]] [[http://​web.archive.org/​web/​20100110234521/​http://​petaramesh.org/​post/​2007/​11/​29/​Une-cle-de-contact-pour-votre-portable-chiffre]]
 +
 +[[http://​www.techienote.com/​2011/​03/​lock-unlock-ubuntu-desktop-using-usb-drive.html]]
 +
 +----
 +
 +//​Contributeurs:​ malabarth//
  • tutoriel/securiser_ubuntu_avec_peripherique_externe.1368292750.txt.gz
  • Dernière modification: Le 11/05/2013, 19:19
  • (modification externe)