Modification de LUKS : Chiffrer sa partition home

Attention : vous n’êtes pas connecté(e). Votre adresse IP sera visible de tout le monde si vous faites des modifications. Si vous vous connectez ou créez un compte, vos modifications seront attribuées à votre propre nom d’utilisateur(rice) et vous aurez d’autres avantages.

La modification peut être annulée. Veuillez vérifier les différences ci-dessous pour voir si c’est bien ce que vous voulez faire, puis publier ces changements pour finaliser l’annulation de cette modification.

Version actuelle Votre texte
Ligne 1 : Ligne 1 :
{{Auteur|Adadov}}
{{EnCours|auteur=Adadov}}


Afin de sécuriser ses données il est possible de chiffrer les partitions de son système suivant ses propres choix.
Afin de sécuriser ses données il est possible de chiffrer les partitions de son système suivant ses propres choix.
Ligne 11 : Ligne 11 :
On commence par sauvegarder les données vu que toutes les données présentent sur la partition seront détruites lors du chiffrage.
On commence par sauvegarder les données vu que toutes les données présentent sur la partition seront détruites lors du chiffrage.


Ensuite nous avons besoin que la structure des partitions qui va accueillir notre conteneur LUKS soit prête.<br />
Ensuite nous avons besoin que la structure des partitions qui va accueillir notre partition LUKS soit prête.<br />
Voici le volume logique qui contiendra notre conteneur chiffré :
Voici le volume logique qui contiendra notre espace chiffré :
<file>
<file>
# lvdisplay vg/lv_home
   --- Logical volume ---
   --- Logical volume ---
   LV Path                /dev/vg/lv_home
   LV Path                /dev/VG00/LV_home
   LV Name                lv_home
   LV Name                LV_home
   VG Name                vg
   VG Name                VG00
   LV UUID                ---
   LV UUID                ---
   LV Write Access        read/write
   LV Write Access        read/write
   LV Creation host, time ,  
   LV Creation host, time localhost, 2013-10-21 00:22:13 +0200
   LV Status              available
   LV Status              available
   # open                1
   # open                1
   LV Size                55,00 GiB
   LV Size                109,75 GiB
   Current LE            1760
   Current LE            28097
   Segments              1
   Segments              2
   Allocation            inherit
   Allocation            inherit
   Read ahead sectors    auto
   Read ahead sectors    auto
Ligne 33 : Ligne 32 :
</file>
</file>


== Création du conteneur LUKS ==
== Création de la partition LUKS ==


Afin de créer un conteneur, il va tout d'abord falloir générer de l'entropie. Pour ce faire, nous allons utiliser /dev/urandom qui est plus rapide que /dev/random.
Afin d'être certain qu'aucune donnée non-chiffrée ne reste, on écrit des données aléatoires puis on remet à zéro l'espace libre.


{{RootLxTerm|text=dd if=/dev/urandom of=/dev/vg/lv_home}}
{{LxTerm|user=root|text=dd if=/dev/urandom of=/dev/VG00/LV_home
zerofree /dev/VG00/LV_home
cryptsetup --verbose luksFormat /dev/VG00/LV_home
}}


Il se peut que cette étape soit très longue suivant la taille de la partition, mais elle est nécessaire pour un chiffrement efficace.
Ouverture et formatage de la partition :


Création du conteneur chiffré :
{{LxTerm|user=root|text=cryptsetup luksOpen /dev/VG00/LV_home home
mkfs.ext4 /dev/mapper/home
}}


{{RootLxTerm|text=cryptsetup --verbose --hash=sha256 luksFormat /dev/vg/lv_home}}
<file>
WARNING!
========
This will overwrite data on /dev/vg/lv_home irrevocably.
Are you sure? (Type uppercase yes): YES
Enter passphrase:
Verify passphrase:
Command successful.
</file>
On peut vérifier que le conteneur est bien créé :
{{RootLxTerm|cryptsetup isLuks /dev/vg/lv_home && echo Success}}
Ouverture du conteneur et création du système de fichiers :
{{RootLxTerm|cryptsetup luksOpen /dev/vg/lv_home home
mkfs.ext4 /dev/mapper/home}}
== Mapping du conteneur ==
Afin de pouvoir accéder aux données, il faut mettre en place le mapping. Il servira aussi à monter automatiquement la partition en ouvrant le conteneur.
=== Ajout de l'entrée dans /etc/crypttab ===
Le format de ce fichier est le suivant :
<name> <device> none
{{Param|device}} peut contenir l'identifiant du périphérique de la même manière que pour {{fname|/etc/fstab}}, si on souhaite utiliser l'UUID, il peut être obtenu via la commande suivante :
{{RootLxTerm|cryptsetup luksUUID <device>}}
Dans notre cas nous allons ajouter la ligne suivante dans le fichier :
<file>
luks-home /dev/vg/lv_home none
</file>
Nous aurons donc un device {{fname|/dev/mapper/luks-home}}.
=== Ajout de l'entrée dans /etc/fstab ===
Maintenant que le mapping est fait pour luks nous pouvons mettre en place le montage automatique de la partition, le mot de passe de chiffrement sera demandé au démarrage de la machine.
La ligne à ajouter dans le fichier est la suivante :
<file>
/dev/mapper/luks-home  /home  ext4  defaults  1 2
</file>
== Structure finale ==
Une fois tout en place, la structure de nos partition ressemble à ceci :
<file>
# lsblk --output NAME,LABEL,SIZE,TYPE,MOUNTPOINT
NAME                                            LABEL  SIZE TYPE  MOUNTPOINT
sda                                                  149,1G disk 
├─sda1                                          BOOT    500M part  /boot
└─sda2                                                148,6G part 
  ├─vg-lv_swap                                          5,8G lvm  [SWAP]
  ├─vg-lv_root                                        87,8G lvm  /
  └─vg-lv_home                                          55G lvm 
    └─luks-home                                          55G crypt /home
sr0                                                    1024M rom 
</file>
Nous avons donc un volume logique LVM qui contient un conteneur LUKS.<br />
Ce conteneur est déchiffrable via un mot de passe qui a été choisi lors de sa création (il vaudrait mieux en avoir choisi un costaud).
Pour aller plus loin, se reporter à l'article [[LUKS : Gestion des conteneurs]]
[[Catégorie:LUKS]]
[[Catégorie:LVM]]
[[Catégorie:Workstations]]
[[Catégorie:Workstations]]
[[Catégorie:Linux]]
[[Catégorie:Linux]]
Notez bien que toutes les contributions à Adadov.net wiki peuvent être modifiées, transformées ou supprimées par d’autres utilisateurs. Si vous ne désirez pas que vos écrits soient modifiés contre votre gré, merci de ne pas les soumettre ici.
Vous nous promettez aussi que vous avez écrit ceci vous-même ou que vous l’avez copié d’une source placée dans le domaine public ou d’une ressource libre similaire (voir AdadovNet:Copyrights pour plus de détails). N’utilisez aucun travail sous droits d’auteur sans autorisation expresse !
Annuler Aide pour la modification (s’ouvre dans une nouvelle fenêtre)