Btrfs-krypteringsfunktionen på filsystemniveau er stadig ikke tilgængelig. Men du kan bruge et tredjeparts krypteringsværktøj som dm-krypt for at kryptere hele lagerenhederne i dit Btrfs-filsystem.
I denne artikel vil jeg vise dig, hvordan du krypterer de lagerenheder, der er føjet til et Btrfs-filsystem med dm-crypt. Så lad os komme i gang.
Forkortelser
- LUKS - Linux Unified Key Setup
- HDD - Harddiskdrev
- SSD - Solid State Drive
Forudsætninger
For at følge denne artikel:
- Du skal køre enten Fedora 33 Workstation eller Ubuntu 20.04 LTS Linux-distribution på din computer.
- Du skal have en gratis HDD / SSD på din computer.
Som du kan se, har jeg en harddisk sdb på min Ubuntu 20.04 LTS maskine. Jeg krypterer det og formaterer det med Btrfs-filsystemet.
$ sudo lsblk -e7
Installation af påkrævede pakker på Ubuntu 20.04 LTS
For at kryptere lagerenheder og formatere dem med Btrfs-filsystemet skal du have btrfs-progs og kryptsetup pakker installeret på din Ubuntu 20.04 LTS maskine. Heldigvis er disse pakker tilgængelige i den officielle pakkeopbevaring af Ubuntu 20.04 LTS.
Opdater først APT-pakkeopbevaringscachen med følgende kommando:
$ sudo apt opdatering
At installere btrfs-progs og kryptsetup, kør følgende kommando:
Tryk på for at bekræfte installationen Y og tryk derefter på <Gå ind>.
Det btrfs-progs og kryptsetup pakker og deres afhængigheder installeres.
Det btrfs-progs og cryptsetup pakker skal installeres på dette tidspunkt.
Installation af påkrævede pakker på Fedora 33
For at kryptere lagerenheder og formatere dem med Btrfs-filsystemet skal du have btrfs-progs og kryptsetup pakker installeret på din Fedora 33 Workstation-maskine. Heldigvis er disse pakker tilgængelige i den officielle pakkeopbevaring af Fedora 33 Workstation.
Opdater først DNF-pakkeopbevaringscachen med følgende kommando:
$ sudo dnf makecache
At installere btrfs-progs og kryptsetup, kør følgende kommando:
Fedora 33 Workstation bruger Btrfs-filsystemet som standard. Så det er mere sandsynligt, at du allerede har disse pakker installeret, som du kan se i skærmbilledet nedenfor. Hvis de af en eller anden grund ikke er installeret, installeres de.
Generering af en krypteringsnøgle
Før du kan kryptere dine lagerenheder med kryptsetup, du skal generere en tilfældig nøgle på 64 byte.
Du kan generere din krypteringsnøgle og gemme den i / etc / cryptkey fil med følgende kommando:
$ sudo dd hvis = / dev / urandom af = / etc / cryptkey bs = 64 count = 1
En ny krypteringsnøgle skal genereres og gemmes i / etc / cryptkey fil.
Krypteringsnøglefilen / etc / cryptkey kan læses af alle som standard, som du kan se på skærmbilledet nedenfor. Dette er en sikkerhedsrisiko. Vi vil kun have rod bruger til at kunne læse / skrive til / etc / cryptkey-fil.
At kun tillade rodbrugeren at læse / skrive til / etc / cryptkey-fil, ændre filtilladelserne som følger:
Som du kan se, er kun den rod brugeren har læse / skrive (rw) tilladelse til / etc / cryptkey fil. Så ingen andre kan se, hvad der er i / etc / cryptkey fil.
Kryptering af lagerenhederne med dm-crypt
Nu hvor du har genereret en krypteringsnøgle, kan du kryptere din lagerenhed. Lad os sige, sdb, med LUKS v2 (version 2) diskkrypteringsteknologi som følger:
$ sudo cryptsetup -v - type luks2 luksFormat / dev / sdb / etc / cryptkey
cryptsetup vil bede dig om at bekræfte krypteringsfunktionen.
BEMÆRK: Alle data på din harddisk / SSD skal fjernes. Så sørg for at flytte alle dine vigtige data, før du forsøger at kryptere din HDD / SSD.
Indtast for at bekræfte diskkryptering JA (med store bogstaver) og tryk på
På dette tidspunkt er lagerenheden / dev / sdb skal krypteres med krypteringsnøglen / etc / cryptkey.
Åbning af krypterede lagerenheder
Når du har krypteret en lagerenhed med cryptsetup, skal du åbne det med cryptsetup værktøj til at kunne bruge det.
Du kan åbne den krypterede lagerenhed sdb og kortlæg den til din computer som en data lagerenhed som følger:
$ sudo cryptsetup open --key-file = / etc / cryptkey --type luks2 / dev / sdb data
Nu vil den dekrypterede lagerenhed være tilgængelig i stien / dev / mapper / data. Du skal oprette det ønskede filsystem i / dev / mapper / dataenhed og monter / dev / mapper / dataenhed i stedet for / dev / sdb fra nu af.
Oprettelse af Btrfs-filsystem på krypterede enheder:
For at oprette et Btrfs-filsystem på den dekrypterede lagerenhed / dev / mapper / data kør følgende kommando med etiketdataene:
$ sudo mkfs.btrfs -L data / dev / mapper / data
Der skal oprettes et Btrfs-filsystem på / dev / mapper / datalagerenhed, som dekrypteres fra lagerenheden / dev / sdb (krypteret med LUKS 2).
Montering af krypteret Btrfs-filsystem
Du kan også montere det Btrfs-filsystem, du har oprettet tidligere.
Lad os sige, at du vil montere det Btrfs-filsystem, du har oprettet tidligere i /data vejviser.
Så opret /data katalog som følger:
$ sudo mkdir -v / data
At montere Btrfs-filsystemet oprettet på / dev / mapper / datalagerenhed i /data bibliotek, kør følgende kommando:
Som du kan se, oprettes Btrfs-filsystemet på den krypterede lagerenhed sdb er monteret i /data vejviser.
Montering automatisk af krypteret Btrfs-filsystem ved opstartstid
Du kan også montere det krypterede Btrfs-filsystem ved opstartstid.
For at montere det krypterede Btrfs-filsystem ved opstartstid skal du:
- dekryptere lagerenheden / dev / sdb ved opstartstid ved hjælp af / etc / cryptkey krypteringsnøglefil
- monter den dekrypterede lagerenhed / dev / mapper / data til /data vejviser
Find først UUID for sdb krypteret lagerenhed med følgende kommando:
$ sudo blkid / dev / sdb
Som du kan se, er UUID for sdb krypteret lagerenhed er 1c66b0de-b2a3-4d28-81c5-81950434f972. Det vil være anderledes for dig. Så sørg for at ændre det med dit fra nu af.
For automatisk at dekryptere sdb lagerenhed ved opstartstid, skal du tilføje en post til den på / etc / crypttab fil.
Åbn / etc / crypttab fil med nano teksteditor som følger:
$ sudo nano / etc / crypttab
Tilføj følgende linje i slutningen af / etc / crypttab fil, hvis du bruger en harddisk.
Tilføj følgende linje i slutningen af / etc / crypttab fil, hvis du bruger en SSD.
data UUID = 1c66b0de-b2a3-4d28-81c5-81950434f972 / etc / cryptkey luks, noearly, kassérNår du er færdig, skal du trykke på <Ctrl> + x, efterfulgt af Y, og <Gå ind> for at gemme / etc / crypttab fil.
Find nu UUID for dekrypteret / dev / mapper / data lagerenhed med følgende kommando:
Som du kan se, er UUID for / dev / mapper / data dekrypteret lagerenhed er dafd9d61-bdc9-446a-8b0c-aa209bfab98d. Det vil være anderledes for dig. Så sørg for at ændre det med dit fra nu af.
For automatisk at montere den dekrypterede lagerenhed / dev / mapper / data i / data-kataloget ved opstartstid, skal du tilføje en post til det på / etc / fstab fil.
Åbn / etc / fstab-fil med nano teksteditor som følger:
$ sudo nano / etc / fstab
Tilføj nu følgende linje i slutningen af / etc / fstab fil:
Når du er færdig, skal du trykke på <Ctrl> + x, efterfulgt af Y, og <Gå ind> for at gemme / etc / fstab fil.
Til sidst skal du genstarte din computer, så ændringerne træder i kraft.
Den krypterede lagerenhed sdb dekrypteres til en data lagerenhed og data lagerenheden er monteret i /data vejviser.
Som du kan se, blev Btrfs-filsystemet, der blev oprettet på dekrypteret / dev / mapper / data lagerenheden er monteret i /data vejviser.
Konklusion
I denne artikel har jeg vist dig, hvordan du krypterer en lagerenhed ved hjælp af LUKS 2-krypteringsteknologi med cryptsetup. Du lærer også, hvordan du dekrypterer den krypterede lagerenhed og formaterer den også med Btrfs-filsystemet. Samt hvordan man automatisk dekrypterer den krypterede lagerenhed og monterer den ved opstartstidspunktet. Denne artikel skal hjælpe dig i gang med Btrfs-filsystemkryptering.