Installer sur partition cryptée

Attention : des précautions sont à prendre concernant ce guide pour encrypter des partitions racine ou données :

Exemples:

Système crypté dans un groupe LVM

Cet exemple utilise crypt dans un volume LVM pour vous permettre de séparer votre home de / et d'avoir une partition de swap, sans nécéssiter plusieurs mots de passe, et est applicable à partir de aptosid-2010-03-apate et suivantes.

Avant de lancer l'installeur, vous devez préparer le système de fichiers qui sera utilisé pour l'installation. Pour un mode d'emploi de base de LVM, vous devez vous référer à Logical Volume Manager - partitionnement LVM.

Vous aurez besoin d'au moins un système de fichiers non crypté pour /boot et un système crypté pour le système de fichiers / , et il vous faudra créer aussi un système de fichiers crypté pour /home et swap .

  1. Si vous ne prévoyez pas d'utiliser un groupe de volume LVM existant, créez un groupe de volume LVM normal. Cet exemple suppose que le groupe de volume nommé vg contiendra le /boot et les parties cryptées.
  2. Il vous faudra un volume logique pour /boot et les données cryptées, utilisez lvcreate pour créer les volumes logiques dans vg avec les tailles que vous désirez :
    lvcreate -n boot --size 250m vg
    lvcreate -n crypt --size 300g vg
    
    Vous avez créé ici les volumes logiques boot et crypt, avec une taille respective de 250Mb and 300Gb.
  3. Créez le système de fichiers pour /boot pour le rendre accessible à l'installeur :
    mkfs.ext4 /dev/mapper/vg-boot
    
  4. Utilisez cryptsetuppour crypter vg-crypt en utilisant l'option la plus rapide xts et la plus haute longueur de clé de 512bit, puis ouvrez le. Ceci vous demandera d'entrer deux fois le mot de passe pour le mémoriser, puis une troisième fois pour l'ouvrir. Ouvrez le ici sous le nom par défaut de boot cryptopts de cryptroot :
    cryptsetup --verify-passphrase --cipher aes-xts-plain:sha512 luksFormat /dev/mapper/vg-crypt
    
    cryptsetup luksOpen /dev/mapper/vg-crypt cryptroot
    
  5. Maintenant, utilisez lvm dans le système crypté pour créer un deuxième groupe de volumes qui sera utilisé pour les partitions /swap et /home. utiliser pvcreate cryptroot pour créer ce volume physique, et vgcreate pour créer un autre groupe de volumes, que nous appellons cryptvg:
    pvcreate /dev/mapper/cryptroot
    vgcreate cryptvg /dev/mapper/cryptroot
    
  6. Utiliser ensuite lvcreate avec le nouveau groupe de volumes crypté cryptvg pour créer les volumes logiques / , /swap et /home avec la taille désirée :
    lvcreate -n swap --size 2g cryptvg
    lvcreate -n root --size 40g cryptvg
    lvcreate -n home --size 80g cryptvg
    
    Ici vous avez créé les volumes logiques swap, root et home, d'une taille respective de 2Gb, 40Gb and 80Gb respectivement.
  7. Créer les systèmes de fichiers pour cryptvg-swap, cryptvg-root et cryptvg-home pour les rendre accessibles pour l'installeur :
    mkswap /dev/mapper/cryptvg-swap
    mkfs.ext4 /dev/mapper/cryptvg-root
    mkfs.ext4 /dev/mapper/cryptvg-home
    
  8. Vous êtes maintenant prèts à lancer l'installeur, en sélectionnant :
    vg-boot pour /boot,
    cryptvg-root pour /,
    cryptvg-home pour /home,
    et cryptvg-swap pour swap qui devrait être automatiquement reconnu.

Le système installé doit inclure une ligne de commande pour le kernel comprenant les options :

root=/dev/mapper/cryptvg-root cryptopts=source=/dev/mapper/vg-crypt,target=cryptroot,lvm=cryptvg-root

Vous avez maintenant crypt et boot dans le groupe de volumes lvm "vg", et root, home et swap encapsulés dans le groupe de volumes lvm vgcrypt, crypté, protégé par mot de passe.

Note: En cas de réinstallation dans un volume crypté lvm, L'installeur doit être informé du cryptage :

cryptsetup luksOpen /dev/mapper/cryptvg-root cryptvg
vgchange -a y

Cryptage avec des partitions classiques

Il faut dabord décider de l'organisation du disque. Il vous faut 2 partitions au moins, une partition normale pour le /boot et une pour les données cryptées.

Si vous avez besoin d'un swap, (qui doit aussi être encrypté) vous aurez besoin d'une troisième partition et vous aurez à entrer un mot de passe pour le swap, séparément pendant le boot (vous aurez deux demandes de mot de passe).

Il est possible d'utiliser des clés pour le swap depuis l'intérieur du système crypté avec le partitionnement classique, sans quoi vous ne pourez pas utiliser "suspend to disk". Pour ces raisons, la meilleure option sur le long terme est d'utiliser des volumes LVM entièrement cryptés protégés par mots de passe.

Pour résumer :

Une fois le partitionnement effectué, vous devez préparer les partitions cryptées pour que l'installeur puisse les utiliser.

Si vous utilisiez une application graphique pour partitionner, fermez la et ouvrez une console, nécéssaire pour utiliser les commandes d'encryption.

la partition /boot

formater la partition /boot en ext4, si ce n'est déjà fait :

/sbin/mkfs.ext4 /dev/sda1
la partition de swap cryptée

pour le swap crypté, il vous faut formater et ouvrir la partition, /dev/sda2, en tant que partition cryptée, comme la partition vg-crypt ci dessus, en l'ouvrant sous le nom de swap

  1. cryptsetup --verify-passphrase --cipher aes-xts-plain:sha512 luksFormat /dev/sda2
    
  2. cryptsetup luksOpen /dev/sda2 swap
    
  3. echo "swap UUID=$(blkid -o value -s UUID /dev/sda2) none luks" >> /etc/crypttab
    

Formater ensuite /dev/mapper/swap pour le rendre accessibles pour l'installeur :

/sbin/mkswap /dev/mapper/swap
la partition / cryptée

pour le / crypté il vous faut formater et ouvrir la partition, /dev/sda3, en tant que partition cryptée, comme la partition vg-crypt ci dessus, en l'ouvrant sous le nom de cryptroot

cryptsetup --verify-passphrase --cipher aes-xts-plain:sha512 luksFormat /dev/sda3
cryptsetup luksOpen /dev/sda3 cryptroot

Formater la partition /dev/mapper/cryptroot pour la rendre accessible pour l'installeur :

/sbin/mkfs.ext4 /dev/mapper/cryptroot

Lancement de l'installeur

Vous êtes maintenant prèts à utiliser l'installeur, en sélectionnant :
sda1 pour /boot,
cryptroot pour / et /home
swap devrait être automatiquement reconnu.

Le système installé doit inclure une ligne de commande pour le kernel comprenant les options : (avec vos UUID bien entendu)

root=/dev/mapper/cryptroot cryptopts=source=UUID=12345678-1234-1234-1234-1234567890AB,target=cryptroot

Vous avez maintenant /boot sur une partition classique, un swap crypté et une partition cryptée pour / et /home.

Sources et Documentations:

A lire impérativement :

man cryptsetup

LUKS.

Redhat and Fedora .

Protect Your Stuff With Encrypted Linux Partitions.

KVM how to use encrypted images.

aptosid wiki.

Dernière révision de cette page 06/09/2011 0920 UTC