Täielik ketta krüpteerimine koos cryptsetup/LUKSiga#
✓ |
⨯ |
⨯ |
⨯ |
✓ |
✓ |
✓ |
✓ |
See juhend näitab, kuidas konfigureerida LUKS-krüpteeritud mahtusid, et autentida neid käivitamisel Nitrokey Pro või Nitrokey Storage abil.
Taustaks, et cryptsetup-initramfs toetab nüüd LUKS-krüpteeritud mahtude avamiseks OpenPGP nutikaartide, nagu Nitrokey Pro ja Nitrokey Storage, kasutamist. Kui olete seadistamise lõpetanud, peate käivitamisel lihtsalt sisestama oma Nitrokey ja sisestama oma kasutaja PIN-koodi, selle asemel, et sisestada oma tavaline ketta krüpteerimise salasõna.
Neid juhiseid on testitud Ubuntu 20.04 ja Debian 10 peal.
Hoiatus
Järgnev juhend võib teid potentsiaalselt arvutist välja lukustada. Peaksite olema teadlik nendest riskidest ja soovitame kasutada allpool toodud skripti teises arvutis või pärast täielikku varundamist, kuna võite oma andmed kaotada.
Nõuded#
Ubuntu või Debian arvuti, millel on vähemalt üks LUKS-krüpteeritud andmekandja.
Milline meetod on käesoleva juhisega ühilduv, leiate alljärgnevast jaotisest.
Nitrokey Pro 2 või Nitrokey Storage 2 initsialiseeritud võtmetega.
Teadaolevad probleemid#
Siiani töötab skript ainult käsitsi partitsioneeritud mahtudega, mis koosnevad krüpteerimata /boot
partitsioonist ja krüpteeritud juurpartitsioonist /
partitsioonist.
Palun ärge valige selle juhendi jaoks kasutatava operatsioonisüsteemi poolt pakutavat automaatset täieliku ketta krüpteerimist. Ubuntu ja Debian’i paigaldusliidese abil automaatselt partitsioneerimisel tekivad korduvad vead.
Juhised#
Paigaldage sõltuvused
$ sudo apt install scdaemon opensc gnupg2
Luua kiipkaardilukside kataloog
$ mkdir smartcard-luks && cd smartcard-luks
Lae alla nutikaart-luks-skript
$ wget https://raw.githubusercontent.com/daringer/smartcard-key-luks/main/smartcard-key-luks $ sudo chmod +x smartcard-key-luks
Avaliku võtme eksportimine
Oma avaliku võtme eksportimine GnuPG võtmehoidjast:
$ gpg2 --armor --export KeyID > pubkey.asc
Kui olete avaliku võtme juba võtmeserverisse üles laadinud (või olete selle kuskil mujal salvestanud), tuleks see välja laadida viisil, mis on teile kõige mugavam, ja jätkata sammuga 5.
Määrake kindlaks ja kontrollige oma root-partitsiooni õige LUKS-seadme nimi:
$ cat /etc/crypttab # if there is only one entry, you want the 1st column of this entry
Vihje
Tavaliselt peaks see olema midagi sellist nagu nvme0n1p3_crypt (NitroPC puhul) või sda3_crypt (NitroPads puhul). Te võite ja peaksite kontrollima, et /etc/crypttab sees olev UUID on määratud partitsioon, kontrollides sümboolset linki /dev/disks/by-uuid/ sees.
Käivita skript, kasutades argumentidena luks-seadme nime (nt nvme0n1p3_crypt) ja pubkey.asc.
$ sudo ./smartcard-key-luks nvme0n1p3_crypt pubkey.asc
Kui käivitate skripti, mille argumendiks on OpenPGP avalik võti, loob see automaatselt uue LUKS-saladuse, krüpteerib selle avaliku võtme vastu ja seab sisse crypttab, LUKS, initramfs ja GRUB.
Kõigepealt küsitakse teilt User PIN` `User PIN
Kui olete Nitrokey lukustuse vabastanud, küsitakse teilt oma OLD passphrase
. See on salasõna, mille sisestasite paigaldamisel oma heliplaadi krüpteerimiseks.
Märkus
See on tagavaravariant juhul, kui kaotate oma Nitrokey või kui see ei ole saadaval. Seni ei ole seda katsetatud ja kasutajad peavad olema teadlikud, et kui varumeetod ei toimi, on oht, et arvuti lukustub.
Kui olete sisestanud salasõna, lõpetab skript seadistamise umbes ühe minutiga. Ärge katkestage skripti, sest muidu võite pärast taaskäivitamist arvutist välja lukustuda.
Valmis!
Nüüdseks peate tegema taaskäivituse ja peaksite suutma Nitrokey abil oma krüpteeritud draivi avada.
Kasutamine#
Pärast taaskäivitamist peaks teil paluma sisestada oma kasutaja PIN-kood.
Sisestage oma kasutaja PIN-kood kõvaketta avamiseks
Täiendavad vihjed#
Muuda salasõna#
Kui see seadistus on tehtud, ei tohiks (gnome’i) ketaste utiliiti enam kasutada (varusõnumi) muutmiseks. Õige viis selleks on kutsuda cryptsetup otse, näiteks nii:
$ sudo cryptsetup luksChangeKey /dev/nvme0n1p3
Kus nvme0n1p3 on partitsioon, mille jaoks te seadistasite võtmed.
Mitme võtme kasutamine#
On lihtne kasutada mitut (riistvaralist) turvavõtit, nii et igaüks neist suudab LUKS-ketta lukustust iseseisvalt avada. Lihtsalt eksportige mitu avalikku võtit ja ka passi mitu võtit seadistusskriptile niimoodi:
$ sudo ./smartcard-key-luks nvme0n1p3_crypt pubkey-1.asc pubkey-2.asc
Kaardivaldaja nime määramine#
PIN-koodi sisestamise ajal käivitamisel LUKS-i juurpartitsiooni dekrüpteerimiseks esitatakse kasutajale kaardiomanik, selle seadmiseks kasutage $ gpg --edit-card
ja sisestage küsitluse sees admin<x>
ja name
, et määrata OpenPGP-kaardi (Nitrokey Storage 2 või Nitrokey Pro 2) kaardiomanik.
Võtmete asendamine/kustutamine#
Klahvide otsene lisamine/eemaldamine ei ole võimalik. Seetõttu peate vana seadistuse kustutama/eemaldama ja seadistuse uuesti käivitama määratud võtme(te)ga:
Eemaldage luks-seadmest (nvme0n1p3) võtmefail (tee, kui kasutasite eespool toodud skripti):
$ sudo cryptsetup luksRemoveKey /dev/nvme0n1p3 /etc/cryptsetup-initramfs/cryptkey.gpg
Eemaldage võtmefail ise:
$ sudo rm /etc/cryptsetup-initramfs/cryptkey.gpg
Korrake ülaltoodud seadistust.
LUKS2 avamine X509 sertifikaadiga#
SystemD toetab LUKS2 partitsiooni avamist X509 sertifikaadi abil, leia suurepärane blogi sissekanne selle realiseerimise kohta aadressil `Personal blog of Vladimir Timofeenko`__.