Btrfs

Een Btrfs-bestandssysteem versleutelen?

Een Btrfs-bestandssysteem versleutelen?

De coderingsfunctie op Btrfs-bestandssysteemniveau is nog steeds niet beschikbaar. Maar u kunt een versleutelingstool van derden gebruiken, zoals: dm-crypt om de volledige opslagapparaten van uw Btrfs-bestandssysteem te versleutelen.

In dit artikel laat ik je zien hoe je de opslagapparaten die aan een Btrfs-bestandssysteem zijn toegevoegd, versleutelt met dm-crypt. Dus laten we beginnen.

Afkortingen

Vereisten

Om dit artikel te volgen:

Zoals je kunt zien, heb ik een HDD sdb op mijn Ubuntu 20.04 LTS-machine. Ik zal het coderen en formatteren met het Btrfs-bestandssysteem.

$ sudo lsblk -e7

Vereiste pakketten installeren op Ubuntu 20.04 LTS

Om opslagapparaten te coderen en ze te formatteren met het Btrfs-bestandssysteem, moet u de btrfs-progs en cryptsetup pakketten geïnstalleerd op uw Ubuntu 20.04 LTS-machine. Gelukkig zijn deze pakketten beschikbaar in de officiële pakketrepository van Ubuntu 20.04 LTS.

Werk eerst de cache van de APT-pakketrepository bij met de volgende opdracht:

$ sudo apt-update


Installeren btrfs-progs en cryptsetup, voer de volgende opdracht uit:

$ sudo apt install btrfs-progs cryptsetup --install-suggests


Om de installatie te bevestigen, drukt u op Y en druk vervolgens op <Enter>.


De btrfs-progs en cryptsetup pakketten en hun afhankelijkheden worden geïnstalleerd.


De btrfs-progs en cryptsetup pakketten moeten op dit punt worden geïnstalleerd.

Vereiste pakketten installeren op Fedora 33

Om opslagapparaten te coderen en ze te formatteren met het Btrfs-bestandssysteem, moet u de btrfs-progs en cryptsetup pakketten geïnstalleerd op je Fedora 33 Workstation machine. Gelukkig zijn deze pakketten beschikbaar in de officiële pakketrepository van Fedora 33 Workstation.

Werk eerst de cache van de DNF-pakketrepository bij met de volgende opdracht:

$ sudo dnf makecache


Installeren btrfs-progs en cryptsetup, voer de volgende opdracht uit:

$ sudo dnf install btrfs-progs cryptsetup -y


Fedora 33 Workstation gebruikt standaard het Btrfs-bestandssysteem. Het is dus waarschijnlijker dat je deze pakketten al hebt geïnstalleerd, zoals je kunt zien in de onderstaande schermafbeelding. Als ze om de een of andere reden niet zijn geïnstalleerd, worden ze wel geïnstalleerd.

Een coderingssleutel genereren

Voordat u uw opslagapparaten kunt versleutelen met: cryptsetup, je moet een willekeurige sleutel van 64 bytes genereren.

U kunt uw coderingssleutel genereren en opslaan in de /etc/cryptkey bestand met het volgende commando:

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


Er moet een nieuwe coderingssleutel worden gegenereerd en opgeslagen in de /etc/cryptkey het dossier.


Het coderingssleutelbestand /etc/cryptkey kan standaard door iedereen worden gelezen, zoals je kunt zien in de onderstaande schermafbeelding. Dit is een veiligheidsrisico. We willen alleen de wortel gebruiker om te kunnen lezen/schrijven naar de /etc/cryptkey-bestand.

$ ls -lh /etc/cryptkey


Om alleen de rootgebruiker toe te staan ​​om te lezen/schrijven naar de /etc/cryptkey-bestand, wijzig de bestandsrechten als volgt:

$ sudo chmod -v 600 /etc/cryptkey


Zoals u kunt zien, zijn alleen de wortel gebruiker heeft lees-/schrijfrechten (rw) voor de /etc/cryptkey het dossier. Dus niemand anders kan zien wat er in de /etc/cryptkey het dossier.

$ ls -lh /etc/cryptkey

De opslagapparaten versleutelen met dm-crypt

Nu u een coderingssleutel hebt gegenereerd, kunt u uw opslagapparaat coderen. laten we zeggen,  sdb, met de LUKS v2 (versie 2) schijfversleutelingstechnologie als volgt:

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

cryptsetup zal u vragen om de coderingsbewerking te bevestigen.

OPMERKING: Alle gegevens van uw HDD/SSD moeten worden verwijderd. Zorg er dus voor dat u al uw belangrijke gegevens verplaatst voordat u probeert uw HDD/SSD te versleutelen.


Om de schijfversleuteling te bevestigen, typt u in JA (in hoofdletters) en druk op . Het kan even duren om te voltooien.


Op dit punt is het opslagapparaat /dev/sdb moet worden gecodeerd met de coderingssleutel /etc/cryptkey.

Versleutelde opslagapparaten openen

Zodra je een opslagapparaat hebt versleuteld met cryptsetup, je moet het openen met de cryptsetup hulpmiddel om het te kunnen gebruiken.

U kunt het versleutelde opslagapparaat openen sdb en wijs het toe aan uw computer als een gegevens opslagapparaat als volgt:

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


Nu is het gedecodeerde opslagapparaat beschikbaar in het pad /dev/mapper/data. U moet uw gewenste bestandssysteem maken in de /dev/mapper/gegevensapparaat en monteer de /dev/mapper/gegevensapparaat in plaats van /dev/sdb vanaf nu.

Btrfs-bestandssysteem maken op versleutelde apparaten:

Een Btrfs-bestandssysteem maken op het gedecodeerde opslagapparaat: /dev/mapper/data met de labelgegevens voert u de volgende opdracht uit:

$ sudo mkfs.btrfs -L data /dev/mapper/data


Er moet een Btrfs-bestandssysteem worden aangemaakt op de /dev/mapper/gegevensopslagapparaat, die is gedecodeerd van het opslagapparaat /dev/sdb (versleuteld met LUKS 2).

Gecodeerd Btrfs-bestandssysteem koppelen

Je kunt het Btrfs-bestandssysteem dat je eerder hebt gemaakt ook aankoppelen.

Laten we zeggen dat je het Btrfs-bestandssysteem wilt mounten dat je eerder in de . hebt gemaakt /gegevens map.

Dus, maak de /gegevens map als volgt:

$ sudo mkdir -v /data


Om het Btrfs-bestandssysteem te koppelen dat is gemaakt op de /dev/mapper/gegevensopslagapparaat in de /gegevens map, voer de volgende opdracht uit:

$ sudo mount /dev/mapper/data /data


Zoals je kunt zien, is het Btrfs-bestandssysteem gemaakt op het gecodeerde opslagapparaat sdb is gemonteerd in de /gegevens map.

$ sudo btrfs bestandssysteem show /data

Automatisch gecodeerd Btrfs-bestandssysteem koppelen tijdens het opstarten

Je kunt het versleutelde Btrfs-bestandssysteem ook tijdens het opstarten aankoppelen.

Om het gecodeerde Btrfs-bestandssysteem tijdens het opstarten aan te koppelen, moet u:

Zoek eerst de UUID van de sdb versleuteld opslagapparaat met de volgende opdracht:

$ sudo blkid /dev/sdb


Zoals u kunt zien, is de UUID van de sdb versleuteld opslagapparaat is 1c66b0de-b2a3-4d28-81c5-81950434f972. Het zal voor jou anders zijn. Dus zorg ervoor dat je het vanaf nu met de jouwe verandert.


Om automatisch de . te ontsleutelen sdb opslagapparaat tijdens het opstarten, moet u er een item voor toevoegen op de /etc/crypttab het dossier.

Open de /etc/crypttab bestand met de nano tekstverwerker als volgt:

$ sudo nano /etc/crypttab


Voeg de volgende regel toe aan het einde van de /etc/crypttab bestand als u een HDD gebruikt.

data UUID=1c66b0de-b2a3-4d28-81c5-81950434f972 /etc/cryptkey luks,noearly

Voeg de volgende regel toe aan het einde van de /etc/crypttab bestand als je een SSD gebruikt.

data UUID=1c66b0de-b2a3-4d28-81c5-81950434f972 /etc/cryptkey luks,noearly,discard

Als u klaar bent, drukt u op <Ctrl> + X, gevolgd door Y, en <Enter> om de . op te slaan /etc/crypttab het dossier.


Zoek nu de UUID van de gedecodeerde /dev/mapper/data opslagapparaat met de volgende opdracht:

$ sudo blkid /dev/mapper/data


Zoals u kunt zien, is de UUID van de /dev/mapper/data gedecodeerd opslagapparaat is dafd9d61-bdc9-446a-8b0c-aa209bfab98d. Het zal voor jou anders zijn. Dus zorg ervoor dat je het vanaf nu met de jouwe verandert.


Het gedecodeerde opslagapparaat automatisch koppelen: /dev/mapper/data in de /data-map tijdens het opstarten, moet u er een item voor toevoegen aan de /etc/fstab het dossier.

Open de /etc/fstab-bestand met de nano tekstverwerker als volgt:

$ sudo nano /etc/fstab


Voeg nu de volgende regel toe aan het einde van de /etc/fstab het dossier:

UUID=dafd9d61-bdc9-446a-8b0c-aa209bfab98d /data btrfs standaard 0 0

Als u klaar bent, drukt u op <Ctrl> + X, gevolgd door Y, en <Enter> om de . op te slaan /etc/fstab het dossier.


Start ten slotte uw computer opnieuw op om de wijzigingen door te voeren.

$ sudo opnieuw opstarten


Het versleutelde opslagapparaat sdb wordt gedecodeerd tot een gegevens opslagapparaat, en de gegevens opslagapparaat is gemonteerd in de /gegevens map.

$ sudo lsblk -e7


Zoals je kunt zien, is het Btrfs-bestandssysteem, dat is gemaakt op de gedecodeerde /dev/mapper/data opslagapparaat is gemonteerd in de /gegevens map.

$ sudo btrfs bestandssysteem show /data

Conclusie

In dit artikel heb ik je laten zien hoe je een opslagapparaat versleutelt met behulp van de LUKS 2-coderingstechnologie met cryptsetup. Je leert ook hoe je het versleutelde opslagapparaat ontsleutelt en formatteert met het Btrfs-bestandssysteem. Evenals hoe het versleutelde opslagapparaat automatisch te decoderen en te koppelen tijdens het opstarten. Dit artikel zou je moeten helpen om aan de slag te gaan met Btrfs-bestandssysteemversleuteling.

Top 5 Game Capture-kaarten
We hebben allemaal gezien en genoten van streaming gameplays op YouTube. PewDiePie, Jakesepticye en Markiplier zijn slechts enkele van de beste gamers...
Hoe een spel op Linux te ontwikkelen
Tien jaar geleden zouden niet veel Linux-gebruikers voorspellen dat hun favoriete besturingssysteem ooit een populair spelplatform voor commerciële vi...
Open source-poorten van commerciële game-engines
Gratis, open source en platformonafhankelijke game-engine-recreaties kunnen worden gebruikt om zowel oude als enkele van de vrij recente gametitels te...