GNU/Linux >> Tutoriels Linux >  >> Linux

Déverrouillez automatiquement les disques chiffrés sous Linux

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.


Linux
  1. Créer une partition de récupération sous Linux embarqué ?

  2. Préparer les disques de données sur les serveurs cloud Linux

  3. Répéter la commande automatiquement sous Linux

  4. Crypter une partition existante sous Linux tout en préservant ses données

  5. Comment déplacer une partition sous GNU/Linux ?

Gestion des partitions Linux

Comment monter une partition Windows chiffrée par Bitlocker sous Linux

Comment lister les disques sous Linux

Comment chiffrer une partition sous Linux

Créer une partition sous Linux - Un guide étape par étape

Comprendre l'utilitaire séparé Linux