Vyhledávání na webu

Jak šifrovat disky pomocí LUKS ve Fedora Linux


V tomto článku stručně vysvětlíme blokové šifrování, Linux Unified Key Setup (LUKS) a popíšeme instrukce pro vytvoření šifrovaného blokového zařízení ve Fedora Linux.

Blokovat šifrování zařízení

Šifrování blokového zařízení se používá k zabezpečení dat na blokovém zařízení jejich zašifrováním a k dešifrování dat musí uživatel zadat přístupové heslo nebo klíč. To poskytuje další bezpečnostní mechanismy, protože chrání obsah zařízení, i když bylo fyzicky odpojeno od systému.

Úvod do LUKS

LUKS (Linux Unified Key Setup) je standard pro šifrování blokových zařízení v systému Linux, který funguje na základě vytvoření formátu na disku pro data a zásady správy přístupových frází/klíčů. . Ukládá všechny potřebné informace o nastavení v hlavičce oddílu (také známé jako LUKS hlavička), což vám umožňuje bezproblémově přenášet nebo migrovat data.

LUKS využívá subsystém mapovače zařízení jádra s modulem dm-crypt k poskytování nízkoúrovňového mapování, které uchovává šifrování a dešifrování dat zařízení. Program cryptsetup můžete použít k provádění úloh na úrovni uživatele, jako je vytváření a přístup k šifrovaným zařízením.

Příprava blokového zařízení

Následující pokyny ukazují kroky k vytvoření a konfiguraci šifrovaných blokových zařízení po instalaci.

Nainstalujte balíček cryptsetup.

dnf install cryptsetup-luks

Dále vyplňte zařízení náhodnými daty, než jej zašifrujete, protože to výrazně zvýší sílu šifrování pomocí následujících příkazů.

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]

Upozornění: Výše uvedené příkazy vymažou veškerá existující data v zařízení.

Formátování šifrovaného zařízení

Poté pomocí nástroje příkazového řádku cryptsetup naformátujte zařízení jako šifrované zařízení dm-crypt/LUKS.

cryptsetup luksFormat /dev/sdb1

Po spuštění příkazu budete vyzváni k zadání YES (velkými písmeny), abyste dvakrát zadali přístupovou frázi pro zařízení, které má být naformátováno pro použití, jak je znázorněno na následujícím snímku obrazovky.

Chcete-li ověřit, zda byla operace úspěšná, spusťte následující příkaz.

cryptsetup isLuks /dev/sdb1 && echo Success

Můžete zobrazit souhrn informací o šifrování pro zařízení.

cryptsetup luksDump /dev/sdb1

Vytvoření mapování pro povolení přístupu k dešifrovanému obsahu

V této části nakonfigurujeme, jak přistupovat k dešifrovanému obsahu šifrovaného zařízení. Mapování vytvoříme pomocí kernel device-mapper. Pro toto mapování se doporučuje vytvořit smysluplný název, například luk-uuid (kde <uuid> je nahrazeno LUKS UUID zařízení ( Univerzálně jedinečný identifikátor).

Chcete-li získat UUID šifrovaného zařízení, spusťte následující příkaz.

cryptsetup luksUUID /dev/sdb1

Po získání UUID můžete vytvořit název mapování podle obrázku (budete vyzváni k zadání přístupové fráze vytvořené dříve).

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

Pokud je příkaz úspěšný, uzel zařízení s názvem /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c představuje dešifrované zařízení.

Blokové zařízení, které bylo právě vytvořeno, lze číst a zapisovat do něj jako z jakéhokoli jiného nešifrovaného blokového zařízení. Spuštěním následujícího příkazu můžete zobrazit některé informace o mapovaném zařízení.

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

Vytváření souborových systémů na mapovaném zařízení

Nyní se podíváme na to, jak vytvořit souborový systém na mapovaném zařízení, který vám umožní používat uzel mapovaného zařízení stejně jako jakékoli jiné blokové zařízení.

Chcete-li vytvořit souborový systém ext4 na mapovaném zařízení, spusťte následující příkaz.

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

Chcete-li připojit výše uvedený souborový systém, vytvořte pro něj přípojný bod, např. /mnt/encrypted-device a poté jej připojte následovně.

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

Přidejte informace o mapování do /etc/crypttab a /etc/fstab

Dále musíme nakonfigurovat systém tak, aby automaticky nastavil mapování pro zařízení a také jej připojil při spouštění.

Informace o mapování byste měli přidat do souboru /etc/crypttab v následujícím formátu.

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

ve výše uvedeném formátu:

  • luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c – je název mapování
  • UUID=59f2b688-526d-45c7-8f0a-1ac4555d1d7c – je název zařízení

Uložte soubor a zavřete jej.

Poté přidejte následující položku do /etc/fstab, aby se mapované zařízení automaticky připojilo při spouštění systému.

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

Uložte soubor a zavřete jej.

Poté spusťte následující příkaz k aktualizaci systemd jednotek generovaných z těchto souborů.

systemctl daemon-reload

Zálohování hlaviček LUKS

Nakonec probereme, jak zálohovat hlavičky LUKS. Toto je kritický krok, aby nedošlo ke ztrátě všech dat v šifrovaném blokovém zařízení v případě, že sektory obsahující hlavičky LUKS jsou poškozeny buď chybou uživatele nebo selháním hardwaru. Tato akce umožňuje obnovu dat.

K zálohování hlaviček LUKS.

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

A obnovit hlavičky LUKS.

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

To je vše! V tomto článku jsme vysvětlili, jak šifrovat blokovaná zařízení pomocí LUKS v distribuci Fedora Linux. Máte-li jakékoli dotazy nebo připomínky týkající se tohoto tématu nebo průvodce, kontaktujte nás pomocí níže uvedeného formuláře zpětné vazby.