Hvordan kryptere et BTRFS -filsystem?

Hvordan kryptere et BTRFS -filsystem?

BTRFS-krypteringsfunksjonen på filsystemnivå er fremdeles ikke tilgjengelig. Men du kan bruke et tredjeparts krypteringsverktøy som DM-kryptering For å kryptere hele lagringsenhetene i BTRFS -filsystemet ditt.

I denne artikkelen skal jeg vise deg hvordan du krypterer lagringsenhetene som er lagt til et BTRFS-filsystem med DM-Crypt. Så la oss komme i gang.

Forkortelser

  • Luks - Linux Unified Key Setup
  • HDD - Harddisk
  • SSD - Solid-state-stasjon

Forutsetninger

Å følge denne artikkelen:

  • Du må kjøre enten Fedora 33 Workstation eller Ubuntu 20.04 LTS Linux -distribusjon på datamaskinen din.
  • Du må ha en gratis HDD/SSD på datamaskinen din.

Som du kan se, har jeg en HDD SDB på min Ubuntu 20.04 LTS -maskin. Jeg vil kryptere det og formatere det med BTRFS -filsystemet.

$ sudo lsblk -e7

Installere nødvendige pakker på Ubuntu 20.04 LTS

For å kryptere lagringsenheter og formatere dem med BTRFS -filsystemet, må du ha BTRFS-PROGS og CryptSetup Pakker installert på Ubuntu 20.04 LTS -maskin. Heldigvis er disse pakkene tilgjengelige i det offisielle pakkelageret til Ubuntu 20.04 LTS.

Oppdater først Apt Package Repository Cache med følgende kommando:

$ sudo apt oppdatering


Å installere BTRFS-PROGS og CryptSetup, Kjør følgende kommando:

$ sudo apt install BTRFS-PROGS CryptSetup--Installer-sugests


For å bekrefte installasjonen, trykk Y Og trykk deretter <Tast inn>.


De BTRFS-PROGS og CryptSetup Pakker og deres avhengigheter blir installert.


De BTRFS-PROGS og CryptSetup Pakker skal installeres på dette tidspunktet.

Installere nødvendige pakker på Fedora 33

For å kryptere lagringsenheter og formatere dem med BTRFS -filsystemet, må du ha BTRFS-PROGS og CryptSetup Pakker installert på Fedora 33 Workstation Machine. Heldigvis er disse pakkene tilgjengelige i det offisielle pakkelageret til Fedora 33 arbeidsstasjon.

Oppdater først DNF Package Repository Cache med følgende kommando:

$ sudo dnf makecache


Å installere BTRFS-PROGS og CryptSetup, Kjør følgende kommando:

$ sudo dnf installer btrfs -progs cryptsetup -y


Fedora 33 Workstation bruker BTRFS -filsystemet som standard. Så det er mer sannsynlig at du allerede vil ha disse pakkene installert, som du kan se på skjermbildet nedenfor. Hvis de av en eller annen grunn ikke er installert, vil de bli installert.

Generere en krypteringsnøkkel

Før du kan kryptere lagringsenhetene dine med CryptSetup, du må generere en 64 byte lang tilfeldig nøkkel.

Du kan generere krypteringsnøkkelen og lagre den i /etc/CryptKey fil med følgende kommando:

$ sudo dd if =/dev/urandom av =/etc/cryptKey bs = 64 count = 1


En ny krypteringsnøkkel skal genereres og lagres i /etc/CryptKey fil.


Krypteringsnøkkelfilen /etc/CryptKey Kan leses av alle som standard, som du kan se på skjermdumpen nedenfor. Dette er en sikkerhetsrisiko. Vi vil bare ha rot bruker for å kunne lese/skrive til /etc/kryptKey -fil.

$ ls -lh /etc /CryptKey


For å la bare rotbrukeren lese/skrive til /etc/kryptKey -fil, Endre filtillatelsene som følger:

$ sudo chmod -v 600 /etc /kryptKey


Som du kan se, bare rot brukeren har lest/skriv (RW) tillatelse til /etc/CryptKey fil. Så ingen andre kan se hva som er i /etc/CryptKey fil.

$ ls -lh /etc /CryptKey

Krypter lagringsenhetene med DM-kryptering

Nå som du har generert en krypteringsnøkkel, kan du kryptere lagringsenheten. la oss si, SDB, med Luks V2 (versjon 2) diskkrypteringsteknologi som følger:

$ sudo cryptsetup -v -Type LUKS2 LUKSFORMAT /Dev /SDB /etc /CryptKey

CryptSetup vil be deg om å bekrefte krypteringsoperasjonen.

MERK: Alle dataene til HDD/SSD -en din skal fjernes. Så sørg for å flytte alle viktige data før du prøver å kryptere HDD/SSD.


For å bekrefte diskkrypteringsoperasjonen, skriv inn JA (i store bokstaver) og trykk . Det kan ta en stund å fullføre.


På dette tidspunktet er lagringsenheten /dev/sdb skal krypteres med krypteringsnøkkelen /etc/CryptKey.

Åpningskrypterte lagringsenheter

Når du har kryptert en lagringsenhet med CryptSetup, du må åpne den med CryptSetup verktøy for å kunne bruke det.

Du kan åpne den krypterte lagringsenheten SDB og kartlegge den til datamaskinen din som en data lagringsenhet som følger:

$ sudo cryptsetup open-ney-fil =/etc/cryptKey-type lUKS2/dev/sdb data


Nå vil den dekrypterte lagringsenheten være tilgjengelig i banen /dev/mapper/data. Du må opprette ønsket filsystem i /dev/mapper/dataenhet og monter /dev/mapper/dataenhet i stedet for /dev/sdb fra nå av.

Opprette BTRFS -filsystem på krypterte enheter:

For å lage et BTRFS -filsystem på den dekrypterte lagringsenheten /dev/mapper/data Med etikettdataene, kjør følgende kommando:

$ sudo mkfs.BTRFS -L Data/Dev/Mapper/Data


Et BTRFS -filsystem bør opprettes på /dev/mapper/datalagringsenhet, som er dekryptert fra lagringsenheten /dev/sdb (Kryptert med Luks 2).

Monteringskrypterte BTRFS -filsystem

Du kan montere BTRFS -filsystemet du også har opprettet tidligere.

La oss si, du vil montere BTRFS -filsystemet du har opprettet tidligere i /data katalog.

Så lage /data Katalog som følger:

$ sudo mkdir -v /data


Å montere BTRFS -filsystemet som er opprettet på /dev/mapper/datalagringsenhet i /data Katalog, kjør følgende kommando:

$ sudo mount /dev /mapper /data /data


Som du kan se, BTRFS -filsystemet som er opprettet på den krypterte lagringsenheten SDB er montert i /data katalog.

$ sudo btrfs filesystem show /data

Automatisk montering av krypterte BTRFS-filsystem ved oppstartstid

Du kan montere det krypterte BTRFS -filsystemet også ved oppstartstidspunktet.

For å montere det krypterte BTRFS -filsystemet ved oppstartstidspunktet, må du:

  • dekryptere lagringsenheten /dev/sdb ved oppstartstid ved hjelp av /etc/CryptKey Krypteringsnøkkelfil
  • Monter dekrypterte lagringsenhet /dev/mapper/data til /data katalog

Først, finn UUID av SDB Kryptert lagringsenhet med følgende kommando:

$ sudo blkid /dev /sdb


Som du kan se, er uuiden til SDB Kryptert lagringsenhet er 1C66B0DE-B2A3-4D28-81C5-81950434F972. Det vil være annerledes for deg. Så sørg for å endre det med din fra nå av.


Å automatisk dekryptere SDB lagringsenhet ved oppstartstid, må du legge til en oppføring for den på /etc/crypttab fil.

Åpne /etc/crypttab fil med Nano Text Editor som følger:

$ sudo nano /etc /crypttab


Legg til følgende linje på slutten av /etc/crypttab fil hvis du bruker en HDD.

Data UUID = 1C66B0DE-B2A3-4D28-81C5-81950434F972 /etc /CryptKey Luks, Noarly

Legg til følgende linje på slutten av /etc/crypttab fil hvis du bruker en SSD.

Data UUID = 1C66B0DE-B2A3-4D28-81C5-81950434F972 /etc /CryptKey Luks, Noarly, kast

Når du er ferdig, trykk <Ctrl> + X, etterfulgt av Y, og <Tast inn> For å redde /etc/crypttab fil.


Nå, finn UUID av dekrypterte /dev/mapper/data Lagringsenhet med følgende kommando:

$ sudo blkid/dev/mapper/data


Som du kan se, er uuiden til /dev/mapper/data dekryptert lagringsenhet er DAFD9D61-BDC9-446A-8B0C-AA209BFAB98D. Det vil være annerledes for deg. Så sørg for å endre det med din fra nå av.


For automatisk å montere den dekrypterte lagringsenheten /dev/mapper/data I /Data -katalogen på oppstartstidspunktet må du legge til en oppføring for den på /etc/fstab fil.

Åpne /etc/fstab -fil med Nano Text Editor som følger:

$ sudo nano /etc /fstab


Legg nå til følgende linje på slutten av /etc/fstab fil:

UUID = DAFD9D61-BDC9-446A-8B0C-AA209BFAB98D /DATA BTRFS Standards 0 0

Når du er ferdig, trykk <Ctrl> + X, etterfulgt av Y, og <Tast inn> For å redde /etc/fstab fil.


Til slutt, start datamaskinen på nytt for at endringene skal tre i kraft.

$ sudo omstart


Den krypterte lagringsenheten SDB blir dekryptert i en data lagringsenhet, og data Lagringsenhet er montert i /data katalog.

$ sudo lsblk -e7


Som du kan se, BTRFS -filsystemet, som ble opprettet på dekrypterte /dev/mapper/data Lagringsenhet er montert i /data katalog.

$ sudo btrfs filesystem show /data

Konklusjon

I denne artikkelen har jeg vist deg hvordan du krypterer en lagringsenhet ved hjelp av Luks 2 -krypteringsteknologien med CryptSetup. Du lærer også hvordan du dekrypterer den krypterte lagringsenheten og formaterer den også med BTRFS -filsystemet. I tillegg til hvordan du automatisk dekrypterer den krypterte lagringsenheten og monterer den ved oppstartstidspunktet. Denne artikkelen skal hjelpe deg i gang med BTRFS -filsystemkryptering.