Šifrování celého disku LUKS: Průvodce nastavením linuxového serveru
15 min čtení - 5. června 2026

Šifrování celého disku LUKS pro linuxové servery, zahrnující nastavení LUKS2, rozložení LVM, správu klíčů, vzdálené odemykání pomocí Tang a TPM a hardening.
Průvodce serverem pro šifrování celého disku LUKS
LUKS (Linux Unified Key Setup) šifruje celé blokové zařízení Linuxu, takže obsah je bez hlavního klíče nečitelný. Ukradený disk, vyřazený šasi, zapomenutý záložní disk: nic z toho neohrozí vaše data, pokud je LUKS správně nastaven. Tento příspěvek popisuje, jak nasadit úplné šifrování disku LUKS na serveru, včetně rozložení LVM, správy klíčů, vzdáleného odemykání a režimů selhání, které lidem znemožňují přístup k jejich vlastním datům.
Referenční implementací je zde LUKS2 s LVM uvnitř šifrovaného kontejneru na linuxovém serveru s AES-NI v procesoru. Tato kombinace zvládá všechny moderní pracovní zátěže, má dobrý výkon a splňuje požadavky na data v klidu podle HIPAA, PCI-DSS, GDPR a SOC 2.
Proč LUKS2 a co zkontrolovat jako první
LUKS šifruje na úrovni blokového zařízení pomocí dm-crypt, přičemž hlavní klíč je uložen v klíčových slotech uvnitř hlavičky LUKS. Toto oddělení je důležité: můžete střídat hesla nebo přidávat nové klíče, aniž byste museli disk znovu šifrovat.
LUKS2 je aktuální výchozí nastavení. Podporuje až 32 klíčových slotů, metadata ve formátu JSON, online přešifrování a autentizované šifrování pomocí příznaku --integrity příznak. LUKS1 podporuje 8 klíčových slotů a je vhodný pro starší systémy, ale nové nasazení by mělo začínat s LUKS2.
Výkonnostní ztráta s AES-NI je na moderním hardwaru obvykle pod 5 %. Před spuštěním zkontrolujte:
grep -o aes /proc/cpuinfo | head -1
cryptsetup benchmarkPokud grep nevrátí nic, váš procesor nemá AES-NI a šifrování bude při vysokém zatížení I/O závislé na procesoru. cryptsetup benchmark zobrazuje propustnost pro jednotlivé šifry, takže si můžete vybrat tu nejrychlejší, kterou váš hardware podporuje. Ověřte také, zda je nainstalován cryptsetup a zda je k dispozici dm-crypt modul jádra je k dispozici. Oba jsou standardně dodávány v Ubuntu, Debianu, RHEL a Archu.
Rozložení disku
Dva oddíly zůstávají nešifrované: systémový oddíl EFI (512 MB FAT32) a /boot (1 až 2 GB, ext4 nebo xfs). GRUB musí přečíst oba oddíly, než může vyžádat heslo. Všechno ostatní se nachází uvnitř kontejneru LUKS.
Doporučené rozložení je LVM uvnitř LUKS: jeden kontejner LUKS obsahující skupinu svazků LVM s logickými svazky pro kořenový, odkládací a jakékoli datové oddíly. Tím zůstávají metadata LVM zašifrovaná a umožňuje to měnit velikost svazků nebo vytvářet jejich snímky, aniž by se zasahovalo do vrstvy LUKS. LUKS-on-LVM také funguje, ale odhaluje strukturu skupiny svazků.
| Oddíl | Velikost | Souborový systém | Šifrovaný |
|---|---|---|---|
| Systém EFI | 512 MB až 1 GB | FAT32 | Ne |
/boot | 1 až 2 GB | ext4 / xfs | Ne |
| Kontejner LUKS | Zbývající místo | LUKS2 | Ano |
| LVM root | 20 až 100 GB+ | ext4 / xfs | Ano (uvnitř LUKS) |
| LVM swap | Stejný jako RAM | swap | Ano (uvnitř LUKS) |
ext4 je bezpečná výchozí volba pro kořenový svazek. xfs lépe zpracovává velké soubory a paralelní zápisy, což je důležité pro mediální, ML a databázové servery. U SSD a NVMe přidejte volbu discard v /etc/crypttab , abyste povolili TRIM. TRIM odhaluje, které sektory jsou v použití, což představuje malý únik informací. U většiny pracovních zatížení to stojí za výhodu vyrovnávání opotřebení. Pokud váš model hrozeb zahrnuje forenzní analýzu zařízení, nechte tuto možnost vypnutou.
Nastavení LUKS s LVM
Identifikujte cílový disk pomocí lsblk a vymažte veškerá existující metadata:
wipefs -a /dev/sdXVolitelně přepište náhodnými daty, aby šifrované bloky nebyly odlišitelné od prázdného místa:
dd if=/dev/urandom of=/dev/sdX bs=1M status=progressInicializujte kontejner LUKS2. Použijte --sector-size 4096 pro NVMe a moderní SSD s fyzickými sektory 4K:
cryptsetup luksFormat --type luks2 --sector-size 4096 /dev/sdX
cryptsetup luksOpen /dev/sdX cryptdataOkamžitě zálohujte hlavičku, než na disk uložíte jakákoli data:
cryptsetup luksHeaderBackup /dev/sdX --header-backup-file luks-header-backup.imgVytvořte LVM nad odemčeným kontejnerem a poté naformátujte logické svazky:
pvcreate /dev/mapper/cryptdata
vgcreate vg_secure /dev/mapper/cryptdata
lvcreate -L 50G -n lv_root vg_secure
lvcreate -L 8G -n lv_swap vg_secure
mkfs.xfs /dev/vg_secure/lv_root
mkswap /dev/vg_secure/lv_swapPřidejte záznam do /etc/crypttab pomocí UUID, nikoli /dev/sdX, který se může při restartu měnit. Získejte jej pomocí blkid /dev/sdX:
cryptdata UUID=<your-uuid> none luks,discardPoté připojte pomocí /etc/fstab:
/dev/vg_secure/lv_root / xfs defaults,noatime 0 1Znovu vygenerujte initramfs, aby se šifrovací háčky načítaly při spuštění:
# Debian/Ubuntu
update-initramfs -u -k all
# RHEL/Fedora
dracut -f --regenerate-allRestartujte, zadejte heslo a potvrďte nastavení pomocí cryptsetup status cryptdata a lsblk -f. Ten by měl zobrazit crypto_LUKS jako FSTYPE na šifrovaném oddílu.
Správa klíčů a vzdálené odemykání
LUKS2 podporuje 32 klíčových slotů. Od začátku použijte alespoň tři: heslo správce, obnovovací klíč uložený offline (vytisknutý a uzamčený nebo na šifrovaném USB v trezoru) a klíčový soubor pro automatické odemykání sekundárních datových svazků. Držte se 95 tisknutelných znaků ASCII, protože znaky mimo ASCII způsobují při spouštění systému problémy s rozložením klávesnice, jejichž odstraňování je velmi obtížné. Vyměňujte heslo správce vždy, když někdo s přístupem opustí tým.
Zobrazte aktivní sloty pomocí cryptsetup luksDump /dev/sdX, přidejte klíč pomocí cryptsetup luksAddKeya zrušte jej pomocí cryptsetup luksKillSlot. Chraňte všechny klíčové soubory přísnými oprávněními:
chmod 0400 /etc/luks/keyfile.binU serverů bez monitoru ve vzdálených datových centrech je výzva k zadání hesla problém. Existují tři způsoby, jak to vyřešit:
| Metoda | Nejvhodnější pro | Kompromis |
|---|---|---|
| Dropbear v initramfs | Ruční odemknutí přes SSH | Při restartu je stále nutná lidská přítomnost |
| Clevis + Tang (NBDE) | Automatické odemknutí v důvěryhodné síti | Server se musí připojit k serveru Tang, aby se mohl spustit |
| TPM2 přes systemd-cryptenroll | Automatizace vázaná na hardware | Aktualizace firmwaru mohou změnit hodnoty PCR a zablokovat vám přístup |
Dropbear spouští malý SSH server v initramfs. Po spuštění se přihlásíte přes SSH a ručně zadáte heslo. Clevis s Tangem používá šifrování disku vázané na síť: server se odemkne, pokud se může spojit se serverem Tang v důvěryhodné síti. Tang neukládá váš klíč, poskytuje pouze polovinu výměny McCallum-Relyea. Použijte více serverů Tang s sss pin, aby odemykání fungovalo i v případě, že je jeden z nich offline. Vázání TPM 2.0 pomocí systemd-cryptenroll vázání TPM 2.0 váže klíč na PCR 7 (stav Secure Boot), takže se server odemkne pouze v případě, že firmware a bootloader nebyly narušeny. Při používání TPM si vždy ponechte klíčovou frázi jako zálohu, protože aktualizace firmwaru mění hodnoty PCR.
Zabezpečení a prevence uzamčení
Používejte hesla o délce nejméně 20 znaků. Povolte ověřené šifrování pomocí --integrity v luksFormat , pokud váš model hrozeb zahrnuje nejen důvěrnost, ale i manipulaci s daty. Je to spojeno s náklady na zesílení zápisu, proto nejprve proveďte benchmark.
Neklonujte kontejner LUKS mezi stroji. Klíč svazku se zkopíruje spolu s ním, takže změna hesla na jednom hostiteli neochrání ten druhý. Každý disk přeformátujte samostatně.
Pro bezpečné vyřazení z provozu cryptsetup erase /dev/sdX vymazání všech klíčových slotů v řádu milisekund, což znemožňuje obnovu disku bez jeho fyzického zničení. To samo o sobě je pádným argumentem pro šifrování všeho ve výchozím nastavení.
Běžné typy selhání:
| Příznak | Pravděpodobná příčina | Řešení |
|---|---|---|
| Zavádění se zasekne na výzvě k zadání hesla | Neshoda rozložení klávesnice | Změňte rozložení nebo použijte obnovovací klíč |
| „Zařízení není platným zařízením LUKS“ | Nesprávná cesta k zařízení | Zkontrolujte lsblk , zda se jedná o oddíl nebo celý disk |
| Klávesnice při spouštění nereaguje | Pořadí háčků Initramfs | Umístění keyboard před encrypt v mkinitcpio.conf |
| GRUB přeskočí výzvu k zadání hesla | GRUB_ENABLE_CRYPTODISK není nastaveno | Nastavit GRUB_ENABLE_CRYPTODISK=y v /etc/default/grub, přeinstalujte GRUB |
| „Nepodařilo se najít kořenové zařízení“ | Chybí lvm2 nebo encrypt háčky | Přidejte háčky a spusťte mkinitcpio -P |
Nejzávažnějším typem selhání je poškození hlavičky. Pokud dojde ke ztrátě nebo poškození hlavičky LUKS, data jsou ztracena. Neexistuje žádný způsob obnovy kromě obnovení ze zálohy hlavičky. Uložte kopii na samostatné médium, ideálně na dvě místa, a nikdy ne na samotný šifrovaný disk. U nedůležitých sekundárních svazků přidejte nofail k /etc/crypttab , aby selhání připojení nezablokovalo bootování.
Dedikované servery FDC se dodávají s hardwarem, který podporuje AES-NI a plné šifrování disku ihned po vybalení. Nakonfigurujte dedikovaný server, až budete připraveni k nasazení.

Máte už dost pomalého nasazování nebo omezení šířky pásma? Společnost FDC Servers nabízí okamžitý vyhrazený výkon, globální dosah a flexibilní plány vytvořené pro libovolný rozsah. Jste připraveni na upgrade?
Odemkněte výkon nyní
Linux Traffic Control (tc): praktický průvodce
Řízení šířky pásma, upřednostňování provozu a formování vstupů a výstupů v systému Linux pomocí tc. Pracovní konfigurace HTB, IFB, DSCP a fq_codel pro skutečné servery.
12 min čtení - 5. června 2026
Proč je důležité mít výkonný a neměřený VPS
7 min čtení - 9. května 2025

Máte dotazy nebo potřebujete vlastní řešení?
Flexibilní možnosti
Globální dosah
Okamžité nasazení
Flexibilní možnosti
Globální dosah
Okamžité nasazení