dm-crypt / LUKS

Introduction

Ce tutoriel va vous montrer comment mettre en place une solution de chiffrement sur Linux en utilisant dm-crypt / LUKS.

Les modes fonctionnement possible avec cette solution sont :

  1. Chiffrement au niveau du périphérique
  2. Chiffrement au niveau du partitionnement

Dans le cas du chiffrement au niveau du périphérique, ce dernier ne doit pas être celui qui stocke la partition /boot autrement votre système de démarrera jamais.

D’une manière générale je n’utilise plus que la deuxième solution sauf cas particulier, mariée à LVM elle s’avère très flexible.

Comme d’habitude ça se passe sur une Debian Squeezee.

Mise en place

Le schéma de mise en place est le suivant :

 

Au moment de l’installation

Nous allons voir comment faire tout ça dès l’installation.

Cette partie du tuto sera en vidéo, décrire la navigation dans les menus de l’assistant d’installation de Debian serait trop fastidieux et peu compréhensible.

Alors bon visionnage ;-)

Download Video: WebM

Vous aurez sûrement noté quelques petite chose étrange dans cette vidéo. Tout d’abord si je ne définis pas de swap c’est parce l’assistant d’installation n’apprécie pas d’avoir des partitions chiffrées et un swap en clair, donc le swap sera activé post-installation. Ensuite l’assistant m’avertit que ma passphrase de chiffrement est faible, si je passe outre c’est que là c’est un simple test (en réel évitez ;-).

Pour activer le swap voici ce que vous avez à faire :

sudo mkswap -L swap /dev/mapper/vg00-lv_swap

sudo swapon /dev/mapper/vg00-lv_swap

sudo echo « /dev/mapper/vg00-lv_swap none swap sw 0 0″ >> /etc/fstab

Sur un système déjà installé

Ce coup-ci nous allons voir comment faire quand le système est déjà installer et qu’on a pas envie de tout casser.

Tout d’abord vous devrez avoir un espace libre au moins équivalent au volume que vous souhaiter chiffrer, ensuite il faudra que vous ayez eu la bonne idée d’installer ce volume sur LVM. Si vous n’utilisez LVM, il y aura toujours moyen de s’en sortir à grand coups de « dd » en bootant depuis un LiveCD, mais ça complique un l’histoire.

On suppose que tout les Logical Vomlumes se trouve le Volume Group vg00.

Déplacement de données

Nous allons d’abord commencé par déplacer les Logical Volumes sur l’espace disque disponible :

sudo pvcreate /dev/sdb

sudo vgextend vg00 /dev/sdb

sudo pvmove /dev/sda2 /dev/sdb

Création du nouveau volume chiffré

Nous allons maintenant créer le nouveau volume chiffré sur lequel nous rapatrierons nos données par la suite.

On commence par sortir le volume de LVM :

sudo vgreduce vg00 /dev/sda2

sudo pvremove /dev/sda2

Si vous n’avez le paquet cryptsetup d’installé il va falloir y remédier :

sudo aptitude install cryptsetup

Ensuite on chiffre la partition sda2 :

sudo cryptsetup luksFormat /dev/sda2 -c aes-xts-plain -s 512

Rapatriement des données sur le volume chiffré

On commence par ouvrir le nouveau volume chiffré :

cryptsetup luksOpen /dev/sda2 sda2-crypt

Puis on rentre le volume dans LVM et on rapatrie les données :

pvcreate /dev/mapper/sda2-crypt

vgextend vg00 /dev/mapper/sda2-crypt

pvmove /dev/sdb /dev/mapper/sda2-crypt

On n’oublie pas non plus de sortir le volume temporaire de LVM :

sudo vgreduce vg00 /dev/sdb

sudo pvremove /dev/sdb

Préparation du système au reboot

L’idée ici c’est d’informer le système qu’il contient maintenant des partition chiffrées, pour qu’il puisse les ouvrir au démarrage.

Voici les petites commandes nécessaires :

sudo echo « sda2-crypt `blkid | awk ‘/\/dev\/sda2/ { print $2; }’|sed ‘s/\ »//g’` none luks » >> /etc/crypttab

sudo update-initramfs -u -k all -v

Et vous voilà maintenant avec un système fonctionnant sur du stockage chiffré.

Administration des volume chiffrés

Manipulation des passphrase

Avec cette solution de chiffrement il est possible d’avoir plusieurs passphrase différentes pour ouvrir un même volume, il peut y en avoir jusqu’à 8. Elles prennent place dans ce qu’on appel un slot.

Voici comment ajouter une passphrase supplémentaire :

cryptsetup luksRemoveKey /dev/sda2 –key-slot 1

Voici comment supprimer une passphrase :

cryptsetup luksRemoveKey /dev/sda2 –key-slot 1

Voici comment obtenir la liste des slot utilisés :

cryptsetup luksDump /dev/sda2

Sauvegarde et restauration des en-têtes LUKS

Vous avez la possibilité de sauvegarder les en-tête de LUKS. Mais attention, une sauvegarde une fois restaurée redéfini l’ensemble des passphrase comme elles étaient au moment de la sauvegarde.

Voici comment sauvegarder les en-têtes :

cryptsetup luksHeaderBackup /dev/sda2 –header-backup-file backup

Voici comment restaurer les en-têtes :

cryptsetup luksHeaderRestore /dev/sda2 –header-backup-file backup

1 ping

  1. SSI Protection | Pearltrees

    [...] montent la même partition, chacun avec son pass ou sa clé). Chiffrement [Wiki lairdutemps.org] dm-crypt / LUKS » La SSI pour les nuls Ce tutoriel va vous montrer comment mettre en place une solution de chiffrement sur Linux en [...]

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.


sept − = 1

Vous pouvez utiliser les balises HTML suivantes : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>