Zoeken op website

Hoe schijven te coderen met LUKS in Fedora Linux


In dit artikel zullen we kort uitleggen over blokversleuteling, Linux Unified Key Setup (LUKS), en beschrijven we de instructies om een versleuteld blokapparaat aan te maken in Fedora Linux.

Blokkeer apparaatversleuteling

Versleuteling van blokapparaten wordt gebruikt om de gegevens op een blokapparaat te beveiligen door deze te versleutelen, en om gegevens te ontsleutelen moet een gebruiker een wachtwoordzin of sleutel opgeven om toegang te krijgen. Dit biedt extra beveiligingsmechanismen omdat het de inhoud van het apparaat beschermt, zelfs als het fysiek is losgekoppeld van het systeem.

Introductie tot LUKS

LUKS (Linux Unified Key Setup) is de standaard voor blokapparaatversleuteling in Linux, die werkt door een on-disk-indeling voor de gegevens en een wachtwoordzin/sleutelbeheerbeleid in te stellen . Het slaat alle noodzakelijke instellingsinformatie op in de partitieheader (ook bekend als LUKS-header), waardoor u gegevens naadloos kunt transporteren of migreren.

LUKS maakt gebruik van het kernel device mapper-subsysteem met de dm-crypt module om een mapping op laag niveau te bieden die de codering en decodering van de apparaatgegevens bevat. U kunt het cryptsetup-programma gebruiken om taken op gebruikersniveau uit te voeren, zoals het maken en openen van gecodeerde apparaten.

Een blokapparaat voorbereiden

De volgende instructies tonen de stappen voor het maken en configureren van gecodeerde blokapparaten na de installatie.

Installeer het cryptsetup pakket.

dnf install cryptsetup-luks

Vul vervolgens het apparaat met willekeurige gegevens voordat u het codeert, omdat dit de sterkte van de codering aanzienlijk vergroot met behulp van de volgende opdrachten.

dd if=/dev/urandom of=/dev/sdb1	           [slow with high quality random data ]
OR
badblocks -c 10240 -s -w -t random -v /dev/sdb1  [fast with high quality random data]

Waarschuwing: met de bovenstaande opdrachten worden alle bestaande gegevens op het apparaat gewist.

Een gecodeerd apparaat formatteren

Gebruik vervolgens het opdrachtregelprogramma cryptsetup om het apparaat te formatteren als een met dm-crypt/LUKS gecodeerd apparaat.

cryptsetup luksFormat /dev/sdb1

Nadat u de opdracht hebt uitgevoerd, wordt u gevraagd om YES (in hoofdletters) in te voeren om tweemaal een wachtwoordzin op te geven voor het apparaat dat voor gebruik moet worden geformatteerd, zoals weergegeven in de volgende schermafbeelding.

Voer de volgende opdracht uit om te controleren of de bewerking is geslaagd.

cryptsetup isLuks /dev/sdb1 && echo Success

U kunt een samenvatting bekijken van de coderingsinformatie voor het apparaat.

cryptsetup luksDump /dev/sdb1

Toewijzingen maken om toegang tot gedecodeerde inhoud toe te staan

In dit gedeelte zullen we configureren hoe u toegang krijgt tot de gedecodeerde inhoud van het gecodeerde apparaat. We zullen een mapping maken met behulp van de kernel device-mapper. Het wordt aanbevolen om een betekenisvolle naam voor deze toewijzing te maken, bijvoorbeeld luk-uuid (waarbij <uuid> wordt vervangen door de LUKS UUID van het apparaat ( Universeel unieke identificatiecode).

Voer de volgende opdracht uit om uw gecodeerde apparaat UUID op te halen.

cryptsetup luksUUID /dev/sdb1

Nadat u de UUID heeft ontvangen, kunt u de mappingnaam maken zoals weergegeven (u wordt gevraagd de eerder gemaakte wachtwoordzin in te voeren).

cryptsetup luksOpen /dev/sdb1 luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c

Als de opdracht succesvol is, wordt er een apparaatknooppunt met de naam /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c weergegeven, dat het gedecodeerde apparaat vertegenwoordigt.

Het zojuist aangemaakte blokapparaat kan net als elk ander niet-gecodeerd blokapparaat worden gelezen en geschreven. U kunt wat informatie over het toegewezen apparaat bekijken door de volgende opdracht uit te voeren.

dmsetup info /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c

Bestandssystemen maken op een toegewezen apparaat

Nu zullen we bekijken hoe u een bestandssysteem op het toegewezen apparaat kunt maken, waardoor u het toegewezen apparaatknooppunt net als elk ander blokapparaat kunt gebruiken.

Voer de volgende opdracht uit om een ext4-bestandssysteem op het toegewezen apparaat te maken.

mkfs.ext4 /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c

Om het bovenstaande bestandssysteem te mounten, maakt u er een koppelpunt voor, bijvoorbeeld /mnt/encrypted-device, en koppelt u het vervolgens als volgt.

mkdir -p /mnt/encrypted-device
mount /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c /mnt/encrypted-device/

Voeg toewijzingsinformatie toe aan /etc/crypttab en /etc/fstab

Vervolgens moeten we het systeem configureren om automatisch een mapping voor het apparaat in te stellen en deze tijdens het opstarten te koppelen.

U moet de kaartinformatie toevoegen aan het bestand /etc/crypttab, in de volgende indeling.

luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c  UUID=59f2b688-526d-45c7-8f0a-1ac4555d1d7c   none

in het bovenstaande formaat:

  • luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c – is de kaartnaam
  • UUID=59f2b688-526d-45c7-8f0a-1ac4555d1d7c – is de apparaatnaam

Sla het bestand op en sluit het.

Voeg vervolgens de volgende vermelding toe aan /etc/fstab om het toegewezen apparaat automatisch te koppelen bij het opstarten van het systeem.

/dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c  /mnt/encrypted-device  ext4 0 0

Sla het bestand op en sluit het.

Voer vervolgens de volgende opdracht uit om systemd-eenheden bij te werken die uit deze bestanden zijn gegenereerd.

systemctl daemon-reload

Maak een back-up van LUKS-headers

Ten slotte bespreken we hoe u een back-up maakt van de LUKS-headers. Dit is een cruciale stap om te voorkomen dat alle gegevens in het gecodeerde blokapparaat verloren gaan, voor het geval de sectoren met de LUKS-headers beschadigd raken door een gebruikersfout of hardwarefout. Deze actie maakt gegevensherstel mogelijk.

Om een back-up te maken van de LUKS-headers.

mkdir /root/backups  
cryptsetup luksHeaderBackup --header-backup-file luks-headers /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c 

En om de LUKS-headers te herstellen.

cryptsetup luksHeaderRestore --header-backup-file /root/backups/luks-headers /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c 

Dat is alles! In dit artikel hebben we uitgelegd hoe je blokapparaten kunt coderen met LUKS in Fedora Linux distributie. Heeft u vragen of opmerkingen over dit onderwerp of de handleiding, gebruik dan onderstaand feedbackformulier om ons te bereiken.