LUKS (Linux Unified Key Setup) je de facto standardní metoda šifrování používaná na systémech založených na Linuxu. I když je instalační program Debianu dokonale schopen vytvořit kontejner LUKS, postrádá schopnost rozpoznat a tedy znovu použít již existující kontejner. V tomto článku se podíváme na to, jak můžeme tento problém vyřešit pomocí instalačního programu „DVD1“ a jeho spuštěním v „pokročilém“ režimu.
V tomto tutoriálu se to naučíte :
- Jak nainstalovat Debian v „pokročilém režimu“
- Jak do instalačního programu načíst další moduly potřebné k odemknutí stávajícího zařízení LUKS
- Jak provést instalaci na existujícím kontejneru LUKS
- Jak přidat záznam do souboru crypttab nově nainstalovaného systému a obnovit jeho initramfs

Použité softwarové požadavky a konvence
Kategorie | Požadavky, konvence nebo použitá verze softwaru |
---|---|
Systém | Debian |
Software | Není potřeba žádný konkrétní software |
Jiné | Instalační program Debian DVD |
Konvence | # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo command$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel |
Problém:opětovné použití existujícího kontejneru LUKS
Jak jsme již řekli, instalátor Debianu je dokonale schopen vytvořit a nainstalovat distribuci na kontejner LUKS (jedno typické nastavení je LVM na LUKS), ale nedokáže aktuálně rozpoznat a otevřít již existující
jednu; proč bychom tuto funkci potřebovali? Předpokládejme, že jsme například již ručně vytvořili kontejner LUKS s některými nastaveními šifrování, která nelze doladit z instalačního programu distribuce, nebo si představte, že v kontejneru máme nějaký logický svazek, který nechceme zničit (možná obsahuje nějaké údaje); standardním postupem instalačního programu bychom byli nuceni vytvořit nový kontejner LUKS a zničit tak ten stávající. V tomto tutoriálu uvidíme, jak pomocí několika kroků navíc můžeme tento problém obejít.
Stažení instalačního programu DVD
Abychom mohli provádět akce popsané v tomto tutoriálu, musíme si stáhnout a použít instalační program Debian DVD, protože obsahuje některé knihovny, které nejsou dostupné v netinstall verze. Ke stažení instalačního obrazu přes torrent můžeme použít jeden z níže uvedených odkazů v závislosti na architektuře našeho stroje:
- 64bitový
- 32bitový
Z výše uvedených odkazů si můžeme stáhnout torrentové soubory, které můžeme použít k získání obrazu instalátoru. Musíme stáhnout DVD1
soubor. Abychom získali instalační ISO, musíme použít torrent klienta jako Přenos . Jakmile je obrázek stažen, můžeme jej ověřit stažením odpovídajícího SHA256SUM
a SHA256SUM.sign
a postupujte podle tohoto návodu, jak ověřit integritu iso obrazu distribuce Linuxu. Až budeme připraveni, můžeme zapsat obraz na podporu, kterou lze použít jako spouštěcí zařízení:buď (DVD nebo USB), a spustit z něj náš počítač.
Použití pokročilého instalačního režimu
Když spustíme počítač pomocí zařízení, které jsme připravili, měli bychom si představit následující syslinux menu:

Vybereme Pokročilé možnosti a poté Instalace pro odborníky na grafiku (nebo Odborná instalace pokud chceme použít instalační program založený na ncurses, který využívá méně prostředků):

Jakmile vybereme a potvrdíme položku nabídky, spustí se instalační program a my si zobrazíme seznam kroků instalace:

Postupujeme podle kroků instalace, dokud se nedostaneme na Načíst součásti instalačního programu z disku CD jeden. Zde máme změnu pro výběr dalších knihoven, které by měl instalační program načíst. Minimum, které chceme ze seznamu vybrat, je Crypto-dm-modules a záchranný režim (projděte si seznam, abyste to viděli):

Ruční odemknutí stávajícího kontejneru LUKS a rozdělení disku
V tuto chvíli můžeme pokračovat jako obvykle, dokud se nedostaneme na Detekce disků krok. Než provedeme tento krok, musíme přepnout na tty a otevřete existující kontejner LUKS z příkazového řádku. K tomu můžeme stisknout Ctrl+Alt+F3 kombinaci kláves a stiskněte Enter k získání výzvy. Z výzvy otevřeme zařízení LUKS spuštěním následujícího příkazu:
# cryptsetup luksOpen /dev/vda5 cryptdevice Enter passphrase for /dev/vda5:
V tomto případě bylo zařízení LUKS dříve nastaveno na /dev/vda5
oddíl, měli byste si to samozřejmě přizpůsobit svým potřebám. Budeme požádáni o zadání přístupového hesla pro kontejner, abychom jej odemkli. Název mapovače zařízení, který zde používáme (cryptdevice), je to, co budeme muset použít později v /etc/crypttab
soubor.
Po provedení tohoto kroku se můžeme přepnout zpět do instalačního programu (Ctrl+Alt+F5 ) a pokračujte pomocí Detekce disků a poté pomocí Rozdělit disky kroky. V části Rozdělit disky menu vybereme položku „Manual“:

Odemčené zařízení LUKS a logické svazky v něm obsažené by se měly objevit v seznamu dostupných oddílů, připravené k použití jako cíle pro nastavení našeho systému. Jakmile jsme připraveni, můžeme pokračovat v instalaci, dokud se nedostaneme na Dokončit instalaci krok. Před jeho provedením musíme vytvořit záznam v nově nainstalovaném systému crypttab
pro zařízení LUKS, protože není vytvořeno ve výchozím nastavení, a znovu vytvořte systémové initramfs, aby se změna projevila.
Vytvoření záznamu v /etc/crypttab a opětovné vytvoření initramfs
Vraťme se zpět na tty jsme použili dříve (Ctrl+Alt+F3 ). Co nyní musíme udělat, je ručně přidat položku do /etc/crypttab
soubor nově nainstalovaného systému pro zařízení LUKS. K tomu musíme někam připojit kořenový oddíl nového systému (použijme /mnt
adresář) a připojit nějaké pseudo-souborové systémy, které poskytují důležité informace o příslušných adresářích v něm. V našem případě je kořenový souborový systém v /dev/debian-vg/root
logický svazek:
# mount /dev/debian-vg/root /mnt # mount /dev /mnt/dev # mount /sys /mnt/sys # mount /proc /mnt/proc
Protože v tomto případě máme samostatný spouštěcí oddíl (/dev/vda1
), musíme jej také připojit na /mnt/boot
:
# mount /dev/vda1 /mnt/boot
V tomto okamžiku musíme chrootovat do nainstalovaného systému:
# chroot /mnt
Nakonec můžeme otevřít /etc/crypttab
pomocí jednoho z dostupných textových editorů (vi například) a přidejte následující položku:
cryptdevice /dev/vda5 none luks
Prvním prvkem na řádku výše je název mapovače zařízení, který jsme použili výše, když jsme ručně odemykali kontejner LUKS; bude použito při každém otevření kontejneru během spouštění systému.
Druhým prvkem je oddíl, který se používá jako zařízení LUKS (v tomto případě jsme na něj odkazovali cestou (/dev/vda5
), ale lepší nápad by bylo odkazovat na něj pomocí UUID
).
Třetím prvkem je umístění souboru klíče použitého k otevření kontejneru:zde vložíme žádné protože jej nepoužíváme (pokud chcete vědět, jak dosáhnout tohoto druhu nastavení, postupujte podle našeho návodu Jak používat soubor jako klíč zařízení LUKS).
Poslední prvek v řádku obsahuje možnosti, které by měly být použity pro šifrované zařízení:zde jsme právě použili luks k určení, že zařízení je kontejner LUKS.
Jakmile jsme aktualizovali /etc/crypttab
můžeme pokračovat dále a znovu vytvořit initramfs . Na Debianu a distribucích založených na debianu k provedení této akce používáme update-initramfs
příkaz:
# update-initramfs -k all -c
Zde jsme použili -c
možnost instruovat příkaz k vytvoření nového initramfs namísto aktualizace existujícího a -k
specifikovat, pro jaké jádro má být initramfs vytvořen. V tomto případě jsme předali all
jako argument, takže bude vygenerován jeden pro každé existující jádro.
Po vygenerování initramfs se přepneme zpět na instalační program (Ctrl+Alt+F5 ) a pokračujte posledním krokem:Dokončete instalaci . Při instalaci budeme vyzváni k restartu pro přístup k nově nainstalovanému systému. Pokud vše proběhlo podle očekávání, během spouštění systému bychom měli být vyzváni k zadání přístupové fráze pro odemknutí kontejneru LUKS:

Závěry
V tomto tutoriálu jsme se naučili, jak obejít omezení instalačního programu Debianu, který není schopen rozpoznat a otevřít existující kontejner LUKS, aby v něm provedl instalaci systému. Naučili jsme se používat instalační program v „pokročilém režimu“, abychom mohli načíst některé další moduly, které nám umožňují ručně odemknout kontejner přepnutím na tty. Jakmile je kontejner otevřen, je správně rozpoznán instalačním technikem a může být bez problémů používán. Jedinou ošemetnou částí tohoto nastavení je, že musíme pamatovat na vytvoření záznamu pro kontejner v nově nainstalovaném systému crypttab
a aktualizujte jeho initramfs.