GNU/Linux >> Znalost Linux >  >> Linux

Jak zašifrovat oddíl na Linuxu

V jednom z našich předchozích článků jsme se dozvěděli, jak můžete zašifrovat celý kořenový souborový systém na Linuxu snadno.

V některých případech však můžete chtít zašifrovat jeden jednoduchý oddíl kde mohou být uloženy některé z vašich důležitých souborů.

Jak již víte,šifrování disků je zásadní . Pokud by byl váš notebook odcizen, pravděpodobně byste ztratili všechny své osobní údaje.

Existuje však několik způsobů, jak se s tímto problémem vypořádat:zašifrováním diskových oddílů .

V tomto tutoriálu se dozvíte o všech krocích nezbytných k zašifrování celého diskového oddílu , zabezpečte jej pomocí přístupové fráze nebo pomocí souboru klíče.

Například článek bude ilustrován na operačním systému RHEL 8, ale pokud použijete jiný, neměly by tam být žádné rozdíly.

Předpoklady

Abyste mohli provádět většinu příkazů uvedených v tomto článku, musíte mít práva správce.

Chcete-li zkontrolovat, zda tomu tak je, nebo ne, můžete spustit „skupiny “ a ověřte, že patříte do „sudo ” skupina pro distribuce založené na Debianu nebo “kolečko ” pro ty založené na RedHat.

$ groups

Pokud taková práva nemáte, můžete si přečíst jeden z našich článků na toto téma o získání práv sudo pro distribuce Ubuntu nebo CentOS.

Šifrovat oddíl pomocí cryptsetup

Jak bylo uvedeno v předchozích článcích, šifrování oddílu zahrnuje formátování celého disku .

V důsledku toho, pokud plánujete šifrování disku s existujícími daty, měli byste nyní, že vaše data budou během tohoto procesu vymazána. Abyste nic neztratili, měli byste si udělat zálohu dat na externím disku nebo v online cloudu.

Vytvořit nový oddíl na disku

Abychom zašifrovali oddíl, nejprve vytvoříme nový pomocí nástroje „fdisk“ . V příkladu vytvoříme nový oddíl s názvem „sdb1“ na disku „sdb“.

$ sudo fdisk /dev/sdb

V nástroji fdisk můžete vytvořit nový oddíl pomocí klíčového slova „n“ a zadejte, že chcete oddíl o velikosti například 5 GB.

Pokud si nejste jisti, jak používat „fdisk“ nebo jak vytvářet oddíly , máme vyhrazený článek na toto téma.

Na konci procesu musíte použít klíčové slovo „w“ za účelem zapsání změn na disk.

Skvělé, teď, když je váš oddíl vytvořen, ho naformátujeme jako oddíl LUKS .

Formátovat diskový oddíl jako LUKS

K zašifrování oddílu použijeme příkaz související s projektem LUKS .

Projekt LUKS, zkratka pro Linux Unified Key System , je specifikace používaná k šifrování všech úložných zařízení pomocí speciálních kryptografických protokolů. Jak je popsáno, LUKS je pouze specifikace, budete potřebovat program, který ji implementuje.

V tomto případě použijeme utilitu „cryptsetup“ . Jak je vysvětleno v sekci manuálu, cryptsetup se zaměřuje na vytváření šifrovaných prostorů pro dm-crypt.

Nejprve se ujistěte, že máte „cryptsetup ” pomocí příkazu “který”.

$ which cryptsetup

Pokud cryptsetup nelze na vašem serveru najít, nainstalujte jej pomocí jednoho z následujících příkazů

$ sudo apt-get install cryptsetup                     (for Debian distributions)

$ sudo yum install cryptsetup                         (for RHEL/CentOS distributions)

Chcete-li vytvořit oddíl LUKS, musíte provést „cryptsetup“ následovaný „luksFormat“ a názvem oddílu, který má být formátován.

$ sudo cryptsetup luksFormat /dev/sdb1

Nejprve vám připomínáme, že zašifrováním disku dojde k jeho zformátování.

Po zadání „ANO ” velkými písmeny, budete muset zvolit přístupovou frázi, abyste své zařízení zabezpečili.

LUKS podporuje dva způsoby ochrany vašich médií:pomocí přístupové fráze (ten, který aktuálně používáme) a pomocí kláves . Prozatím si můžete zvolit bezpečné heslo a váš oddíl by měl být naformátován automaticky.

Nyní, když je váš oddíl vytvořen, můžete jej zkontrolovat pomocí „lsblk ” příkaz :oddíl by měl být označen jako „crypto_luks “.

$ lsblk -f

Úžasný! Nyní, když je svazek naformátován, můžeme jej otevřít a vytvořit na něm jednoduchý souborový systém ext4.

Vytvořit souborový systém ext4 na oddílu

Ve výchozím nastavení je váš šifrovaný svazek uzavřen, což znamená, že nemáte přístup k datům, která jsou na něm dostupná.

Abyste mohli „otevřít“, což znamená „odemknout“ váš svazek, musíte znovu použít příkaz „cryptsetup“ následovaný „luksOpen“ a názvem svazku.

Na konci příkazu zadejte název vašeho otevřeného svazku, v tomto případě zvolíme „cryptpart “.

$ sudo cryptsetup luksOpen /dev/sdb1 cryptpart

Jak můžete hádat, budete požádáni o zadání přístupového hesla, které jste zvolili v předchozí části.

Při opětovném spuštění příkazu „lsblk“ jste si pravděpodobně všimli, že jeden svazek byl vytvořen pod šifrovaným svazkem „sdb1“ s názvem „cryptpart “. „mapovač zařízení“ , což je jeden z frameworků linuxového jádra, to udělal za vás.

Nyní, když je váš svazek odemčený, je čas, abyste na něm vytvořili nový souborový systém ext4 .

K vytvoření nového souborového systému na vašem oddílu použijte příkaz „mkfs“ následovaný formátem souborového systému, v tomto případě „ext4“.

$ sudo mkfs.ext4 /dev/mapper/cryptpart

Skvělé, souborový systém byl vytvořen.

Nyní jej můžete připojit a přidávat do něj nové soubory. Soubory vytvořené na tomto svazku budou automaticky zašifrovány .

$ mkdir -p /home/devconnected/files 

$ sudo mount /dev/mapper/cryptpart /home/devconnected/files

$ sudo chown devconnected:devconnected /home/devconnected/files

Skvělé, nyní, když jsou vaše data v bezpečí na šifrovaném oddílu, pojďme se podívat, jak můžete šifrovací oddíl připojit při spouštění.

Upravte soubory crypttab a fstab

Mnoho systémových administrátorů ví o existenci souboru fstab, který váš proces init používá k připojení jednotek.

Při práci se šifrovanými oddíly však přichází do hry další soubor: /etc/crypttab .

Podobně jako soubor fstab je crypttab čten procesem init při spouštění. Na základě informací v něm uvedených vás požádá o odemknutí oddílu nebo načte soubor klíče, aby to provedl automaticky.

Poznámka :/etc/crypttab možná ve vašem systému neexistuje. Pokud tomu tak není, možná jej budete muset vytvořit.

Sloupce krypttabu jsou popsány výše:

  • Název zařízení :svému dešifrovanému zařízení můžete dát libovolný název. Kromě toho bude automaticky vytvořen mapovačem zařízení pod cestou „/dev/mapper“. V předchozí části jsme vybrali „cryptpart ” pro tento sloupec;
  • UUID šifrovaného zařízení :Aby bylo možné zjistit, který oddíl obsahuje šifrovaná data, váš systém musí mít své UUID, což znamená jeho jedinečný identifikátor;
  • Metoda ověření :jak je vysvětleno, můžete zvolit „žádné ” pro přístupovou frázi nebo můžete zadat cestu ke klíči. Klíčová metoda bude vysvětlena v poslední kapitole tohoto článku;
  • Možnosti připojení :pomocí tohoto sloupce můžete zadat počet pokusů pro přístupovou frázi, šifru, metodu šifrování a mnoho dalších parametrů. Úplný seznam možností je k dispozici na manuálové stránce „crypttab“.
$ sudo nano /etc/crypttab

# Content of the crypttab file
cryptpart    UUID=<partition_uuid>    none    luks

Pokud máte pochybnosti o UUID vašeho šifrovaného oddílu, můžete použít „blkid ” pomocí jednoduchého potrubí „grep“.

$ sudo blkid | grep -i luks

Nyní, když „/etc/crypttab ” je změněn, budete muset upravit „fstab ” k určení bodu připojení.

$ sudo blkid | grep -i ext4

$ sudo nano /etc/fstab

Ve sloupcích fstab musíte zadat :

  • UUID dešifrovaného zařízení :Abyste jej našli, můžete použít příkaz „blkid“, ale před pokračováním se ujistěte, že jste zařízení otevřeli. Pokud je zařízení zavřené, nebudete moci najít své UUID;
  • Přípojný bod :kam bude připojeno dešifrované zařízení. Pokud cesta neexistuje, bude vytvořena automaticky;
  • Typ systému souborů :v tomto případě jsme se rozhodli použít „ext4“, ale ve vašem systému se to může lišit;
  • Možnosti výpisu a předání :nechceme, aby byl souborový systém kontrolován při bootování, takže jej můžeme ponechat na výchozích hodnotách.

Až budete hotovi, uložte soubor a měli byste být připraveni.

Vzhledem k krokům, které jste právě provedli, je vaše zařízení připraveno amělo by být automaticky připojeno při spouštění.

Ověřte připojení šifrovaného zařízení při spouštění

Abychom ověřili, že je zařízení správně připojeno, můžeme restartovat náš server a počkat, až modul initramfs otevře šifrované zařízení.

$ sudo reboot

Toto je obrazovka, kterou byste měli vidět, alespoň na RHEL8, při spouštění vašeho serveru. Pokud zadáte přístupovou frázi, váš počítač by měl být schopen ji odemknout a připojit.

Jakmile se přihlásíte na svůj server, můžete znovu zkontrolovat, zda byl šifrovaný oddíl správně připojen pomocí „lsblk“.

$ lsblk -f | grep sdb1 -A 2 

Blahopřejeme, úspěšně jste zašifrovali oddíl v systému Linux pomocí LUKS!

Vytvořit klíče pro šifrovaný oddíl

Jak bylo vysvětleno výše, LUKS zpracovává dvě metody ověřování, konkrétně hesla a soubory klíčů.

V předchozí části jsme použili přístupové fráze, ale může být docela užitečné mít také ověřovací klíč.

Nejprve vytvořte soubor klíče a uložte jej na bezpečném místě (do adresářů, do kterých běžní uživatelé nemohou přejít, například „/boot “ nebo „/root “).

$ echo "supersecretpass" > volume-key

$ sudo mv volume-key /boot/

Jak vidíte, ve výchozím nastavení byl soubor vytvořen pomocí přihlašovacích údajů uživatele a má příliš mnoho oprávnění.

Pomocí příkazů „chown“ a „chmod“ můžeme nastavit „root“ jako vlastníka souboru a změnit jeho oprávnění na pouze pro čtení.

$ sudo chown root:root /boot/volume-key

$ sudo chmod 0400 /boot/volume-key

Nyní, když je soubor nastaven jako pouze pro čtení, můžeme jej přidat jako klíč do jednoho ze slotů našeho svazku LUKS.

Přidat klíč k hlasitosti LUKS

Chcete-li přidat klíč do svazku LUKS, musíte provést příkaz „cryptsetup“ následovaný „luksAddKey“, názvem šifrovaného svazku a cestou ke klíči.

$ sudo cryptsetup luksAddKey <encrypted_device> <path_to_key>

$ sudo cryptsetup luksAddKey /dev/sdb1 /boot/volume-key

Chcete-li provést tuto operaci, budete vyzváni k zadání přístupové fráze. Je-li klíč poskytnut, bude automaticky přidán do vašich slotů pro klíče.

Chcete-li ověřit, zda byl klíč přidán správně, můžete zkontrolovat sloty pro klíče pomocí „luksDump “.

$ sudo cryptsetup luksDump /dev/sdb1

Nyní, když je klíč přidán, stačí upravit soubor „/etc/crypttab“ aby jej váš systém našel při spouštění.

$ sudo nano /etc/crypttab

# Content of the crypttab file
cryptpart    UUID=<partition_uuid>    /boot/volume-key    luks

Při restartu se váš šifrovaný oddíl připojí automaticky!

Závěr

V tomto článku jste se dozvěděli, jak můžete snadno zašifrovat oddíl v systému Linux pomocí projektu LUKS a jeho implementace s názvem cryptsetup.

Můžete vidět, že můžete použít „soubor klíče ”, aby se váš oddíl automaticky odemkl.

Pokud máte zájem o úplné šifrování systému, nedávno jsme na toto téma napsali článek.

Také, pokud si chcete přečíst více o Správě systému Linux , nezapomeňte se podívat na naši vyhrazenou sekci na webu.


Linux
  1. Jak spravovat swapovací oddíl v Linuxu

  2. Jak použít fdisk k rozdělení disku v Linuxu

  3. Jak připojit obraz disku s více oddíly v Linuxu?

  1. Jak rozdělit disk v Linuxu

  2. Jak přidat nový disk na stávající linuxový server

  3. Jak zašifrovat oddíl pomocí DM-Crypt LUKS na Linuxu

  1. Jak zašifrovat jeden souborový systém Linux

  2. Jak klonovat oddíl disku Linux přes síť pomocí dd

  3. Jak přesunout oddíl v GNU/Linuxu?