Contenu | Rechercher | Menus

Installer Ubuntu avec LVM sur une partition chiffrée via dm-crypt

Introduction

Pourquoi ?

Ce tutoriel décrit une méthode pour améliorer la sécurité de vos données personnelles ou professionnelles, non pas lorsque votre ordinateur est allumé mais lorsque celui-ci est éteint. Dans le cas d'une perte, accidentelle ou non, d'un ordinateur portable, par exemple.

ne laissez pas votre ordinateur seul avec une session non verrouillée,
mais est-ce nécessaire de le rappeler ? :)

Il faut tenter de rendre le disque dur illisible pour tout autre.
Une phrase de chiffrement "passphrase" sera la seule clef pour y accéder. Il ne faut donc ni la perdre, ni la divulguer.

Comment ?

  • L'utilisation d'un conteneur chiffré LUKS en utilisant DM-crypt / cryptsetup assurera la sécurité.
  • L'utilisation de LVM permettra l'installation de votre Ubuntu (ou d'une autre distribution Linux comme Debian) dans cet espace sécurisé.

Cela va chiffrer l'intégralité des données, mises à part celles contenues dans le /boot, en une seule fois, il ne faudra donc qu'une seule fois "montrer patte blanche". Sans la passphrase , Il ne sera pas possible d'accéder aux données utilisateur (/home), aux différents fichiers temporaires (/tmp , swap), ainsi que d'intervenir sur le système.

Le partitionnement automatique avec LVM sur partition chiffrée proposé lors d'une installation via un support alternate, utilise la même méthode. Si vous n'avez pas une bonne raison c'est à privilégier.

Pré-requis

  • Un ordinateur portable qui ne dispose pas d'un disque dur à chiffrement matériel ou ne l'utilisant pas.

Un système puissant sera un plus. le chiffrement logiciel consommant des ressources à chaque accès disque.

L'effacement total des données est très longue (mais optionnelle).

  • Une certaine maîtrise de l'OS, et de LVM

Booter sur l'alternate

Début de l'installation

Les impressions écran ont été faite à l'aide d'une machine virtuelle ayant démarré sur une iso alternate
L'utilisation de l'espace disque à donc été revu à la baisse pour l'occasion.

Options de partitionnement

Choisir le mode de partitionnement manuel

Un /boot

2 Go pour un /boot en ext2
Séparer le /boot va simplifier le démarrage de l'ordinateur, aucune partie de Grub-PC n'étant chiffrée.
Il faut penser à activer le flag "boot" sur cette partition, si grub est placé sur /dev/sda1 et non pas sur /dev/sda, pour le multiboot par exemple.

Une partition qui va contenir tout votre linux

Le maximum de partitions primaire étant à 4, il est possible de ne pas utiliser de partition étendue, mais une seconde partition primaire. Néanmoins utiliser directement une partition logique dans partition étendue permet de s'assurer de ne pas tomber sur ce maximum de 4, si l'on souhaite ne pas chiffrer de cette manière tout le disque. Par exemple dans le cas d'un multiboot ou d'un espace non chiffré sur le disque.

  • nous aurons donc sda2 partition étendue sur le reste de l'espace libre du disque dur.
  • et sda5 partition logique, qui pourra, selon votre usage, utiliser l'intégralité de l'espace disponible sur sda2.

Si vous souhaitez par la suite ajouter des partitions qui n'utiliseront pas ce système de cryptographie, il faut au préalable créer la partition à chiffrer.

dm-crypt

  • Chiffrer la partition sda5 à l'aide de l'outil de chiffrement


  • Plein d'options sont possibles, celles par défaut sont bien suffisantes. Les options étant triées des moins consommatrices en ressources au plus sécurisées.

  • Choisir une bonne passphrase

LVM

  • Utiliser comme volume Physique PV la partition chiffrée
  • Faire un groupe de volumes VG dans le PV puis des volumes logiques LV dans ce VG
  • Un LV-slash (20Go max)
  • Un LV-swap (d'une taille supérieur ou égale à la quantité de RAM)
  • Un LV-home (le reste)

Utilisation des LV

  • Une ext3 sur LV-slash pour /
  • Une ext3 sur LV-home pour /home
  • Le Swap sur LV-swap

Résultat


Finir l'installation

Mettre grub sur le secteur d'amorçage du disque

Gestion des passphrases

Ajout d'une passphrase

après le 1er reboot vous pourrez rajouter une passphrase qui se mettra dans le premier emplacement (key slot) disponible à l'aide de la commande:

cryptsetup luksAddKey /dev/sda5

Lister les slots

cryptsetup luksDump /dev/sda5

Supprimer une passphrase d'un slot

Dans cet exemple on supprime la clef présente dans le 2ème slot.

cryptsetup luksKillSlot /dev/sda5 2

Entête LUKS

Si l'entête (header) du conteneur LUKS est endommagé, il ne sera plus possible d’accéder aux données.

Sauvegarde de l'entête

Il est donc important de sauvegarder l'entête dans un endroit sur. Le fichier contenant la sauvegarde de l’entête est nommé ici machine-header

cryptsetup luksHeaderBackup --header-backup-file machine-header /dev/sda5

restauration de l'entête

cryptsetup luksHeaderRestore --header-backup-file machine-header /dev/sda5

monter la partition manuellement

Il vous faudra bien évidement booter sur un système prenant en charge dm-crypt et LVM.

Un liveCD/USB, tel System rescue ou PartedMagic, qui intègre tous les outils nécessaires pourra se révéler bien utile.

Après avoir démarré, il faut entrer les commandes :

cryptsetup luksOpen /dev/sdaX un_nom_pour_la_partition

Pour monter la partition chiffrée ;

vgscan
vgchange -ay /dev/VG/...

(il n'y aura certainement que votre partition dans ce dossier, activée grâce à vgscan) OU

lvchange -ay /dev/mapper/sdaX_crypt
lvs

Pour activer le lvm ;

mkdir <point_de_montage>
mount /dev/VG/... /<pt_de_montage>

Et vous devriez pouvoir y accéder !

Conclusion

Cette méthode permet de s'assurer un bon niveau de sécurité, même si rien n'est infaillible.

Le chiffrement du seul /home avec ecryptfs comme proposé dans une installation desktop standard ne permet pas d'assurer le même niveau de sécurité même si cela peut constituer une bonne alternative. De la même manière, chiffrer uniquement son /home avec un conteneur LUKS, est possible. Les performances (I/O système) ne seront pas trop dégradées, tout en ayant ses données sécurisées. Mais il faut garder en tête que pourrait transiter dans un espace temporaire ou en swap vos données en clair.

Voir aussi



Le contenu de ce wiki est sous licence : CC BY-SA v3.0