19.3. Exécutez volume_key dans une grande organisation

Dans une grande organisation, il n'est pas très pratique d'utiliser un mot de passe unique connu de chaque administrateur de systèmes et de conserver un mot de passe distinct pour chaque système. Cela n'est pas pratique et représente un risque de sécurité. Pour contrer cela, volume_key peut utiliser la cryptographie asymétrique pour réduire le nombre de personnes qui connaissent le mot de passe requis pour accéder aux données cryptées sur un ordinateur.
Cette section couvrira les procédures nécessaires à la préparation : avant l'enregistrement des clés de chiffrement, comment enregistrer les clés de chiffrement, restaurer l’accès à un volume et la mise en place de phrases secrètes d’urgence.

19.3.1. Se préparer à enregistrer vos clés de chiffrement.

Pour commencer à enregistrer les clés de chiffrement, vous devrez vous préparer.

Procédure 19.3. Préparation

  1. Créer une paire privée/certificat X509.
  2. Indique les utilisateurs auxquels on fait confiance pour ne pas compromettre la clé privée. Ces utilisateurs seront en mesure de décrypter les paquets escrow.
  3. Choisir les systèmes qui seront utilisés pour décrypter les paquets escrow. Sur ces systèmes, définir une base de données NSS qui contienne la clé privée.
    Si la clé privée n'a pas été créée dans une base de données NSS, suivre les étapes suivantes :
    • Stocker le certificat et la clé privée dans un fichier PKCS#12.
    • Exécutez :
      certutil -d /the/nss/directory -N
      À ce stade, il est possible de choisir un mot de passe de base de données NSS. Chaque base de données NSS peut avoir un mot de passe différent, donc les utilisateurs désignés n'ont pas besoin de partager un mot de passe unique, si une base de données NSS séparée est utilisé par chaque utilisateur.
    • Exécutez :
      pk12util -d /the/nss/directory -i the-pkcs12-file
  4. Distribuer le certificat à quiconque installant des systèmes ou sauvegardant des clés sur les systèmes existants.
  5. Pour les clés privées sauvegardées, préparez un stockage qui leur permette d'être consultées par une machine et un volume. Il peut s'agir, par exemple, d'un simple répertoire avec un sous-répertoire par machine, ou d'une base de données utilisée pour d'autres tâches de gestion de système également.

19.3.2. Sauvegarde des clés de chiffrement

Quand vous aurez terminé le travail requis (voir Section 19.3.1, « Se préparer à enregistrer vos clés de chiffrement. »), il vous sera alors possible de sauvegarder les clés de chiffrement par la procédure suivante.

Note

Pour tous les exemples qui se trouvent dans ce fichier, /path/to/volume est un périphérique LUKS, et non pas un périphérique en texte brut intégré. La commandeblkid -s type /path/to/volume doit rapporter type="crypto_LUKS".

Procédure 19.4. Sauvegarde des clés de chiffrement

  1. Exécutez :
    volume_key --save /path/to/volume -c /path/to/cert escrow-packet
  2. Sauvegarder le fichier escrow-packet créé dans le stockage préparé, en l'associant avec le système et le volume.
Ces étapes peuvent être effectuées manuellement, ou par script dans le cadre de l'installation du système.

19.3.3. Restaurer l'accès à un volume

Une fois que les clés de chiffrement auront été sauvegardées (voir Section 19.3.1, « Se préparer à enregistrer vos clés de chiffrement. » et Section 19.3.2, « Sauvegarde des clés de chiffrement »), l'accès pourra être restauré à un pilote selon les besoins.

Procédure 19.5. Restaurer l'accès à un volume

  1. Extraire le paquet escrow pour le volume, du stockage de paquets, et envoyez le vers l'un des utilisateurs désignées afin qu'il soit décrypté.
  2. L'utilisateur désigné exécute :
    volume_key --reencrypt -d /the/nss/directory escrow-packet-in -o escrow-packet-out
    Après avoir fourni le mot de passe de base de données NSS, l’utilisateur désigné choisira une phrase secrète pour le chiffrement escrow-paquet-out. Cette phrase secrète peut varier à chaque fois et ne protège que les clés de cryptage que lorsqu'elles sont transférées de l’utilisateur désigné au système cible.
  3. Obtenir le fichier escrow-packet-out et la phrase secrète de l'utilisateur désigné.
  4. Démarrer le système cible dans un environnement où volume_key peut être exécuté et où un paquet escrow-packet-out est disponible (en mode de secours, par exemple).
  5. Exécutez :
    volume_key --restore /path/to/volume escrow-packet-out
    Vous apercevrez alors une invite vous demandant la phrase secrète de paquet qui a été choisie par l'utilisateur désigné, et la nouvelle phrase secrète du volume.
  6. Monter le volume en utilisant la phrase secrète de volume choisie.
Il est possible d’enlever l'ancienne phrase secrète oubliée en utilisant cryptsetup luksKillSlot, par exemple, afin de libérer l'emplacement pour la phrase secrète dans l’en-tête de LUKS du volume chiffré. Cela se fait par la commande cryptsetup luksKillSlot device key-slot. Pour plus d’informations et d’exemples, voir cryptsetup--aider.

19.3.4. Configurer les phrases secrètes pour les urgences

Dans certaines circonstances (par exemple, lors des voyages d'affaire), il n'est pas très pratique pour les administrateurs système de travailler directement avec les systèmes affectés, mais les utilisateurs ont toujours besoin d'accéder à leurs données. Dans de tels cas, volume_key peut fonctionner avec des phrases secrètes, ainsi qu'avec des clés de chiffrement.
Lors de l'installation du système, exécutez :
volume_key --save /path/to/volume -c /path/to/ert --create-random-passphrase passphrase-packet
Cela génère une phrase secrète au hasard, l'ajoute au volume spécifié et la stocke dans le passphrase-packet. Il est également possible de combiner les options --create-random-passphrase et -o pour générer les deux paquets en même temps.
Si un utilisateur oublie le mot de passe, l'utilisateur désigné exécutera :
volume_key --secrets -d /your/nss/directory passphrase-packet
Cela affichera la phrase secrète au hasard. Donnez cette phrase secrète à l'utilisateur final.