Šifrování linuxových oddílů. Šifrování oddílů. Blokovat zásobník zařízení

Šifrování domovského adresáře poskytuje spolehlivou ochranu dat uložených na vašem pevném disku nebo jiném úložném médiu. Šifrování je zvláště důležité na přenosných počítačích, na počítačích s vícenásobným přístupem, stejně jako v jakýchkoli jiných podmínkách. Šifrování domovského adresáře se nabízí při instalaci Linux Mint.

Hlavním úlovkem plného šifrování domovského adresáře je, že musíte adresář se zašifrovanými daty „přesunout“ za bod připojení.

Výkon mírně klesá, alespoň dokud není použit SWAP. SWAP je speciální diskový oddíl nebo soubor, do kterého operační systém přesouvá jednotlivé bloky paměti RAM, když není dostatek paměti RAM pro běh aplikací. SWAP je také zašifrován, pokud v instalačním programu vyberete šifrování domovského adresáře a režim spánku přestane fungovat.

Nešifrování SWAPu, když je domovský adresář zašifrován, je potenciálně nebezpečné, protože data ze zašifrovaných souborů tam mohou skončit jako čistý text – celý smysl šifrování je ztracen. Počínaje verzí 14 Linux Mint si během instalace můžete vybrat možnost šifrování celého disku. Tato možnost je nejvhodnější pro ukládání osobních údajů na přenosná zařízení (která mají obvykle pouze jednoho uživatele).

1.3 Šifrování v gnome – Seahorse

Linux Mint má vestavěný nástroj Hesla a klíče neboli Seahorse. Pomocí jeho možností může uživatel pracovat se všemi klíči, hesly a také certifikáty, které jsou v tomto OS k dispozici.

Seahorse je v podstatě aplikace pro GNOME (GNOME je bezplatné desktopové prostředí pro operační systémy podobné Unixu), která je frontendem ke GnuPG (bezplatný program pro šifrování informací a vytváření elektronických digitálních podpisů) a je určena pro správu šifrovacích klíčů a hesla. Nahradil klíčenku GNOME, která byla zcela nahrazena v GNOME 2.22, ačkoliv byla oznámena zpět v GNOME 2.18. Umožňuje provádět všechny operace, které bylo dříve nutné provádět na příkazovém řádku, a kombinovat je pod jedním rozhraním:

    spravovat zabezpečení vašeho pracovního prostředí a klíče OpenPGP a SSH;

    šifrovat, rozšiřovat a skenovat soubory a text;

    přidávat a ověřovat digitální podpisy do dokumentů;

    synchronizovat klíče s klíčovými servery;

    vytvářet a publikovat klíče;

    rezervovat klíčové informace;

    přidat k obrázkům v libovolné podporované GDK jako OpenGPG Photo ID;

1.4 TrueCrypt

TrueCrypt má poměrně pohodlné grafické rozhraní, ale bohužel vývojáři do kódu pevně zakódovali integraci se správcem souborů Nautilus.

K šifrování dat můžete použít různé metody.

Nejprve je potřeba vytvořit tzv. kontejner, který bude obsahovat složky souborů určené k šifrování. Kontejnerem může být soubor s libovolným názvem nebo dokonce celý diskový oddíl. Pro přístup ke kontejneru musíte zadat heslo a můžete také vytvořit soubor klíče (volitelné), pomocí kterého budou informace zašifrovány. Velikost kontejneru je omezená.

Vytváření šifrovaných oddílů/souborů

Vytvoření souboru klíče:

truecrypt -create-keyfile /home/user/test/file , kde file je název souboru klíče.

Vytvoření kontejneru, v tomto případě sekce:

sudo truecrypt -k /home/user/test/file -c /dev/sda9

Místo oddílu /dev/sda9 můžete také zadat soubor, například /home/user/test/cryptofile, ale v tomto případě budete muset zadat jeho velikost, to se provádí pomocí parametru -size=5G předtím parametr -c. Výše uvedený příklad vytvoří 5GB šifrovací soubor. Někdy TrueCrypt přijímá pouze velikost v bajtech, pro 5 GB můžete buď vypočítat hodnotu předem a zadat -size=5368709120, nebo ji zapsat následovně: -size=`echo 1024^3*5 | bc`.

K šifrování bude použit již vytvořený soubor klíče.

Při vytváření vám bude nabídnuta volba typu kontejneru (normální/skrytý), souborového systému (FAT, ext2/3/4 nebo bez FS), v tomto příkladu byl zvolen režim bez použití FS. Také vám bude nabídnuta volba šifrovacího algoritmu (například AES) a také algoritmu hash (například SHA-1) pro šifrování datových toků.

TrueCrypt se používá k šifrování dat za chodu, to znamená, že můžete připojit kontejner a pracovat se soubory v něm jako obvykle (otevřít/upravit/zavřít/vytvořit/smazat), což je velmi pohodlné.

Šifrovaný oddíl/soubor byl vytvořen. Nyní, pokud potřebujete naformátovat jeho vnitřní souborový systém (dále jen FS), měli byste udělat následující.

Vyberte požadovanou sekci pomocí Truecrypt:

truecrypt -k /home/user/test/file /dev/sda9

Ve výchozím nastavení bude použito zařízení vytvořené Truecryptem /dev/mapper/truecrypt0. Přístupem k tomuto zařízení můžete změnit například FS v šifrovaném kontejneru. V tomto případě je třeba to udělat.

sudo mkfs.ext4 -v /dev/mapper/truecrypt0

Takto byl vytvořen ext4 FS uvnitř tohoto šifrovaného kontejneru.

Dále, protože tento kontejner je již „připojen“ k zařízení /dev/mapper/truecrypt0, nezbývá než jej jednoduše připojit do nějakého adresáře. Tento připojovací adresář již v systému musí existovat.

sudo mount /dev/mapper/truecrypt0 /mnt/crypto, kde /mnt/crypto je adresář, ke kterému je připojen šifrovaný kontejner.

truecrypt -d

Nyní, bez znalosti souboru klíče a hesla, nikdo nebude moci číst skryté informace.

Dnes je ukládání důležitých dat v prostém textu nebezpečnější než kdy jindy. A to ani ne tak kvůli vládnímu dohledu (když budou chtít, najdou si na co stěžovat a tak dále), ale kvůli těm, kteří chtějí tato data ukrást. V zásadě existuje mnoho metod ochrany informací, ale tento článek bude popisovat kryptografické prostředky.


Na rozdíl od některých jiných operačních systémů má Linux řadu nástrojů pro ochranu kryptografických informací – od šifrování e-mailové korespondence až po šifrování souborů a blokování zařízení. Zajímá nás šifrování na úrovni souborových systémů, souborů a blokových zařízení. Za prvé, stojí za to pochopit, jaký je rozdíl. Šifrování na úrovni souborového systému vyžaduje přítomnost vrstvy mezi hlavním souborovým systémem (samozřejmě pokud samotný souborový systém nepodporuje šifrování) a uživatelem.

Výhoda tohoto typušifrování - klíče jsou různé pro všechny uživatele. Nevýhodou je, že pokud povolíte šifrování názvu souboru, zkrátí se délka platného názvu, navíc si uživatel může soubor uložit na jiné místo na disku, čímž se výhoda automaticky neguje. A ještě něco – i když je zapnuté šifrování jmen, časová razítka zůstanou stejná. Šifrování blokového zařízení probíhá na nižší úrovni, pod systémem souborů. V tomto případě samotný souborový systém samozřejmě neví, že je umístěn na šifrovaném svazku.

Výhody tato metoda na rozdíl od nedostatků předchozího. Nevýhodou je, že při každém stahování/připojování budete muset zadávat heslo. Druhou nevýhodou je, že pokud útočník za běhu získá přístup k souborům na kryptokon-
teiner, to je vše - je to ztraceno. Přesně taková je ochrana proti offline útokům. Navíc v drtivé většině případů ukládání krypto kontejneru do cloudu jej budete muset nahrát celý znovu.

Tento článek popisuje nastavení následujících metod kryptografické ochrany:
dm-crypt/LUKS- vytvoření krypto kontejneru pomocí mapovače zařízení a jádra CryptoAPI;
eCryptfs- šifrování na úrovni souborového systému;
EncFS- podobný tomu popsanému výše, ale nevyžaduje načítání modulů jádra.

DM-CRYPT/LUKS
Existují dva typy konfigurace dm-crypt – plain a LUKS. Rozdíl je v tom, že při použití LUKS jsou metadata přítomna na začátku kryptotomu, což vám umožňuje používat více klíčů a měnit je. Přitom přítomnost takové hlavičky je v některých případech sama o sobě kompromitující – ve většině však podobné případy oblast s vysokým stupněm entropie bude také kompromitující. Nastavení prostého dm-crypt se souborem klíče a přístupovou frází Podívejme se, jak nastavit kombinaci prostého svazku dm-crypt zašifrovaného pomocí souboru klíče, který je zase obsažen v kontejneru LUKS. Nejprve se musíte rozhodnout, jak přesně budou sekce umístěny. Existují tři hlavní možnosti:
pouze krypto objem;
nejprve kryptografický svazek, poté LVM nad ním;
nejprve kryptografický svazek, poté RAID a poté LVM.

A všemožné kombinace. Zkusme druhou možnost. Prvním krokem je vytvoření kontejneru LUKS pro uložení souboru klíče, abychom tento soubor mohli použít spolu s klíčovou frází. V tomto případě se sníží pravděpodobnost kryptoanalýzy svazku zašifrovaného pomocí prostého dm-crypt:

# dd if=/dev/zero of=/root/key.luks bs=512 count=2057

# cryptsetup --align-payload=1 luksFormat /root/key.luks

# cryptsetup luksOpen /root/key.luks cryptokey

# dd if=/dev/urandom of=/dev/mapper/cryptokey

První příkaz připraví soubor kontejneru, druhý vytvoří tento kontejner, třetí jej připojí a čtvrtý vygeneruje klíčové informace. Stojí za zmínku, že volba –align-payload=1 je potřebná, aby se zajistilo, že velikost metadat LUKS nebude 4096 512bajtových bloků, ale pouze 2056. Pro skutečné klíčové informace tedy zbývá 512 bajtů.
Poté přejdeme k vytvoření kryptotomu. V tomto okamžiku můžete také volitelně naplnit disk pseudonáhodnými daty, aby byla kryptanalýza, pokud existuje, obtížná. Poté můžete vytvořit kryptotom. Příkaz pro to vypadá takto (samozřejmě v jiných případech se mohou identifikátory lišit, takže musíte být opatrní):

# cryptsetup --cipher=serpent-xts-plain64 --offset=0--key-file=/dev/mapper/cryptokey --key-size=512 open --type=plain/dev/disk/by-id/ ata-VBOX_HARDDISK_VB05eadebe-f25e8d59 crypto0


V případě potřeby musíte podobný příkaz zopakovat na jiných zařízeních, která vyžadují šifrování. Poté vytvoříme LVM a FS na kryptovolumech:

Vytvořme soubor /etc/initramfs-tools/hooks/cryptokeys s přibližně následujícím obsahem (servisní část skriptu je vynechána):

A soubor /etc/initramfs-tools/scripts/local-top/cryptokeys (opět servisní část
vynecháno):

# <...>

modprobe -b dm_crypt

zatímco! (/sbin/cryptsetup luksOpen /etc/crypto/key. luks cryptokey

/dev/disk/by - id /ata - VBOX_HARDDISK_VB05eadebe - f25e8d59 crypto0

&& /sbin/cryptsetup plainOpen -- klíč - soubor = /dev/mapper/cryptokey

/dev/disk/by - id /ata - VBOX_HARDDISK_VBc2414841 - cfeccde5 crypto1

&& /sbin/cryptsetup luksZavřít kryptoklíč

); dělat

echo „Zkuste to znovu. . . “

Hotovo

Tyto dva soubory musí být spustitelné. Poté vytvoříme initrd:

# update-initramfs -u -k all -v

Při příštím restartu budete požádáni o heslo pro kontejner LUKS. Pokud používáte obyčejný dm-crypt, je tu další možnost – společná spodní vrstva, která umožňuje dělat něco jako TrueCrypt skryté svazky. Jednodušší je uvést příklad:

# cryptsetup --cipher=serpent-xts-plain64 --offset=0--size=2097152 --shared open --type=plain/dev/disk/by-id/ata-VBOX_HARDDISK_VBcda8398f-f1f1deec krypto

# cryptsetup --cipher=serpent-xts-plain64 --offset=2097152--size=2097152 --shared open --type=plain/dev/disk/by-id/ata-VBOX_HARDDISK_VBcda8398f-f1f1deec crypto_shared

Velikost a offset jsou specifikovány v 512bajtových blocích.


Pokročilé funkce LUKS
Podívejme se také na pokročilé využití kontejnerů LUKS. Mezi ně patří výměna klíčů. To je nezbytné při kompromitování nebo vytváření zásad rotace klíčů. Prvním krokem k tomu je vytvoření zálohy záhlaví kontejneru. Padám
ok, po výměně klíče se může zničit. Děláme to samozřejmě na nešifrovaném oddílu:

Nakonec přidáme nový klíč do systému:

Zvažme také postup obnovy svazků LUKS. Nejjednodušší možností samozřejmě je, když existuje kopie záhlaví. V tomto případě je k obnovení vyžadován pouze jeden příkaz:

Nejdelší souvislá čára bude hlavním klíčem. Je třeba jej zkopírovat do souboru na nezašifrovaném svazku a poté převést do binární podoby (předtím se ujistěte, že tento soubor nejsou k dispozici žádné
znaky na konci řádku):

ENCFS
Podívejme se, jak nakonfigurovat EncFS, aby se připojil automaticky po přihlášení. Nejprve nainstalujme potřebné balíčky:

Při nastavování v expertním režimu budete dotázáni na řadu otázek: typ šifry (k dispozici jsou pouze AES a Blowfish), velikost klíče, velikost bloku, jak šifrovat názvy souborů - blokové šifrování (které zcela skryje název souboru, vč. délka), šifrování streamu (které šifruje s nejbližší možnou délkou, což se někdy hodí, pokud jsou jména příliš dlouhá a při použití blokové šifry je poměrně vysoká pravděpodobnost překročení maximální povolené délky) nebo bude zcela chybět. .. Na konci budete požádáni o heslo, které se musí shodovat s heslem použitým k přihlášení, jinak nebude automatické připojení fungovat.

Dále musíte upravit soubor /etc/security/pam_encfs.conf:

A soubor /etc/fuse.conf:

A přidejte uživatele do skupiny pojistek:

$ sudo usermod - a - G fuse $ USER

Po odhlášení a přihlášení lze soukromý adresář využít jako úložiště osobních údajů. Za zmínku však stojí, že audit odhalil některé (docela vážné) bezpečnostní problémy, kvůli kterým tento systém Důrazně se nedoporučuje používat jej k ukládání opravdu důležitých dat.

ECRYPTFS
Je známo, že eCryptFS se v Ubuntu používá jako výchozí nástroj pro ochranu domovských adresářů. Pojďme se podívat, jak to funguje – pojďme si ručně vytvořit šifrovaný adresář. Pojďme nainstalovat balíčky:

Vytvoření eCryptFS

A připojte systém souborů (během prvního připojení se vytvoří všechna potřebná metadata):

$ sudo mount - t ecryptfs / home / rom / . tajemství/domov/rom/tajemství

Budete požádáni o heslo (pouze jednou, opakované zadání není implementováno, což nevypadá moc dobře dobré rozhodnutí, vzhledem k tomu, že musí být dlouhá), pak se zeptá na typ šifry (AES, Blowfish, 3DES, Twofish, CAST6 a CAST5), velikost klíče, je položena otázka, zda povolit nebo zakázat nešifrované soubory v adresáři u šifrovaných, zda šifrovat názvy souborů... a nakonec se zeptá, zda opravdu chceme připojit a uložit podpis do konkrétního souboru. Otázka není tak hloupá, jak by se na první pohled mohlo zdát: v tomto softwaru při absenci podpisu nelze rozlišit správné heslo od nesprávného.

Šifrování domovského adresáře uživatele

Během prvního spuštění může být nutné ukončit několik procesů. Po zašifrování se musíte okamžitě přihlásit jako uživatel a budete vyzváni, abyste si zapsali nebo vytiskli přístupovou frázi vygenerovanou pro šifrování a chráněnou heslem uživatele. To je nezbytné pro zotavení v případě nouze.


Upozornění, abyste si zapamatovali přístupovou frázi

Podívejme se, jak jej obnovit. Předpokládejme, že přístupová fráze není zaznamenána a obnova je z Live CD. Předpokládá se, že souborový systém je připojen. Přejděte do adresáře home/.ecryptfs/rom/.ecryptfs a zadejte příkaz:

dm-ověření
Modul dm-verify je určen k ověření integrity blokových zařízení. Ověření se provádí pomocí hash stromu, kde „listy“ jsou hashovací součty bloků a „větve“ jsou hashovací součty sad „listů“. Pro ověření blokového zařízení (ať už se jedná o diskový oddíl nebo disk) tedy stačí zkontrolovat pouze jeden kontrolní součet.
Tento mechanismus (spolu s digitální podpis) se používá v některých zařízeních Android k ochraně před úpravami systémových oddílů a také v OS Google Chromium.

ZÁVĚR
Linux ve skutečnosti obsahuje spoustu nástrojů pro ochranu kryptografických informací. Ze tří popsaných nástrojů je alespoň jeden přítomen ve všech moderních distribucích Linuxu. Ale co si vybrat?
dm-crypt/LUKS Mělo by se používat v případech, kdy je možné rychle deaktivovat šifrovaný svazek a kdy záložní kopie buď nejsou potřeba, nebo jsou jinak klasifikovány. V tomto případě toto rozhodnutí více než efektivní, zejména s ohledem na to, že šifrování lze provádět v kaskádě libovolného vnoření a typu (například AES-Twofish-AES), - skutečný ráj
pro paranoika.
eCryptFS vhodné v případech, kdy potřebujete někam uložit zašifrovaná data – například do cloudu. Poskytuje poměrně silné šifrování (i když výchozí 128bitová možnost má možnost snížit šifrovací sílu o dva bity) a je pro koncového uživatele transparentní.
EncFS ale je to starý muž asi před deseti lety, založený na ještě starodávnějších dílech. V současné době se nedoporučuje používat kvůli potenciálním bezpečnostním dírám, ale lze jej použít jako multiplatformní nástroj pro ochranu necitlivých dat v cloudu.

Pokud takové prostředky potřebujete použít, měli byste vždy pamatovat na to, že ochrana musí být komplexní.

Disk (a la TrueCrypt). Vím, že se pracovalo na přidání podpory šifrování do GRUB2, ale ještě to není hotové. Nějaké další možnosti?

(Všimněte si, že zde ve skutečnosti myslím úplné šifrování disku, včetně /boot)

Většina odpovědí popisuje nastavení, kde /boot není šifrovaný, a některé z nich se snaží vysvětlit, proč by nešifrovaný /boot měl být v pořádku.

Aniž bych se pouštěl do debaty o tom, proč vlastně potřebuji šifrovat /boot, zde je článek, který přesně popisuje, co potřebuji na základě upravené verze GRUB2:

  • http://xercestech.com/full-system-encryption-for-linux.geek

Problém je v tom, že tyto úpravy zřejmě nejsou podporovány v současné kódové základně GRUB2 (nebo možná něco postrádám).

8 Řešení shromažďují formulářový web pro „zavaděče Linuxu, které podporují úplné šifrování disku?“

Myslím, že aktuální verze GRUB2 sama o sobě nepodporuje načítání a dešifrování LUKS oddílů (obsahuje nějaké šifry, ale myslím, že se používají pouze pro podporu hesel). Nemohu zkontrolovat experimentální vývojovou větev, ale na stránce GRUB jsou nějaké náznaky, že se plánuje nějaká práce na implementaci toho, co chcete udělat.

Aktualizace (2015) : Nejnovější verze GRUB2 (2.00) již obsahuje kód pro přístup k zašifrovaným oddílům LUKS a GELI. (Odkaz na xercestch.com, který OP poskytl, zmiňuje první opravy tohoto problému, ale ty jsou nyní zahrnuty v nejnovější verzi).

Pokud se však z bezpečnostních důvodů pokoušíte zašifrovat celý disk, mějte na paměti, že nešifrovaný zavaděč (jako je TrueCrypt, BitLocker nebo upravený GRUB) neposkytuje o nic větší ochranu než nezašifrovaný oddíl /boot (jak upozornil SP v komentáři výše). Každý, kdo má fyzický přístup k počítači, jej může stejně snadno nahradit vlastní verzí. Je to dokonce zmíněno v článku na xercestech.com, na který jste odkazovali:

Aby bylo jasno, v žádném případě to nečiní váš systém méně zranitelným vůči offline útoku; pokud by útočník nahradil váš bootloader svým vlastním nebo přesměroval zaváděcí proces, aby nahrál svůj vlastní kód, váš systém by mohl být stále ohrožen.

Vezměte prosím na vědomí, že všechny softwarové produkty pro úplné šifrování disky mají tuto slabinu bez ohledu na to, zda používají nešifrovaný bootloader nebo nešifrovaný boot/preboot oddíl. I produkty, které podporují čipy TPM (Trusted Platform Module), jako je BitLocker, lze implementovat bez změny hardwaru.

Lepší přístup by byl:

  1. dešifrovat na úrovni BIOSu (in základní deska buď na diskovém adaptéru nebo externím hardwaru [smart card], s čipem TPM nebo bez něj), popř
  2. noste autorizační kód PBA (předbootovací autorizace) (v tomto případě oddíl /boot) na vyměnitelném zařízení (jako je čipová karta nebo jednotka USB).

Chcete-li to provést druhým způsobem, můžete se podívat na projekt Linux Full Disk Encryption (LFDE) na adrese: http://lfde.org/, který poskytuje poinstalační skript pro přesunutí oddílu /boot na externí jednotku USB, šifrování klíče pomocí GPG a také jeho uložení na USB. Tímto způsobem budete mít slabou část zaváděcí cesty (nešifrovaný oddíl /boot) vždy s vámi (budete jediný, kdo bude mít fyzický přístup k dešifrovacímu kódu a klíči). ( Poznámka: Tento web byl ztracen a blog autora také zmizel, nicméně staré soubory můžete najít na https://github.com/mv-code/lfde, jen podotýkám, že poslední vývoj byl proveden před 6 lety). Jako jednodušší alternativu můžete při instalaci operačního systému nainstalovat nezašifrovaný spouštěcí oddíl na jednotku USB.

S pozdravem M.V.

Udělejte svůj první RAMdisk a /boot složku nešifrovanou.

To vyvolá "minimální" jádro s ovladači a podporou pro přechod na "skutečný" root souborový systém, který je zašifrovaný.

Než prohlásíte „je to hack“, pamatujte – většina (pokud ne všichni) Linuxové distribuce dnes standardně načteno. To explicitně umožňuje vašemu systému zavést a načíst kořenový FS pomocí modulů, které je třeba načíst ze souborového systému. (Problém slepice a vejce). Například pokud byl váš kořenový souborový systém na hardwarovém svazku RAID a před připojením kořenového FS jste potřebovali načíst jeho ovladač.

Podíval jsem se na odkaz, který jste zveřejnili - i když neexistuje žádný spouštěcí oddíl, na pevném disku je stále nešifrovaný zavaděč, ke kterému lze přistupovat a kompromitovat jej škodlivým útokem. Hledal jsem podobné nastavení, kde na pevném disku nejsou žádná nezašifrovaná data, ale zatím jsem přišel pouze na spuštění bootloaderu z vyměnitelného disku.

Věřím, že většina z nich potřebuje nejprve návod, jak nainstalovat OS se šifrovaným HD.

Ubuntu má dobrou stránku s návodem, jak vytvořit šifrované oddíly, LMVP, složky atd., prostě vaše verze vaší distribuce...

Ne, myslím, že ne.

Opravdu potřebujete šifrovat/stahovat? Mám podezření, že ne. Zbytek souborového systému může být zašifrován normálním linuxovým softwarem, který je umístěn v initramfs v /boot a vyzve uživatele odpovídajícím způsobem.

Zdá se, že žádáte něco, co nelze udělat, a srovnáváte to Windows řešení, který skrývá implementaci před vámi, ale ve skutečnosti dělá to samé co Linux.

Nejbližší řešení, které mě napadá, je použít HDD, která implementuje zabezpečení heslem a šifrování. Některé notebooky Thinkpad používají tato hardwarová řešení.

Odpověď je nastíněna v článku. "To je nyní možné díky rozšířením pro bootloader GRUB2 nové generace, který byl opraven, aby podporoval nejen" a "chceme později nainstalovat nový obraz s podporou luks grub2" a "Nyní zkompilujeme zdrojový kód GRUB2 s podporou LUKS . "Zdá se, že existuje oprava nebo rozšíření, které musíte získat a povolit pomocí GRUB2 nebo rozvětveného zdroje GRUB2.

Grub2 verze 2.02~beta3 umí hodně, co Grub2 verze 2.02~beta2 neumí, testováno mnou:

  1. Spouštění pomocí disku Super Grub 2
  2. Zadejte "c" pro přechod na příkazový řádek
  3. Zadejte příkazy pro připojení požadovaného šifrovaného oddílu
    • insmod lux
    • cryptomount(hd0, #) // kde # představuje šifrovaný oddíl
  4. Zadejte přístupovou frázi a zadejte několik příkazů
    • multiboot (crypto0) /grub/i386-pc/core.img
    • bota

Tím se načte další Grub2, který je uvnitř šifrovaného oddílu, zlý šílený útok zde nemá místo... Nabootuji z CD (pouze pro čtení) a poté připojím zašifrovaný oddíl (ne heslo, cokoliv!), pak bootuji zevnitř šifrovaný oddíl a bootování Grub2 s vlastní nabídkou atd.

Upozornění: Grub2 verze 2.02~beta2 nemůže udělat totéž, protože má některé chyby (které se zdají být opraveny v Grub2 verze 2.02~beta3) související s příkazem cryptomount...

Chyby beta2, o kterých mluvím, jsou:

  1. Ve skutečnosti nepřipojuje šifrovaný oddíl, takže vám neumožňuje přístup (crypto0)/*
  2. Pokud existuje více než jeden šifrovaný oddíl, použití cryptomount -a vyžaduje pouze jednu přístupovou frázi
  3. Po spuštění cryptomount, jakmile se znovu spustí, nedělá nic

na beta 3:

  1. Připojí šifrovaný oddíl a umožňuje vám přistupovat k souborům přes (crypto0)/* nebo (crypto1)/* atd., pokud je připojeno více než jeden současně
  2. Ptá se na každou přístupovou frázi (jedno na zašifrovanou sekci)
  3. To vám umožní spustit jej tolikrát, kolikrát potřebujete, můžete nainstalovat jeden, pak další atd.

Poznámka: Nepřišel jsem na to, jak je odpojit jinak než restartováním nebo zavedením jiného nebo stejného zavaděče grub2/other atd.

Doufám, že to pomůže věci vyjasnit a doufejme, že verze Grub2 2.02~beta3 bude integrována do LiveCD, abychom ji mohli nainstalovat, aniž bychom ji museli sami kompilovat.

PD: S diskem Super Grub 2 nevidím způsob, jak nainstalovat Grub2 verze 2.02~beta3 na oddíl MBR/boot atd.

Chcete skrýt svá data před zvědavýma očima? Naučíme vás techniky šifrování pevného disku.

Za Minulý rok Téma bezpečnosti dat na internetu se objevovalo často: nejprve v souvislosti s odhalením Snowdena, poté se zranitelností v OpenSSL (chyba Heartbleed). Krátce před tím posledním byla objevena méně nápadná chyba v GnuTLS. V důsledku toho jsme začali věnovat větší pozornost bezpečnosti smazaných dat; ale co ty, které jsou uloženy na našem disku?

Blokovat zásobník zařízení

Než se podíváte na šifrování, je důležité pochopit, jak fungují bloková zařízení. Jsou to systémová rozhraní k úložným zařízením, jako je /dev/sda! Uvnitř blokového zařízení je hardwarový ovladač, jako je SATA, a samotný hardware. Operační systém poté interaguje s blokovým zařízením a vytvoří na něm souborový systém.

V této funkci se obvykle uvažují bloková zařízení, i když mají jiné funkce. Zejména může být takové zařízení rozhraním pro řadu dalších blokových zařízení – mohou tvořit zásobník. A už jste to udělali: máte souborový systém na /dev/sda1 (diskový oddíl) a toto blokové zařízení ukazuje na /dev/sda (celý disk).

Technologie jako RAID a LVM (Logical Volume Management) jsou také zásobníky blokových zařízení. Můžete mít LVM nahoře pole RAID, který se zase nachází na blokových zařízeních jednotlivých disků nebo jejich oddílů.

Šifrování celého zařízení pomocí dm-crypt funguje takto: na základě vašeho paměťového média je vytvořeno blokové zařízení, které šifruje data při ukládání a dešifruje při čtení. Na šifrované zařízení pak připojíte standardní souborový systém a funguje stejně jako běžný diskový oddíl.

Mnoho distribucí lze nainstalovat na šifrovaný disk, ale my se podíváme přímo na vytváření a provoz zařízení dm-crypt, aniž bychom se dotkli černé magie, kterou instalátor provádí. Dm-crypt používá subsystém mapování zařízení jádra k řízení blokových zařízení s kryptografickými funkcemi jádra pro účely šifrování.

Vše dělá jádro, ale na uživatelské úrovni potřebujeme software k vytváření a správě zařízení dm-crypt; takhle standardní nástroj znamená cryptsetup. Pravděpodobně je již nainstalován ve vaší distribuci; a pokud ne, tak to určitě bude v hlavních repozitářích.

Šifrování

Výchozí hodnoty jsou obvykle více než dostatečné a všechny Dostupné možnosti lze zobrazit pomocí cryptsetup -help Tyto volby jsou potřeba pouze s LuksFormat. Při vytváření zabezpečeného zařízení se automaticky použije cryptsetup správné nastavení otevřít.

Nejlepší je držet se oblíbených šifer a hashů, pokud nemáte lepší důvod zvolit něco jiného. Méně často používané metody mohou mít skryté chyby jednoduše proto, že jsou méně testovány, což se nedávno stalo s implementací hash Whirlpool v knihovně libcgrypt používané cryptsetupem. Při provádění oprav byly ovlivněny ty systémy, které již používaly vadné hashe.

Dalším důvodem, proč zůstat u konvenčních metod, je přenositelnost. Pro interní disk to není důležité, ale pokud chcete šifrovaný disk používat na jiném systému, musí tam být nainstalovány stejné hashe a šifry.

LUKS

LUKS— Linux Unified Key Setup byl vytvořen, aby poskytoval standardní multiplatformní (navzdory názvu) formát pro ukládání šifrovaných dat na disky. Netýká se to šifrovacích metod, ale způsobu ukládání informací o nich.

On je také víc spolehlivým způsobem ukládání klíčů nebo hesel, protože metoda dm-crypt je náchylná k hackerům. Protože LUKS je multiplatformní, lze k šifrovaným zařízením přistupovat také z Windows pomocí .

Bezpečnost a soukromí jsou velmi důležité pro ty, kteří ukládají důležitá data do počítače. Vaše domácí počítač je bezpečný, ale u notebooku nebo jiných přenosných zařízení je situace velmi odlišná. Pokud notebook nosíte téměř všude s sebou a mohou se k němu dostat neoprávněné osoby, nabízí se otázka – jak ochránit svá data před cizími zásahy. Je to z fyzických útoků, odkud se může kdokoli pokusit získat data úložiště USB nebo pevný disk notebook pouhým vyjmutím zařízení, nebo v případě notebooku vyjmutím pevného disku a jeho připojením k jinému operačnímu systému.

Mnoho podniků a dokonce běžní uživatelé používat šifrování disku v Linuxu k ochraně důvěrných informací, jako jsou: klientské informace, soubory, kontaktní informace a mnohem víc. Operační systém Linux podporuje několik kryptografických metod k ochraně oddílů, jednotlivých adresářů nebo celého pevného disku. Všechna data v kterékoli z těchto metod jsou automaticky šifrována a dešifrována za běhu.

Šifrování na úrovni souborového systému:

  • 1. eCryptfs- toto je kryptografický soubor Linuxový systém. Ukládá kryptografická metadata pro každý soubor samostatný soubor, takže soubory lze kopírovat mezi počítači. Soubor bude úspěšně dešifrován, pokud máte klíč. Toto řešení je široce používáno pro implementaci šifrovaného domovského adresáře, například v Ubuntu. ChromeOS také transparentně vkládá tyto algoritmy při použití síťová zařízení pro ukládání dat (NAS).
  • 2.EncFS- poskytuje šifrovaný systém souborů v uživatelském prostoru. Běží bez jakýchkoli dalších oprávnění a používá knihovnu fuse a modul jádra k poskytování rozhraní souborového systému. EncFS je svobodný software a je licencován pod GPL.

Blokové šifrování na úrovni zařízení:

  • Loop-AES- rychlý a transparentní souborový systém a také balíček pro šifrování odkládacího oddílu v Linuxu. Zdrojový kód programu se dlouho nezměnil. Funguje s jádry 4.x, 3.x, 2.2, 2.0.
  • TrueCrypt- Tento bezplatné řešení s otevřeným zdrojový kód pro šifrování disku v operačních sálech Systémy Windows 7 / Vista / XP / Mac OS X, stejně jako Linux.
  • dm-crypt+LUKS- dm-crypt je transparentní subsystém pro šifrování disků v jádře 2.6 a novějších. Podporuje šifrování celých disků, vyměnitelných médií, oddílů, svazků RAID, software, logické svazky a soubory.

V tomto tutoriálu se podíváme na šifrování pevného disku v systému Linux pomocí algoritmu Linux Unified Key Setup-on-disk-format (LUKS).

Jak LUKS funguje?

LUKS (Linux Unified Key Setup je protokol pro šifrování blokového zařízení. Ale skočili jsme daleko dopředu, abychom pochopili, jak to funguje, musíme porozumět dalším technologiím používaným v této metodě.

Chcete-li provést šifrování linuxový disk Je použit modul jádra dm-crypt. Tento modul umožňuje vytvořit virtuální blokové zařízení v adresáři /dev/mapper se šifrováním transparentním pro systém souborů a uživatele. Ve skutečnosti jsou všechna data umístěna na šifrovaném fyzickém oddílu. Pokud se uživatel pokusí zapsat data na virtuální zařízení, jsou za běhu zašifrována a zapsána na disk, při čtení z virtuálního zařízení se provede obrácená operace – data jsou dešifrována z fyzického disku a přenesena v čistém textu prostřednictvím virtuální disk uživateli. Obvykle se pro šifrování používá metoda AES, protože většina z nich je na to optimalizována. moderní procesory. Je důležité si uvědomit, že můžete zašifrovat nejen diskové oddíly a disky, ale i běžné soubory tak, že v nich vytvoříte souborový systém a připojíte je jako smyčkové zařízení.

Algoritmus LUKS určuje, jaké akce a v jakém pořadí budou provedeny při práci se šifrovanými médii. Pro práci s LUKS a modulem dm-crypt použijte utilitu Cryptsetup. Budeme to dále zvažovat.

Nástroj Cryptsetup

Nástroj Cryptsetup usnadní šifrování linuxového oddílu pomocí modulu dm-crypt. Nejprve jej nainstalujme.

Na Debianu nebo Ubuntu použijte tento příkaz:

apt-get install cryptsetup

Na distribucích založených na Red Hatu to bude vypadat takto:

yum nainstalovat cryptsetup-luks

Syntaxe pro spuštění příkazu je:

$ cryptsetup options operation options_operations

Podívejme se na základní operace, které lze provést pomocí tohoto nástroje:

  • luksFormat- vytvořit šifrovaný oddíl luks linux
  • luksOpen- připojte virtuální zařízení (vyžaduje hardwarový klíč)
  • luksClose- zavřete virtuální zařízení luks linux
  • luksAddKey- přidat šifrovací klíč
  • luksRemoveKey- odstranit šifrovací klíč
  • luksUUID- zobrazit UUID oddílu
  • luksDump- vytvořit záložní kopie hlavičky LUKS

Parametry operace závisí na samotné operaci, většinou se jedná buď o fyzické zařízení, se kterým je potřeba akci provést, nebo o virtuální, případně obojí. Ještě není vše jasné, ale s praxí si myslím, že na to přijdete.

Linuxové šifrování disku

Teorie je dokončena, všechny nástroje jsou připraveny. Nyní se podíváme na šifrování linuxového oddílu. Pojďme k nastavení pevného disku. Upozorňujeme, že tím smažete všechna data z disku nebo oddílu, který se chystáte zašifrovat. Pokud jsou tam tedy důležitá data, je lepší je zkopírovat na bezpečnější místo.

Vytvoření sekce

V tomto příkladu zašifrujeme oddíl /dev/sda6, ale můžete místo něj použít celý pevný disk nebo jen jeden soubor vyplněný nulami. Vytvořte šifrovaný oddíl:

cryptsetup -y -v luksFormat /dev/sda6

VAROVÁNÍ!
========
To nenávratně přepíše data na /dev/sda6.

Jsi si jistá? (Zadejte velká písmena ano): ANO
Zadejte přístupovou frázi LUKS:
Ověřte přístupové heslo:
Příkaz byl úspěšný.

Tento příkaz inicializuje oddíl a nastaví inicializační klíč a heslo. Zadejte heslo, abyste ho později nezapomněli.

Spusťte následující příkaz pro otevření nově vytvořeného oddílu pomocí modulu dm-crypt v /dev/mapper, k tomu budete muset zadat heslo, se kterým bylo provedeno šifrování luks linux:

Zadejte přístupovou frázi pro /dev/sda6

Nyní můžete vidět nové virtuální zařízení /dev/mapper/backup2 vytvořené pomocí příkazu luksFormat:

ls -l /dev/mapper/backup2

Chcete-li zobrazit stav zařízení, spusťte:

cryptsetup -v stavová záloha2

/dev/mapper/backup2 je aktivní.
typ: LUKS1
šifra: aes-cbc-essiv:sha256
velikost klíče: 256 bitů
zařízení: /dev/sda6
offset: 4096 sektorů
velikost: 419426304 sektorů
režim: čtení/zápis
Příkaz byl úspěšný.

A pomocí následujícího příkazu můžete pro každý případ vytvořit záložní kopii hlaviček LUKS:

cryptsetup luksDump /dev/sda6

Můžeme říci, že sekce je připravena. A nejlepší na tom je, že jej nyní můžete používat stejně jako jakýkoli jiný běžný oddíl v adresáři /dev. Můžete jej formátovat pomocí standardních utilit, zapisovat do něj data, měnit nebo kontrolovat souborový systém atd. Nelze jen změnit velikost. To znamená, že vše je zcela transparentní, jak je uvedeno na začátku článku.

Formátování oddílu

Nejprve zformátujeme disk. Abychom byli v bezpečí, abychom vymazali všechna data, která na tomto místě byla předtím, přepíšeme náš šifrovaný linuxový oddíl nulami. Tím se sníží pravděpodobnost prolomení šifrování zvýšením množství náhodných informací. Chcete-li to provést, spusťte:

dd if=/dev/zero of=/dev/mapper/backup2

Spuštění nástroje může trvat několik hodin; abyste mohli proces sledovat, použijte pv:

pv -tpreb /dev/zero | dd of=/dev/mapper/backup2 bs=128M

Po dokončení procesu můžeme zařízení naformátovat na libovolný souborový systém. Například jej zformátujme v ext4:

mkfs.ext4 /dev/mapper/backup2

Jak vidíte, všechny příkazy cryptsetup jsou aplikovány na fyzický oddíl, zatímco zbytek příkazů pro práci s disky se aplikuje na náš virtuální.

Montáž přepážky

Nyní můžete připojit pouze vytvořený souborový systém:

$ mount /dev/mapper/backup2 /backup2

Zakázání oddílu

Vše funguje, ale jak deaktivovat zařízení a chránit data. Chcete-li to provést, spusťte:

cryptsetup luksZavřít zálohu2

Opětovná montáž

Abyste mohli znovu pracovat se zašifrovaným oddílem pomocí LUKS Linux, musíte jej znovu otevřít:

cryptsetup luksOpen /dev/sda6 backup2

Nyní můžeme namontovat:

mount /dev/mapper/backup2 /backup2

Zkontrolujte souborový systém luks

Vzhledem k tomu, že po otevření oddílu s luks linux je tento oddíl systémem zpracován jako všechny ostatní, můžete jednoduše použít nástroj fsck:

sudo umount /backup2

$ fsck -vy /dev/mapper/backup2

$ mount /dev/mapper/backup2 /backu2

Změňte přístupovou frázi luks

Šifrování disku Linux se provádí pomocí specifické přístupové fráze, ale můžete ji změnit. Ještě lepší je, že můžete vytvořit až osm různých přístupových frází. Pro změnu spusťte následující příkazy. Nejprve si zazálohujte hlavičky LUKS:

cryptsetup luksDump /dev/sda6

Poté vytvořte nový klíč:

cryptsetup luksAddKey /dev/sda6

Zadejte libovolnou přístupovou frázi:

Zadejte novou přístupovou frázi pro klíčový slot:
Ověřte přístupové heslo:

A smazat ten starý:

cryptsetup luksRemoveKey /dev/sda6

Nyní budete muset zadat staré heslo.

závěry

To je vše, nyní víte, jak šifrovat oddíl v Linuxu, a také chápete, jak to celé funguje. Šifrování disku v Linuxu pomocí algoritmu LUKS navíc otevírá široké možnosti pro kompletní šifrování instalovaného systému.

Klady:

  • LUKS šifruje celé blokové zařízení a proto se velmi dobře hodí pro ochranu obsahu přenosných zařízení jako např. Mobily, vyměnitelné médium nebo pevné disky notebooky.
  • K ochraně záloh můžete použít NAS na serverech
  • Procesory Intel a AMD s AES-NI (Advanced Encryption Standard) mají sadu příkazů, které mohou urychlit proces šifrování založený na dm-crypt v jádře Linuxu od 2.6.32.
  • Funguje také s odkládacím oddílem, takže váš notebook může zcela bezpečně používat režim spánku nebo hibernace.