Kaip užšifruoti diskus naudojant LUKS sistemoje „Fedora Linux“.


Šiame straipsnyje trumpai paaiškinsime apie blokų šifravimą, Linux vieningojo rakto sąranką (LUKS) ir aprašome instrukcijas, kaip sukurti šifruotą blokinį įrenginį sistemoje Fedora Linux.

Blokuoti įrenginio šifravimą

Blokavimo įrenginio šifravimas naudojamas duomenims apsaugoti blokuojamame įrenginyje juos užšifruojant, o norint iššifruoti duomenis, vartotojas turi pateikti slaptafrazę arba prieigos raktą. Tai suteikia papildomų saugumo mechanizmų, nes apsaugo įrenginio turinį, net jei jis buvo fiziškai atskirtas nuo sistemos.

Įvadas į LUKS

LUKS (Linux Unified Key Setup) yra blokinio įrenginio šifravimo standartas sistemoje Linux, kuris veikia nustatydamas duomenų formatą diske ir slaptafrazės/rakto valdymo politiką. . Ji saugo visą reikalingą sąrankos informaciją skaidinio antraštėje (taip pat žinoma kaip LUKS antraštė), todėl galite sklandžiai perkelti arba perkelti duomenis.

LUKS naudoja branduolio įrenginio atvaizdavimo posistemį su dm-crypt moduliu, kad pateiktų žemo lygio atvaizdavimą, kuriame saugomi įrenginio duomenų šifravimas ir iššifravimas. Galite naudoti šifravimo programą norėdami atlikti vartotojo lygio užduotis, pvz., kurti ir pasiekti šifruotus įrenginius.

Blokavimo įrenginio paruošimas

Šiose instrukcijose pateikiami šifruotų blokų įrenginių kūrimo ir konfigūravimo po įdiegimo veiksmai.

Įdiekite cryptsetup paketą.

dnf install cryptsetup-luks

Tada prieš šifruodami įrenginį užpildykite atsitiktiniais duomenimis, nes tai žymiai padidins šifravimo stiprumą naudojant šias komandas.

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]

Įspėjimas: pirmiau nurodytos komandos ištrins visus esamus įrenginio duomenis.

Šifruoto įrenginio formatavimas

Tada naudokite komandų eilutės įrankį cryptsetup, kad formatuotumėte įrenginį kaip dm-crypt/LUKS šifruotą įrenginį.

cryptsetup luksFormat /dev/sdb1

Paleidę komandą būsite paraginti įvesti TAIP (didžiosiomis raidėmis), kad du kartus pateiktumėte slaptafrazę, kad įrenginys būtų suformatuotas naudoti, kaip parodyta toliau esančioje ekrano kopijoje.

Norėdami patikrinti, ar operacija buvo sėkminga, paleiskite šią komandą.

cryptsetup isLuks /dev/sdb1 && echo Success

Galite peržiūrėti įrenginio šifravimo informacijos santrauką.

cryptsetup luksDump /dev/sdb1

Susiejimo sukūrimas, leidžiantis pasiekti iššifruotą turinį

Šiame skyriuje sukonfigūruosime, kaip pasiekti užšifruoto įrenginio iššifruotą turinį. Sukursime atvaizdavimą naudodami branduolio įrenginio atvaizdavimo priemonę. Šiam susiejimui rekomenduojama sukurti prasmingą pavadinimą, pvz., luk-uuid (kur <uuid> pakeičiamas įrenginio LUKS UUID Visuotinai unikalus identifikatorius).

Norėdami gauti šifruoto įrenginio UUID, paleiskite šią komandą.

cryptsetup luksUUID /dev/sdb1

Gavę UUID, galite sukurti susiejimo pavadinimą, kaip parodyta (būsite paraginti įvesti anksčiau sukurtą slaptafrazę).

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

Jei komanda sėkminga, įrenginio mazgas, vadinamas /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c, kuris nurodo iššifruotą įrenginį.

Ką tik sukurtą blokinį įrenginį galima nuskaityti ir įrašyti į jį kaip ir bet kurį kitą nešifruotą blokinį įrenginį. Tam tikrą informaciją apie susietą įrenginį galite pamatyti vykdydami šią komandą.

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

Failų sistemų kūrimas susietame įrenginyje

Dabar apžvelgsime, kaip susietame įrenginyje sukurti failų sistemą, kuri leis naudoti susietą įrenginio mazgą kaip ir bet kurį kitą blokinį įrenginį.

Norėdami susietame įrenginyje sukurti ext4 failų sistemą, paleiskite šią komandą.

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

Norėdami prijungti aukščiau nurodytą failų sistemą, sukurkite jai prijungimo tašką, pvz., /mnt/encrypted-device, tada prijunkite ją taip.

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

Pridėkite atvaizdavimo informaciją į /etc/crypttab ir /etc/fstab

Tada turime sukonfigūruoti sistemą, kad ji automatiškai nustatytų įrenginio atvaizdavimą ir prijungtų jį įkrovos metu.

Turėtumėte pridėti susiejimo informaciją į failą /etc/crypttab tokiu formatu.

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

aukščiau nurodytu formatu:

  • luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c – atvaizdavimo pavadinimas
  • UUID=59f2b688-526d-45c7-8f0a-1ac4555d1d7c – įrenginio pavadinimas

Išsaugokite failą ir uždarykite jį.

Tada prie /etc/fstab pridėkite šį įrašą, kad automatiškai prijungtumėte susietą įrenginį paleidžiant sistemą.

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

Išsaugokite failą ir uždarykite jį.

Tada paleiskite šią komandą, kad atnaujintumėte sistemos vienetus, sugeneruotus iš šių failų.

systemctl daemon-reload

Atsarginės LUKS antraštės

Galiausiai aptarsime, kaip sukurti atsargines LUKS antraštes. Tai yra labai svarbus žingsnis siekiant neprarasti visų duomenų šifruoto bloko įrenginyje, jei sektoriai, kuriuose yra LUKS antraštės, yra pažeisti dėl vartotojo klaidos arba aparatinės įrangos gedimo. Šis veiksmas leidžia atkurti duomenis.

Norėdami sukurti atsarginę LUKS antraščių kopiją.

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

Ir atkurti LUKS antraštes.

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

Tai viskas! Šiame straipsnyje paaiškinome, kaip užšifruoti blokuojamus įrenginius naudojant LUKS paskirstyme Fedora Linux. Jei turite klausimų ar komentarų šia tema ar vadovu, naudokite toliau pateiktą atsiliepimų formą, kad su mumis susisiektumėte.