Kako šifrirati diskove koristeći LUKS u Fedora Linuxu


U ovom članku ćemo ukratko objasniti blok šifriranje, Linux Unified Key Setup (LUKS) i opisuje upute za kreiranje šifriranog blok uređaja u Fedora Linuxu.

Blokiraj šifriranje uređaja

Šifriranje blokova uređaja se koristi za osiguranje podataka na blok uređaju tako što ih šifrira, a za dešifriranje podataka korisnik mora dati šifru ili ključ za pristup. Ovo daje dodatne sigurnosne mehanizme jer štiti sadržaj uređaja čak i ako je fizički odvojen od sistema.

Uvod u LUKS

LUKS (Linux Unified Key Setup) je standard za šifriranje blokova uređaja u Linuxu, koji funkcionira uspostavljanjem formata na disku za podatke i politike upravljanja pristupnom frazom/ključem . Pohranjuje sve potrebne informacije o podešavanju u zaglavlju particije (također poznatom kao LUKS zaglavlje), što vam omogućava da prenosite ili migrirate podatke bez problema.

LUKS koristi podsistem za mapiranje uređaja kernela sa dm-crypt modulom da obezbijedi mapiranje niskog nivoa koje sadrži enkripciju i dešifriranje podataka uređaja. Možete koristiti program cryptsetup za izvršavanje zadataka na razini korisnika kao što je kreiranje i pristup šifriranim uređajima.

Priprema blok uređaja

Sljedeće upute pokazuju korake za kreiranje i konfiguraciju šifriranih blok uređaja nakon instalacije.

Instalirajte paket cryptsetup.

dnf install cryptsetup-luks

Zatim napunite uređaj nasumičnim podacima prije šifriranja, jer će to značajno povećati snagu enkripcije pomoću sljedećih naredbi.

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]

Upozorenje: Gornje komande će izbrisati sve postojeće podatke na uređaju.

Formatiranje šifrovanog uređaja

Zatim koristite cryptsetup alat na komandnoj liniji da formatirate uređaj kao dm-crypt/LUKS šifrirani uređaj.

cryptsetup luksFormat /dev/sdb1

Nakon što pokrenete naredbu, od vas će biti zatraženo da unesete YES (velikim slovima) kako biste dvaput dostavili pristupnu frazu kako bi uređaj bio formatiran za upotrebu, kao što je prikazano na sljedećem snimku ekrana.

Da biste provjerili je li operacija bila uspješna, pokrenite sljedeću naredbu.

cryptsetup isLuks /dev/sdb1 && echo Success

Možete pogledati sažetak informacija o šifriranju za uređaj.

cryptsetup luksDump /dev/sdb1

Kreiranje mapiranja za omogućavanje pristupa dešifrovanom sadržaju

U ovom odjeljku ćemo konfigurirati kako pristupiti dešifrovanom sadržaju šifriranog uređaja. Kreiraćemo mapiranje koristeći kernel device-mapper. Preporučuje se kreiranje smislenog naziva za ovo mapiranje, nešto poput luk-uuid (gdje je <uuid> zamijenjen sa LUKS UUID uređaja ( Univerzalno jedinstveni identifikator).

Da dobijete svoj šifrirani uređaj UUID, pokrenite sljedeću naredbu.

cryptsetup luksUUID /dev/sdb1

Nakon što dobijete UUID, možete kreirati naziv mapiranja kao što je prikazano (od vas će biti zatraženo da unesete pristupnu frazu kreiranu ranije).

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

Ako je naredba uspješna, čvor uređaja pod nazivom /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c koji predstavlja dešifrirani uređaj.

Blok uređaj koji je upravo kreiran može se čitati i pisati na bilo koji drugi nešifrirani blok uređaj. Možete vidjeti neke informacije o mapiranom uređaju tako što ćete pokrenuti sljedeću naredbu.

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

Kreiranje sistema datoteka na mapiranom uređaju

Sada ćemo pogledati kako kreirati sistem datoteka na mapiranom uređaju, koji će vam omogućiti da koristite mapirani čvor uređaja kao i svaki drugi blok uređaj.

Da kreirate ext4 sistem datoteka na mapiranom uređaju, pokrenite sljedeću naredbu.

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

Da biste montirali gornji sistem datoteka, kreirajte tačku montiranja za njega, npr. /mnt/encrypted-device, a zatim ga montirajte na sljedeći način.

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

Dodajte informacije o mapiranju u /etc/crypttab i /etc/fstab

Zatim moramo konfigurirati sistem da automatski postavi mapiranje za uređaj, kao i da ga montira u vrijeme pokretanja.

Trebali biste dodati informacije o mapiranju u datoteku /etc/crypttab, u sljedećem formatu.

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

u gore navedenom formatu:

  • luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c – je naziv mapiranja
  • UUID=59f2b688-526d-45c7-8f0a-1ac4555d1d7c – je naziv uređaja

Sačuvajte datoteku i zatvorite je.

Zatim dodajte sljedeći unos u /etc/fstab da automatski montirate mapirani uređaj pri pokretanju sistema.

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

Sačuvajte datoteku i zatvorite je.

Zatim pokrenite sljedeću naredbu za ažuriranje systemd jedinica generiranih iz ovih datoteka.

systemctl daemon-reload

Sigurnosna kopija LUKS zaglavlja

Na kraju ćemo pokriti kako napraviti sigurnosnu kopiju LUKS zaglavlja. Ovo je kritičan korak da se izbjegne gubitak svih podataka u šifriranom blok uređaju, u slučaju da su sektori koji sadrže LUKS zaglavlja oštećeni bilo greškom korisnika ili kvarom hardvera. Ova radnja omogućava oporavak podataka.

Da napravite rezervnu kopiju LUKS zaglavlja.

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

I za vraćanje LUKS zaglavlja.

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

To je sve! U ovom članku smo objasnili kako šifrirati blok uređaje koristeći LUKS u Fedora Linux distribuciji. Imate li pitanja ili komentara u vezi sa ovom temom ili vodičem, koristite obrazac za povratne informacije u nastavku da nas kontaktirate.