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 :
- Chiffrement au niveau du périphérique
- 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
SSI Protection | Pearltrees
25 novembre 2013 à 10:38 (UTC 1)
[...] 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 [...]