Chiffrement du disque complet avec LUKS sous RHEL

Découvrez comment mettre en place un chiffrement complet du disque sur les partitions d' Block Storage for Classic s à l'aide de la configuration de clé unifiée (LUKS) d' Linux et de plusieurs clés utilisateur pour une sécurité accrue des données.

Vous pouvez chiffrer les partitions de vos volumes Block Storage for Classic avec Linux® Unified Key Setup (LUKS). Avec LUKS, plusieurs clés utilisateur peuvent être utilisées pour décrypter une clé principale qui sert au chiffrement en bloc de la partition. Les instructions suivantes ont été validées pour fonctionner avec la version 8 de RHEL ou une version plus récente.

Cette procédure suppose que le serveur peut accéder à un nouveau volume IBM Cloud® Block Storage for Classic, non chiffré, qui n'a été ni formaté, ni monté. Pour plus d'informations sur la connexion d' Block Storage for Classic à un hôte Linux®, consultez l'une des rubriques suivantes.

Tous les nouveaux sites Block Storage for Classic sont automatiquement dotés d'un système de chiffrement au repos géré par le fournisseur. Pour plus d'information, voir Sécurisation des données - Chiffrement au repos géré par le fournisseur.

Opérations possibles avec LUKS

  • LUKS chiffre des périphériques bloc entiers et est donc adapté à la protection du contenu des appareils mobiles, tels que les supports de stockage amovibles ou les disques durs d'ordinateurs portables.
  • Le contenu sous-jacent de l'unité par bloc chiffrée est arbitraire, ce qui le rend utile pour le chiffrement des unités de permutation. Le chiffrement peut également être utile avec certaines bases de données qui utilisent des unités par bloc spécialement formatées pour le stockage des données.
  • LUKS utilise le sous-système device mapper existant du noyau.
  • LUKS permet de renforcer la sécurité des phrases de passe, ce qui offre une protection contre les attaques par dictionnaire.
  • LUKS contient plusieurs emplacements de clé, ce qui permet aux utilisateurs d'ajouter des clés de sauvegarde ou des phrases passe.

Opérations impossibles avec LUKS

  • LUKS n'autorise pas les applications qui nécessitent que de nombreux utilisateurs (plus de huit) disposent de clés d'accès distinctes pour les mêmes appareils.
  • LUKS ne fonctionne pas avec les applications qui requièrent un chiffrement de niveau fichier. Pour plus d'informations, consultez le Guide de sécurité RHEL.

Configuration d'un volume chiffré LUKS avec Block Storage for Classic Endurance

Le processus de chiffrement de données crée une charge sur l'hôte, qui risque d'impacter les performances.

  1. Saisissez la commande suivante à une invite shell en tant que root pour installer le package requis :

    dnf install cryptsetup-luks
    
  2. Obtenez l'ID de disque :

    fdisk –l | grep /dev/mapper
    
  3. Localisez votre volume dans la liste.

  4. Chiffrez l'unité par bloc.

    1. Cette commande initialise le volume et vous permet de définir une phrase passe.
       cryptsetup -y -v luksFormat /dev/mapper/3600a0980383034685624466470446564
    
    1. Répondez par ( YES tout en majuscules).

    2. Le périphérique apparaît maintenant sous forme de volume chiffré :

       $ blkid | grep LUKS
       /dev/mapper/3600a0980383034685624466470446564: UUID="46301dd4-035a-4649-9d56-ec970ceebe01" TYPE="crypto_LUKS"
    
  5. Ouvrez le volume et créez un mappage.

    cryptsetup luksOpen /dev/mapper/3600a0980383034685624466470446564 cryptData
    
  6. Entrez la phrase de passe.

  7. Vérifiez le mappage et consultez l'état du volume chiffré.

    # cryptsetup -v status cryptData
    /dev/mapper/cryptData is active.
      type:  LUKS1
      cipher:  aes-cbc-essiv:sha256
      keysize: 256 bits
      device:  /dev/mapper/3600a0980383034685624466470446564
      offset:  4096 sectors
      size:    41938944 sectors
      mode:    read/write
      Command successful
    
  8. Ecrivez des données aléatoires sur l'unité chiffrée /dev/mapper/cryptData. Cette action garantit que le monde extérieur perçoit ces données comme aléatoires, ce qui signifie qu'elles sont protégées contre la divulgation de leurs habitudes d'utilisation. Cette étape peut prendre un certain temps.

    shred -v -n1 /dev/mapper/cryptData
    
  9. Formatez le volume.

    mkfs.ext4 /dev/mapper/cryptData
    
  10. Montez le volume.

mkdir /cryptData
mount /dev/mapper/cryptData /cryptData
df -H /cryptData

Démontage et fermeture du volume chiffré en toute sécurité

umount /cryptData
cryptsetup luksClose cryptData

Remontage et montage d'une partition chiffrée LUKS existante

$ cryptsetup luksOpen /dev/mapper/3600a0980383034685624466470446564 cryptData
   Enter the password previously provided.
$ mount /dev/mapper/cryptData /cryptData
$ df -H /cryptData
$ lsblk
NAME                                       MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
xvdb                                       202:16   0    2G  0 disk
└─xvdb1                                    202:17   0    2G  0 part  [SWAP]
xvda                                       202:0    0   25G  0 disk
├─xvda1                                    202:1    0  256M  0 part  /boot
└─xvda2                                    202:2    0 24.8G  0 part  /
sda                                          8:0    0   20G  0 disk
└─3600a0980383034685624466470446564 (dm-0) 253:0    0   20G  0 mpath
└─cryptData (dm-1)                         253:1    0   20G  0 crypt /cryptData
sdb                                          8:16   0   20G  0 disk
└─3600a0980383034685624466470446564 (dm-0) 253:0    0   20G  0 mpath
└─cryptData (dm-1)                         253:1    0   20G  0 crypt /cryptData