Kako šifrirati pogone pomoću LUKS-a u Fedora Linuxu


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

Blokiraj šifriranje uređaja

Enkripcija blok uređaja koristi se za osiguranje podataka na blok uređaju šifriranjem, a za dešifriranje podataka korisnik mora unijeti zaporku ili ključ za pristup. To daje dodatne sigurnosne mehanizme jer štiti sadržaj uređaja čak i ako je fizički odvojen od sustava.

Uvod u LUKS

LUKS (Linux Unified Key Setup) standard je za šifriranje blok uređaja u Linuxu, koji funkcionira uspostavljanjem formata podataka na disku i politike upravljanja zaporkom/ključem . Pohranjuje sve potrebne informacije o postavkama u zaglavlju particije (također poznatom kao LUKS zaglavlje), čime vam omogućuje nesmetan prijenos ili migraciju podataka.

LUKS koristi podsustav mapiranja uređaja jezgre s modulom dm-crypt za pružanje mapiranja niske razine koje sadrži enkripciju i dešifriranje podataka uređaja. Program cryptsetup možete koristiti za izvršavanje zadataka na razini korisnika kao što je stvaranje i pristup šifriranim uređajima.

Priprema blok uređaja

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

Instalirajte paket cryptsetup.

dnf install cryptsetup-luks

Zatim ispunite uređaj nasumičnim podacima prije nego što ga šifrirate, 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 naredbe izbrisat će sve postojeće podatke na uređaju.

Formatiranje šifriranog uređaja

Zatim upotrijebite alat naredbenog retka cryptsetup da formatirate uređaj kao dm-crypt/LUKS šifrirani uređaj.

cryptsetup luksFormat /dev/sdb1

Nakon pokretanja naredbe, od vas će se tražiti da unesete YES (velikim slovima) kako biste dva puta unijeli lozinku za uređaj koji će se formatirati za upotrebu, kao što je prikazano na sljedećoj snimci zaslona.

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

cryptsetup isLuks /dev/sdb1 && echo Success

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

cryptsetup luksDump /dev/sdb1

Stvaranje mapiranja za dopuštanje pristupa dešifriranom sadržaju

U ovom ćemo odjeljku konfigurirati kako pristupiti dešifriranom sadržaju kriptiranog uređaja. Izradit ćemo mapiranje pomoću kernel device-mappera. Preporuča se stvoriti smisleno ime za ovo mapiranje, nešto poput luk-uuid (gdje se <uuid> zamjenjuje s LUKS UUID uređaja Univerzalni jedinstveni identifikator).

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

cryptsetup luksUUID /dev/sdb1

Nakon što dobijete UUID, možete stvoriti naziv mapiranja kao što je prikazano (od vas će se tražiti da unesete zaporku koju ste ranije stvorili).

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.

S blok uređaja koji je upravo stvoren može se čitati i pisati na njega kao na bilo koji drugi nešifrirani blok uređaj. Možete vidjeti neke informacije o mapiranom uređaju pokretanjem sljedeće naredbe.

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

Stvaranje datotečnih sustava na mapiranom uređaju

Sada ćemo pogledati kako stvoriti datotečni sustav na mapiranom uređaju, koji će vam omogućiti korištenje čvora mapiranog uređaja kao i bilo koji drugi blok uređaj.

Za stvaranje ext4 datotečnog sustava na mapiranom uređaju, pokrenite sljedeću naredbu.

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

Za montiranje gornjeg datotečnog sustava, stvorite toč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 sustav da automatski postavi mapiranje za uređaj, kao i da ga montira za 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 gornjem formatu:

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

Spremite datoteku i zatvorite je.

Zatim dodajte sljedeći unos u /etc/fstab za automatsko montiranje mapiranog uređaja pri pokretanju sustava.

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

Spremite 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 sigurnosno kopirati LUKS zaglavlja. Ovo je kritičan korak kako bi se izbjegao gubitak svih podataka u šifriranom blok uređaju, u slučaju da su sektori koji sadrže LUKS zaglavlja oštećeni bilo korisničkom pogreškom ili kvarom hardvera. Ova radnja omogućuje oporavak podataka.

Za sigurnosno kopiranje LUKS zaglavlja.

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

I vratiti LUKS zaglavlja.

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

To je sve! U ovom smo članku objasnili kako šifrirati blok uređaje pomoću LUKS u distribuciji Fedora Linux. Imate li pitanja ili komentara u vezi s ovom temom ili vodičem, upotrijebite donji obrazac za povratne informacije da biste nam se obratili.