Kako šifrirati pogone z uporabo LUKS v Fedora Linuxu


V tem članku bomo na kratko razložili šifriranje blokov, Linux Unified Key Setup (LUKS) in opisali navodila za ustvarjanje šifrirane blokovne naprave v Fedora Linuxu.

Šifriranje blokovne naprave se uporablja za zaščito podatkov na blokovni napravi s šifriranjem in za dešifriranje podatkov mora uporabnik za dostop vnesti geslo ali ključ. To daje dodatne varnostne mehanizme, saj varuje vsebino naprave, tudi če je bila fizično ločena od sistema.

LUKS (Linux Unified Key Setup) je standard za blokirno šifriranje naprav v Linuxu, ki deluje tako, da vzpostavi format na disku za podatke in politiko upravljanja gesla/ključa. Vse potrebne informacije o nastavitvi shrani v glavo particije (znano tudi kot glava LUKS) in vam tako omogoča nemoten transport ali selitev podatkov.

LUKS uporablja podsistem preslikave jedrnih naprav z modulom dm-crypt za zagotavljanje preslikave na nizki ravni, ki vsebuje šifriranje in dešifriranje podatkov naprave. Program cryptsetup lahko uporabite za izvajanje nalog na ravni uporabnika, na primer ustvarjanje in dostop do šifriranih naprav.

Priprava blokirne naprave

Naslednja navodila prikazujejo korake za ustvarjanje in konfiguriranje šifriranih blokovnih naprav po namestitvi.

Namestite paket cryptsetup.

# dnf install cryptsetup-luks

Nato v napravo napolnite naključne podatke, preden jih šifrirate, saj bo to močno povečalo moč šifriranja z naslednjimi ukazi.

# 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]

Opozorilo: Zgornji ukazi bodo izbrisali vse obstoječe podatke v napravi.

Oblikovanje šifrirane naprave

Nato z orodjem ukazne vrstice cryptsetup napravo formatirajte kot šifrirano napravo dm-crypt/LUKS.

# cryptsetup luksFormat /dev/sdb1

Po zagonu ukaza boste pozvani, da vnesete YES (z velikimi črkami), da dvakrat vnesete geslo za napravo, ki jo želite formatirati za uporabo, kot je prikazano na naslednjem posnetku zaslona.

Če želite preveriti, ali je bila operacija uspešna, zaženite naslednji ukaz.

# cryptsetup isLuks /dev/sdb1 && echo Success

Ogledate si lahko povzetek informacij o šifriranju naprave.

# cryptsetup luksDump /dev/sdb1

Ustvarjanje preslikave, ki omogoča dostop do dešifrirane vsebine

V tem razdelku bomo nastavili način dostopa do dešifrirane vsebine šifrirane naprave. Ustvarili bomo preslikavo z uporabo preslikav jedra device-mapper. Priporočljivo je ustvariti smiselno ime za to preslikavo, na primer luk-uuid (kjer je <uuid> nadomeščen z LUKS UUID v napravi (univerzalno enolični identifikator).

Če želite dobiti UUID svoje šifrirane naprave, zaženite naslednji ukaz.

# cryptsetup luksUUID /dev/sdb1

Ko dobite UUID, lahko ustvarite ime preslikave, kot je prikazano (pozvani boste, da vnesete geslo, ustvarjeno prej).

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

Če je ukaz uspešen, vozlišče naprave z imenom /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c , ki predstavlja dešifrirano napravo.

Blokirano napravo, ki je bila pravkar ustvarjena, je mogoče brati in zapisovati kot katero koli drugo nešifrirano blokovno napravo. Nekaj informacij o preslikani napravi lahko vidite tako, da zaženete naslednji ukaz.

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

Ustvarjanje datotečnih sistemov na preslikani napravi

Zdaj bomo preučili, kako ustvariti datotečni sistem na preslikani napravi, ki vam bo omogočil uporabo preslikanega vozlišča naprave tako kot katero koli drugo blokovno napravo.

Če želite na preslikani napravi ustvariti datotečni sistem ext4, zaženite naslednji ukaz.

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

Če želite namestiti zgornji datotečni sistem, ustvarite točko namestitve zanjo, npr. /mnt/encrypted-device in jo nato namestite na naslednji način.

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

Dodajte podatke o preslikavi v/etc/crypttab in/etc/fstab

Nato moramo sistem konfigurirati tako, da samodejno nastavi preslikavo za napravo in jo priklopi ob zagonu.

Informacije o preslikavi dodajte v datoteko/etc/crypttab v naslednji obliki.

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

v zgornji obliki:

  • luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c - je ime preslikave
  • UUID = 59f2b688-526d-45c7-8f0a-1ac4555d1d7c - je ime naprave

Datoteko shranite in zaprite.

Nato v/etc/fstab dodajte naslednji vnos za samodejno namestitev preslikane naprave ob zagonu sistema.

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

Datoteko shranite in zaprite.

Nato zaženite naslednji ukaz za posodobitev sistemskih enot, ustvarjenih iz teh datotek.

# systemctl daemon-reload

Varnostno kopirajte glave LUKS

Na koncu bomo opisali, kako varnostno kopirati glave LUKS. To je ključni korak, da se prepreči izguba vseh podatkov v šifrirani blokovni napravi, če so sektorji, ki vsebujejo glave LUKS, poškodovani zaradi napake uporabnika ali okvare strojne opreme. To dejanje omogoča obnovitev podatkov.

Za varnostno kopiranje glav LUKS.

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

In obnoviti glave LUKS.

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

To je vse! V tem članku smo razložili, kako šifrirati blokovne naprave z uporabo LUKS v distribuciji Fedora Linux. Ali imate kakršna koli vprašanja ali komentarje v zvezi s to temo ali vodnikom, uporabite spodnji obrazec za povratne informacije, da nas kontaktirate.