Comment crypter un système de fichiers BTRFS?

Comment crypter un système de fichiers BTRFS?

La fonction de chiffrement au niveau du système de fichiers BTRFS n'est toujours pas disponible. Mais vous pouvez utiliser un outil de chiffrement tiers comme dm-crypt Pour crypter l'ensemble des périphériques de stockage de votre système de fichiers BTRFS.

Dans cet article, je vais vous montrer comment crypter les périphériques de stockage ajoutés à un système de fichiers BTRFS avec DM-Crypt. Alors, commençons.

Abréviations

  • Luks - Configuration de la clé unifiée Linux
  • Disque dur - Disque dur
  • SSD - Disque dur

Conditions préalables

Pour suivre cet article:

  • Vous devez diriger soit Fedora 33 Workstation ou Ubuntu 20.04 LTS Linux Distribution sur votre ordinateur.
  • Vous devez avoir un disque dur / SSD gratuit sur votre ordinateur.

Comme vous pouvez le voir, j'ai un disque dur SDB sur mon ubuntu 20.04 Machine LTS. Je vais le crypter et le formater avec le système de fichiers BTRFS.

$ sudo lsblk -e7

Installation des packages requis sur Ubuntu 20.04 LTS

Pour chiffrer les périphériques de stockage et les formater avec le système de fichiers BTRFS, vous devez avoir le BTRFS-PROGS et cryptsetup packages installés sur votre ubuntu 20.04 Machine LTS. Heureusement, ces forfaits sont disponibles dans le référentiel officiel de package d'Ubuntu 20.04 LTS.

Tout d'abord, mettez à jour le cache du référentiel de package APT avec la commande suivante:

$ sudo apt mise à jour


À installer BTRFS-PROGS et cryptsetup, Exécutez la commande suivante:

$ sudo apt installer btrfs-progs cryptsetup - install-suggents


Pour confirmer l'installation, appuyez sur Y Et puis appuyez sur <Entrer>.


Le BTRFS-PROGS et cryptsetup les forfaits et leurs dépendances sont en cours d'installation.


Le BTRFS-PROGS et cryptsetup Les packages doivent être installés à ce stade.

Installation des packages requis sur Fedora 33

Pour chiffrer les périphériques de stockage et les formater avec le système de fichiers BTRFS, vous devez avoir le BTRFS-PROGS et cryptsetup Packages installés sur votre machine Fedora 33 Workstation. Heureusement, ces forfaits sont disponibles dans le référentiel officiel de Package de Fedora 33 Workstation.

Tout d'abord, mettez à jour le cache du référentiel de package DNF avec la commande suivante:

$ sudo dnf makecache


À installer BTRFS-PROGS et cryptsetup, Exécutez la commande suivante:

$ sudo dnf installer btrfs-progs cryptsetup -y


Fedora 33 Workstation utilise le système de fichiers BTRFS par défaut. Il est donc plus probable que ces packages soient déjà installés, comme vous pouvez le voir dans la capture d'écran ci-dessous. Si pour une raison quelconque, ils ne sont pas installés, ils seront installés.

Générer une clé de chiffrement

Avant de pouvoir crypter vos dispositifs de stockage avec cryptsetup, Vous devez générer une clé aléatoire de 64 octets de longue date.

Vous pouvez générer votre clé de chiffrement et la stocker dans le / etc / cryptkey fichier avec la commande suivante:

$ sudo dd if = / dev / urandom de = / etc / cryptkey bs = 64 count = 1


Une nouvelle clé de chiffrement doit être générée et stockée dans le / etc / cryptkey déposer.


Le fichier de clé de chiffrement / etc / cryptkey peut être lu par tout le monde par défaut, comme vous pouvez le voir dans la capture d'écran ci-dessous. Ceci est un risque de sécurité. Nous ne voulons que le racine utilisateur pour pouvoir lire / écrire / etc / fichier cryptkey.

$ ls -lh / etc / cryptkey


Pour permettre à l'utilisateur racine de lire / écrire sur le / etc / fichier cryptkey, Modifiez les autorisations de fichier comme suit:

$ sudo chmod -v 600 / etc / cryptkey


Comme vous pouvez le voir, seul le racine L'utilisateur a la lecture / écriture (RW) l'autorisation au / etc / cryptkey déposer. Donc, personne d'autre ne peut voir ce qu'il y a dans le / etc / cryptkey déposer.

$ ls -lh / etc / cryptkey

Crypter les périphériques de stockage avec DM-Crypt

Maintenant que vous avez généré une clé de chiffrement, vous pouvez crypter votre périphérique de stockage. Disons, SDB, avec la technologie LUKS V2 (version 2) Disk Encryption comme suit:

$ sudo cryptsetup -v --type luks2 luksformat / dev / sdb / etc / cryptkey

cryptsetup vous invitera à confirmer l'opération de chiffrement.

NOTE: Toutes les données de votre disque dur / SSD doivent être supprimées. Alors, assurez-vous de déplacer toutes vos données importantes avant d'essayer de crypter votre disque dur / SSD.


Pour confirmer l'opération de chiffrement du disque, tapez OUI (en majuscules) et appuyez sur . Cela peut prendre un certain temps pour terminer.


À ce stade, le périphérique de stockage / dev / sdb devrait être chiffré avec la clé de chiffrement / etc / cryptkey.

Ouverture des périphériques de stockage cryptés

Une fois que vous avez chiffré un périphérique de stockage avec cryptsetup, vous devez l'ouvrir avec le cryptsetup outil pour pouvoir l'utiliser.

Vous pouvez ouvrir le périphérique de stockage crypté SDB et le mapper à votre ordinateur en tant que données Dispositif de stockage comme suit:

$ sudo cryptsetup open --key-file = / etc / cryptkey --type luks2 / dev / sdb data


Maintenant, le périphérique de stockage décrypté sera disponible dans le chemin / dev / mappeur / données. Vous devez créer votre système de fichiers souhaité dans le / Dev / Mapper / Data Device et monter le / Dev / Mapper / Data Device au lieu de / dev / sdb désormais.

Création du système de fichiers BTRFS sur des appareils chiffrés:

Pour créer un système de fichiers BTRFS sur le périphérique de stockage décrypté / dev / mappeur / données Avec les données d'étiquette, exécutez la commande suivante:

$ sudo mkfs.BTRFS -L DATA / DEV / MAPTER / DATA


Un système de fichiers BTRFS doit être créé sur le / Dev / Mapper / Data Storage Device, qui est décrypté à partir du périphérique de stockage / dev / sdb (crypté avec Luks 2).

Système de fichiers BTRFS crypté BTRFS

Vous pouvez monter le système de fichiers BTRFS que vous avez également créé plus tôt.

Disons que vous souhaitez monter le système de fichiers BTRFS que vous avez créé plus tôt dans le /données annuaire.

Alors, créez le /données Répertoire comme suit:

$ sudo mkdir -v / data


Pour monter le système de fichiers BTRFS créé sur le / Dev / Mapper / Data Storage Device dans le /données répertoire, exécutez la commande suivante:

$ Sudo Mount / Dev / Mapper / Data / Data


Comme vous pouvez le voir, le système de fichiers BTRFS créé sur le périphérique de stockage crypté SDB est monté dans le /données annuaire.

Système de fichiers $ sudo btrfs affiche / données

Montant automatiquement le système de fichiers BTRFS crypté au démarrage

Vous pouvez également monter le système de fichiers BTRFS crypté à l'heure du démarrage.

Pour monter le système de fichiers BTRFS crypté à l'heure du démarrage, vous devez:

  • décrypter le périphérique de stockage / dev / sdb au moment du démarrage en utilisant le / etc / cryptkey Fichier de clé de chiffrement
  • monter le périphérique de stockage décrypté / dev / mappeur / données au /données annuaire

Tout d'abord, trouvez l'uuid du SDB Dispositif de stockage chiffré avec la commande suivante:

$ sudo blkid / dev / sdb


Comme vous pouvez le voir, l'Uuid du SDB Le périphérique de stockage crypté est 1C66B0DE-B2A3-4D28-81C5-81950434F972. Ce sera différent pour vous. Alors, assurez-vous de le changer avec le vôtre à partir de maintenant.


Pour déchiffrer automatiquement le SDB Appareil de stockage au moment du démarrage, vous devez ajouter une entrée pour elle sur le / etc / crypttab déposer.

Ouvrir le / etc / crypttab fichier avec le nano Éditeur de texte comme suit:

$ sudo nano / etc / crypttab


Ajouter la ligne suivante à la fin du / etc / crypttab fichier si vous utilisez un disque dur.

Données UUID = 1C66B0DE-B2A3-4D28-81C5-81950434F972 / etc / Cryptkey Luks, Noearly

Ajouter la ligne suivante à la fin du / etc / crypttab Fichier si vous utilisez un SSD.

Données UUID = 1C66B0DE-B2A3-4D28-81C5-81950434F972 / etc / Cryptkey Luks, Noearly, défaussez

Une fois que vous avez terminé, appuyez sur <Ctrl> + X, suivie par Y, et <Entrer> pour sauver le / etc / crypttab déposer.


Maintenant, trouvez l'uuid des décryptés / dev / mappeur / données Dispositif de stockage avec la commande suivante:

$ sudo blkid / dev / mapper / data


Comme vous pouvez le voir, l'Uuid du / dev / mappeur / données Le périphérique de stockage décrypté est DAFD9D61-BDC9-446A-8B0C-AA209BFAB98D. Ce sera différent pour vous. Alors, assurez-vous de le changer avec le vôtre à partir de maintenant.


Pour monter automatiquement le périphérique de stockage déchiffré / dev / mappeur / données Dans le répertoire / données à l'heure du démarrage, vous devez ajouter une entrée pour elle sur le / etc / fstab déposer.

Ouvrir le / etc / fichier fstab avec le nano Éditeur de texte comme suit:

$ sudo nano / etc / fstab


Maintenant, ajoutez la ligne suivante à la fin du / etc / fstab déposer:

UUID = DAFD9D61-BDC9-446A-8B0C-AA209BFAB98D / DATA BTRFS Par défaut 0 0

Une fois que vous avez terminé, appuyez sur <Ctrl> + X, suivie par Y, et <Entrer> pour sauver le / etc / fstab déposer.


Enfin, redémarrez votre ordinateur pour que les modifications prennent effet.

$ sudo redémarrer


Le périphérique de stockage crypté SDB est décrypté en un données périphérique de stockage, et le données Le périphérique de stockage est monté dans le /données annuaire.

$ sudo lsblk -e7


Comme vous pouvez le voir, le système de fichiers BTRFS, qui a été créé sur le décrypté / dev / mappeur / données Le périphérique de stockage est monté dans le /données annuaire.

Système de fichiers $ sudo btrfs affiche / données

Conclusion

Dans cet article, je vous ai montré comment crypter un dispositif de stockage à l'aide de la technologie de chiffrement LUKS 2 avec CryptSetUp. Vous apprenez également à décrypter le périphérique de stockage crypté et à le formater avec le système de fichiers BTRFS également. Ainsi que comment déchiffrer automatiquement le périphérique de stockage crypté et le monter à l'heure du démarrage. Cet article devrait vous aider à démarrer avec le chiffrement du système de fichiers BTRFS.