Šifrovaná partícia kľúča USB
Nakoniec som sa rozhodol urobiť si na kľúči USB šifrovanú partíciu. Prednostne uvažujem, že bude určená na citlivé zálohy, ako súkormné kľúče k OpenPGP, SSL, SSH a podobne, časom uvidím a možno to urobím aj inak. Na šifrovanie partície som sa rozhodol využiť LUKS – Linux Unified Key Setup.
Obsah článku
Dlho som sa chystal na túto operáciu, pretože som sa obával, že to bude vyžadovať veľa nastavení a prispôsobení, ale mýlil som sa. Celý postup je jednoduchý a priamočiary. Má však jednu nevýhodu, na takto zašifrovanú partíciu sa nedostanete z Windows, ale to ma netrápi…
Identifikácia zariadenia
Ako celkom prvé je potrebné vedieť aké označenie systém pre kľúč USB používa. V každom systéme to môže byť iné, keď z nijakého iného dôvodu, tak pretože v každom stroji môže byť iný počet zapojených diskov. Na jednoznačnú identifikáciu zariadenia stačí sledovať systémový počas pripojenia kľúča USB (skrátené):
tailf /var/log/syslog
kernel: [ 6295.252090] usb-storage 2-1:1.0: USB Mass Storage device detected
kernel: [ 6295.252329] scsi10 : usb-storage 2-1:1.0
kernel: [ 6296.253339] scsi 10:0:0:0: Direct-Access Generic Flash Disk 8.07 PQ: 0 ANSI: 4
kernel: [ 6296.254025] sd 10:0:0:0: Attached scsi generic sg3 type 0
kernel: [ 6296.256826] sd 10:0:0:0: [sdc] 15974400 512-byte logical blocks: (8.17 GB/7.61 GiB)
kernel: [ 6296.257941] sd 10:0:0:0: [sdc] Write Protect is off
kernel: [ 6296.257955] sd 10:0:0:0: [sdc] Mode Sense: 23 00 00 00
kernel: [ 6296.259612] sd 10:0:0:0: [sdc] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
kernel: [ 6296.265316] sdc: sdc1
^^^^^^^^^
kernel: [ 6296.283963] sd 10:0:0:0: [sdc] Attached SCSI removable disk
^^^^^
Môj kľúč USB je označený ako sdc
, presnejšie /dev/sdc
a jeho partícia ako
sdc1
.
Rada
Znova zdôrazním, vy si musíte nájsť vlastné označenie a vo zvyšku článku nahradiť
moje sdc
tým svojim.
Rozdelenie USB
Začal som tým, že som kľúč USB rozdelil na dve partície – jedna bez šifrovania s vfat (aby bola použiteľná aj vo Windows) a jedna šifrovaná s ext4. Na rozdelenie som použil nástroj GParted, v ktorom som nechal partíciu s vfat (FAT32) priamo aj naformátovať a pre šifrovanú som nechal partíciu neformátovanú, ,pretože GParted nedokáže pracovať s LUKS:
Poznámka
Verím, že ospravedlníte, že zobrazené rozdelenie kľúča je už v stave konečného výsledku…

Po rozdelení disku som musel kľúč vytiahnuť a znova pripojiť, aby systém novú partíciu našiel. Teda celkom presne existuje aj iný spôsob, ale tento sa mi zdal najjednoduchší.
Vytvorenie šifrovanej partície
Tip
Zvyšok práce je potrebné urobiť v príkazovom riadku (s právami root).
Vytvorenie šifrovanej partície pozostáva z dvoch krokov:
- vytvorenie kontajnera LUKS
- vytvorenie súborového systému v kontajneri
Príprava LUKS
Keď máte pripravený kľúč s partíciou, ktorú chcete mať šifrovanú, je potrebné na nej najprv vytvoriť tzv. kontajner LUKS, ktorý bude obaľovať samotnú partíciu. Na to potrebujete nástroj cryptsetup (balík cryptsetup-bin). Spomínaný kontajner LUKS vytvoríte pomocou:
cryptsetup --verbose --verify-passphrase luksFormat /dev/sdc2
WARNING!
========
Toto nevratně přepíše data na /dev/sdc2.
Ako prvá si program vyžiada potvrdenie operácie, pretože dôjde k nevratnej strate dát, i preto si ešte pred potvrdením (YES veľkými písmenami) riadne skontrolujte, že ste označenie partície napísali správne:
Are you sure? (Type uppercase yes): YES
Po potvrdení si program vyžiada heslo, ktoré bude slúžiť na prístup k dátam:
Zadejte heslo:
Ověřte heslo:
Ak dopadne všetko ako má (ešte sa mi nestalo aby nie, možno len kvôli vadnému disku), nakoniec program vypíše:
Příkaz úspěšně vykonán.
Rada
LUKS podporuje viacero hesiel (až osem naraz), ale tomu sa teraz venovať nebudem.
Ak máte záujem môžete pátrať po príkazoch luksAddKey
a luksRemoveKey
.
Ak potrebujete zmeniť heslo, jednoducho najprv pridajte nové pomocou luksAddKey
,
vyskúšajte a potom staré odoberte pomocou luksRemoveKey
alebo jednoducho
použite luksChangeKey
.
Vytvorenie súborového systému
Po vytvorení kontajnera je ešte potrebné vytvoriť v ňom súborový systém, tj. partíciu naformátovať, k čomu však treba kontajner „otvoriť”:
cryptsetup luksOpen /dev/sdc2 sdc2
Program si vyžiada zadanie hesla:
Zadejte heslo pro /dev/sdc2:
Výsledkom tohoto príkazu je zariadenie sdc2
v adresári /dev/mapper/
, ku
ktorému už možno pristupovať ako ku každému inému diskovému zariadeniu. Takže na zariadení
možno vytvoriť súborový systém štandardným spôsobom:
mkfs.ext4 -L mojLuks /dev/mapper/sdc2
- voľba
-L mojLuks
nastavuje menovku disku - ja si na menovky potrpím…
No a po naformátovaní ostáva kontajner LUKS zatvoriť:
cryptsetup luksClose sdc2
Rada
Znova zopakujem, sdc2 je označenie partície v mojom systéme, vy si musíte nájsť označenie vlastné a v príkazoch ho nahradiť!!!
Použitie v XFCE
Pretože už dlhší čas používam XFCE, predvediem ako jednoducho pripojíte svoju šifrovanú partíciu pomocou správcu súborov Thunar (áno, niektorí ho milujú, iní nenávidia – ja patrím k tým prvým).
Po pripojení kľúča USB sa jeho partície objavia v bočnom paneli Thunaru. Kliknite na šifrovanú partíciu (áno, zatiaľ nepozná menovku) a objaví sa dialóg na zadanie hesla a voľbu doby jeho platnosti:
Aj odpojenie je štandardným spôsobom, takže (až na to heslo) vlastne ani nepoznáte, že pracujete so šifrovanou partíciou. Jediné, čo vás na šifrovanú partíciu upozorní je malý emblém zámku na ikone partície.
Poznámka
Dobre zvážte možnosť zapamätania si hesla na stálo – jednak netuším kde a ako sa uloží a jednak, potom ste disk čiastočne zbytočne šifrovali, pretože si ho pripojí každý, kto sa dostane do počítača… Ale uznávam, že aj toto je pre mnohých jedna z možností.
Zmena vlastníctva partície
Ak neviete ako zmeniť vlastníctvo koreňa partície, tak rýchly návod…
Najprv pripojte vytvorenú partíciu na kľúči USB, potom si pozrite, kde je pripojená:
mount | grep mojLuks
/dev/mapper/luks-926c9f5d-8c1f-48e0-815b-584a742c76b0 on /media/slavko/mojLuks type ext4 (rw,nosuid,nodev,relatime,data=ordered,uhelper=udisks2)
Potom už stačí jednoducho (ako root):
chown slavko: /media/slavko/mojLuks
A skontrolovať výsledok:
ls -ld /media/slavko/mojLuks
drwxr-xr-x 3 slavko slavko 4096 máj 2 17:36 /media/slavko/mojLuks
Poznámka
Už viete prečo mám rád menovky partícií?
Zmena menovky
Ak sa vám neskôr prestane nastavená menovka páčiť, jednoducho znova otvorte šifrovanú
partíciu (pomocou luksOpen
) alebo jednoducho partíciu pripojte a použite
e2label (prípadne iný nástroj, podľa použitého súborového systému):
e2label /media/slavko/mojLuks nová_menovka