Remarque :
- Ce tutoriel est disponible dans un environnement d'atelier gratuit fourni par Oracle.
- Il utilise des exemples de valeur pour les informations d'identification Oracle Cloud Infrastructure, la location et les compartiments. A la fin de votre atelier, remplacez ces valeurs par celles propres à votre environnement cloud.
Chiffrement des lecteurs à l'aide de LUKS sur Oracle Linux
Introduction
Oracle Linux inclut le chiffrement du mappeur de périphériques (dm-crypt
) et la configuration LUKS (Linux Unified Key Setup) pour gérer le chiffrement sur les périphériques en mode bloc.
Dans cet exercice, nous allons nous concentrer sur les outils frontaux pour chiffrer un périphérique à l'aide de LUKS, qui utilise le module dm-crypt
à partir de la prise en charge du mappeur de périphériques incluse avec le noyau Linux.
Objectifs
- Installer
cryptsetup
- Créer un volume crypté
- Monter un volume crypté
Conditions
Système doté d'un disque disponible et d'une installation entièrement corrigée d'Oracle Linux.
Environnement des exercices de configuration
Remarque : lorsque vous utilisez l'environnement d'atelier gratuit, reportez-vous à Oracle Linux Lab Basics pour obtenir des instructions de connexion et d'utilisation.
-
S'il n'est pas déjà connecté, ouvrez un terminal et connectez-vous via SSH à l'instance ol-node01.
ssh oracle@<ip_address_of_instance>
-
Vérifiez que les volumes de blocs existent.
lsblk -f
La sortie de l'environnement d'atelier gratuit affiche deux périphériques en mode bloc :
sda
, qui contient le système d'exploitation de base etsdb
, que cet atelier utilise. L'option-f
affiche le type de système de fichiers (FSTYPE) et l'identificateur universel (UUID) des blocs.
Installer les packages de cryptage
-
Si elle n'est pas déjà disponible sur le système, installez l'outil
cryptsetup
.Vérifiez si
cryptsetup
est installé.sudo dnf list --installed cryptsetup
S'il n'est pas installé, installez
cryptsetup
.sudo dnf -y install cryptsetup
Remarque : l'outil
cryptsetup
est déjà installé dans l'environnement d'atelier gratuit.
Crypter le volume avec LUKS
Les LUKS et dm-crypt
fonctionnent sur les périphériques en mode bloc, RAID, volumes physiques LVM et même swap. Une fois chiffrées, les données de ces périphériques sont accessibles à l'initialisation ou au montage uniquement avec les informations d'identification appropriées.
L'environnement d'exercice gratuit fournit un disque /dev/sdb1
pré-partitionné pour cette étape.
-
Cryptez le disque.
sudo cryptsetup -y -v luksFormat /dev/sdb1
Saisissez
YES
pour continuer et fournissez la phrase de passe deux fois. La phrase de passe doit contenir :- au moins 8 caractères
- 1 chiffre
- 1 lettre majuscule
- 1 caractère spécial
- mot non-dictionnaire
Important : veillez à mémoriser le mot de passe saisi car il sera utilisé ultérieurement.
Exemple de sortie :
[oracle@ol-node01 ~]$ sudo cryptsetup -y -v luksFormat /dev/sdb1 WARNING! ======== This will overwrite data on /dev/sdb1 irrevocably. Are you sure? (Type 'yes' in capital letters): YES Enter passphrase for /dev/sdb1: Verify passphrase: Key slot 0 created. Command successful.
-
Ouvrez le volume crypté.
Cette étape nécessite une cible pouvant être nommée n'importe quel élément. Nous utiliserons
mysecrets
.sudo cryptsetup -v luksOpen /dev/sdb1 mysecrets
Entrez la même phrase de passe créée à l'étape précédente lorsque vous y êtes invité.
Exemple de sortie :
[oracle@ol-node01 ~]$ sudo cryptsetup -v luksOpen /dev/sdb1 mysecrets Enter passphrase for /dev/sdb1: Key slot 0 unlocked. Command successful.
-
Vérifiez à nouveau les périphériques en mode bloc.
lsblk -f
Le dispositif
/dev/sdb1
affiche désormais le FSTYPE sous la forme crypto_LUKS et affiche le mappage du volume de périphériques chiffrésmysecrets
.
Formater le volume chiffré
Avant d'ajouter des données au volume chiffré, il doit être formaté. Vous pouvez choisir différents systèmes de fichiers, tels que xfs, ext3, ext4, etc.
-
Créez un système de fichiers.
sudo mkfs.xfs /dev/mapper/mysecrets
Montage du volume chiffré
-
Créez un point de montage.
sudo mkdir -p /u01/my_secret_storage
-
Montez le volume.
sudo mount -v /dev/mapper/mysecrets /u01/my_secret_storage
La sortie indique un avertissement SELinux.
Exemple de sortie :
[oracle@ol-node01 ~]$ sudo mount -v /dev/mapper/mysecrets /u01/my_secret_storage/ mount: /u01/my_secret_storage does not contain SELinux labels. You just mounted an file system that supports labels which does not contain labels, onto an SELinux box. It is likely that confined applications will generate AVC messages and not be allowed access to this file system. For more details see restorecon(8) and mount(8). mount: /dev/mapper/mysecrets mounted on /u01/my_secret_storage.
Cela nécessite un nouvel étiquetage du contexte de sécurité SELinux du point de montage.
sudo restorecon -vvRF /u01/my_secret_storage
Exécutez à nouveau la commande
mount
.sudo mount -v -o remount /u01/my_secret_storage
-
Affichez le volume monté.
lsblk
Exemple de sortie :
[oracle@ol-node01 ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 46.6G 0 disk |-sda1 8:1 0 100M 0 part /boot/efi |-sda2 8:2 0 1G 0 part /boot `-sda3 8:3 0 45.5G 0 part |-ocivolume-root 252:0 0 35.5G 0 lvm / `-ocivolume-oled 252:1 0 10G 0 lvm /var/oled sdb 8:16 0 50G 0 disk `-sdb1 8:17 0 2G 0 part `-mysecrets 252:2 0 2G 0 crypt /u01/my_secret_storage
Afficher les détails du volume LUKS
Affichez l'en-tête LUKS, le segment de données, les emplacements de clé et les informations de version.
-
Vider les détails LUKS.
sudo cryptsetup luksDump /dev/sdb1
Exemple de sortie :
LUKS header information Version: 2 Epoch: 3 Metadata area: 16384 [bytes] Keyslots area: 16744448 [bytes] UUID: 4ccea398-5864-45a9-b274-173c8ebc3356 Label: (no label) Subsystem: (no subsystem) Flags: (no flags) Data segments: 0: crypt offset: 16777216 [bytes] length: (whole device) cipher: aes-xts-plain64 sector: 512 [bytes] Keyslots: 0: luks2 Key: 512 bits Priority: normal Cipher: aes-xts-plain64 Cipher key: 512 bits PBKDF: argon2i Time cost: 10 Memory: 1048576 Threads: 4 Salt: ee d2 c7 5b 05 43 0f 0a 12 60 da b5 87 19 4a 6f 06 57 a2 31 b1 dd bb 60 74 53 95 b2 ca 2f ad 4b AF stripes: 4000 AF hash: sha256 Area offset:32768 [bytes] Area length:258048 [bytes] Digest ID: 0 Tokens: Digests: 0: pbkdf2 Hash: sha256 Iterations: 243628 Salt: 89 6c 8b aa 37 af 58 e9 26 49 c5 e5 db 2d 54 ea f8 7a c2 89 0e ab ed 48 74 a5 23 d7 b0 e6 9c 87 Digest: 4a 2b 25 76 c5 85 1a 6c a9 28 0c ee d0 c7 76 eb e1 4c ee 9c 5b 9a e2 d0 95 6e 1f 6e bb 1b 03 d1
Pour plus d'informations, reportez-vous à la page de manuel cryptsetup(8)
, à la documentation Oracle ou à la FAQ en amont.
Pour plus d'informations
Voir d'autres ressources connexes :
Ressources de formation supplémentaires
Explorez d'autres exercices sur docs.oracle.com/learn ou accédez à davantage de contenu de formation gratuit sur le canal Oracle Learning YouTube. En outre, accédez à education.oracle.com/learning-explorer pour devenir explorateur Oracle Learning.
Pour consulter la documentation du produit, consultez Oracle Help Center.
Encrypt Drives using LUKS on Oracle Linux
F60520-01
July 2022
Copyright © 2022, Oracle and/or its affiliates.