Du point de vue de la sécurité, il est important de crypter vos données sensibles pour les protéger des regards indiscrets et des pirates. Linux Unified Key Setup (LUKS) est un excellent outil et une norme commune pour le chiffrement de disque Linux. Parce qu'il stocke toutes les informations de configuration pertinentes dans l'en-tête de partition, il facilite la migration des données.
Pour configurer des disques ou des partitions chiffrés avec LUKS, vous devrez utiliser l'utilitaire cryptsetup. Malheureusement, l'un des inconvénients du chiffrement de vos disques est que vous devez fournir manuellement le mot de passe chaque fois que le système est redémarré ou que le disque est remonté.
Plus de ressources Linux
- Aide-mémoire des commandes Linux
- Aide-mémoire des commandes Linux avancées
- Cours en ligne gratuit :Présentation technique de RHEL
- Aide-mémoire sur le réseau Linux
- Aide-mémoire SELinux
- Aide-mémoire sur les commandes courantes de Linux
- Que sont les conteneurs Linux ?
- Nos derniers articles Linux
Cependant, le chiffrement de disque lié au réseau (NBDE) peut déverrouiller automatiquement et en toute sécurité les disques chiffrés sans aucune intervention de l'utilisateur. Il est disponible dans plusieurs distributions Linux, à commencer par Red Hat Enterprise Linux 7.4, CentOS 7.4 et Fedora 24, et dans les versions ultérieures de chacune.
NBDE est implémenté avec les technologies suivantes :
- Cadre de chape : Un outil de framework enfichable qui déchiffre et déverrouille automatiquement les volumes LUKS
- Serveur Tang : Un service pour lier les clés cryptographiques à la présence sur le réseau
Tang fournit les clés de chiffrement au client Clevis. Selon les développeurs de Tang, cela fournit une alternative sécurisée, sans état et anonyme aux services de dépôt de clés.
Étant donné que NBDE utilise l'architecture client-serveur, vous devez configurer à la fois le client et le serveur. Vous pouvez utiliser une machine virtuelle sur votre réseau local pour votre serveur Tang.
Installation du serveur
Installez Tang en utilisant sudo :
sudo yum install tang -y
Activez le serveur Tang :
sudo systemctl enable tangd.socket --now
Le serveur Tang fonctionne sur le port 80 et doit être ajouté à firewalld. Ajoutez la règle de pare-feu appropriée :
sudo firewall-cmd --add-port=tcp/80 --perm
sudo firewall-cmd --reload
Le serveur devrait maintenant être installé.
Installation client
Pour cet exemple, supposons que vous avez ajouté un nouveau disque de 1 Go nommé /dev/vdc
à votre système.
Créez la partition primaire en utilisant fdisk ou parted :
sudo fdisk /dev/vdc
Effectuez les étapes suivantes pour installer le client.
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x4a6812d4.
Command (m for help):
Entrez n pour créer la nouvelle partition :
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Appuyez sur Entrée clé pour sélectionner la partition primaire :
Using default response p
Partition number (1-4, default 1):
Appuyez sur Entrée touche pour sélectionner le numéro de partition par défaut :
First sector (2048-2097151, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151):
Appuyez sur Entrée touche pour sélectionner le dernier secteur :
Using default value 2097151
Partition 1 of type Linux and of size 1023 MiB is set
Command (m for help): wq
Tapez wq pour enregistrer les modifications et quitter fdisk :
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Exécutez partprobe
pour informer le système des modifications de la table de partition :
sudo partprobe
Installez le package cryptsetup en utilisant sudo :
sudo yum install cryptsetup -y
Utilisez le cryptsetup luksFormat
commande pour chiffrer le disque. Vous devrez taper OUI lorsque vous y êtes invité, choisissez et saisissez également une phrase de passe pour chiffrer le disque :
sudo cryptsetup luksFormat /dev/vdc1
WARNING!
========
This will overwrite data on /dev/vdc1 irrevocably.
Are you sure? (Type uppercase yes):
Enter passphrase for /dev/vdc1:
Verify passphrase:
Utilisez le cryptsetup luksOpen
pour mapper la partition chiffrée sur un périphérique logique. Par exemple, utilisez encryptedvdc1
comme nom. Vous devrez également saisir à nouveau la phrase secrète :
sudo cryptsetup luksOpen /dev/vdc1 encryptedvdc1
Enter passphrase for /dev/vdc1:
La partition chiffrée est maintenant disponible sur /dev/mapper/encryptedvdc1
.
Créez un système de fichiers XFS sur la partition chiffrée :
sudo mkfs.xfs /dev/mapper/encryptedvdc1
Créez un répertoire pour monter la partition chiffrée :
sudo mkdir /encrypted
Utilisez le cryptsetup luksClose
commande pour verrouiller la partition :
cryptsetup luksClose encryptedvdc1
Installez les packages Clevis à l'aide de sudo :
sudo yum install clevis clevis-luks clevis-dracut -y
Modifiez /etc/crypttab pour ouvrir le volume chiffré au démarrage :
sudo vim /etc/crypttab
Ajoutez la ligne suivante :
encryptedvdc1 /dev/vdc1 none _netdev
Modifiez /etc/fstab pour monter automatiquement le volume chiffré lors d'un redémarrage ou au démarrage :
sudo vim /etc/fstab
Ajoutez la ligne suivante :
/dev/mapper/encryptedvdc1 /encrypted xfs _netdev 1 2
Pour cet exemple, supposons que l'adresse IP du serveur Tang est 192.168.1.20
. Vous pouvez également utiliser le nom d'hôte ou le domaine si vous préférez.
Exécutez la clevis
suivante commande :
sudo clevis bind luks -d /dev/vdc1 tang '{"url":"http://192.168.1.20"}'
The advertisement contains the following signing keys:
rwA2BAITfYLuyNiIeYUMBzkhk7M
Do you wish to trust these keys? [ynYN] Y
Enter existing LUKS password:
Tapez O pour accepter les clés du serveur Tang et fournir le mot de passe LUKS existant pour la configuration initiale.
Activez clevis-luks-askpass.path via systemctl afin d'éviter d'être invité à entrer la phrase secrète pour les partitions non root.
sudo systemctl enable clevis-luks-askpass.path
Le client est installé. Désormais, chaque fois que vous redémarrez le serveur, le disque chiffré doit être automatiquement déchiffré et monté en récupérant les clés du serveur Tang.
Si le serveur Tang n'est pas disponible pour une raison quelconque, vous devrez fournir la phrase de passe manuellement afin de déchiffrer et de monter la partition.