Portál AbcLinuxu, 16. května 2024 19:14


Dotaz: boot do šifrovaného rootu na btrfs raid 1

26.1.2023 20:32 lertimir | skóre: 64 | blog: Par_slov
boot do šifrovaného rootu na btrfs raid 1
Přečteno: 274×
Odpovědět | Admin
Instaluji si novou pracovní stanici. Root je na ni umístěn na BTRFS RAID 1, který sedí na dvou oddílech které jsou šifrované oddíly (root1 a root2) fyzicky, které sedi na nvme0n1p3 a nvme1n1p3. Jako bootování jsem zvolil GRUB2 (v EFI oddílu) primárně proto, že ho dlouho používám a jsem s ním spokojen. Ale to co mne trápí, že při bootu dávám v grubu heslo dvakrát, pro každý z oddílů ho píšu znovu. Chápu to, pro každý oddílu mi GRUB jasně zobrazí, pro který disk heslo píšu, ale otravuje to, Takže moje otázka je jestli neexistuje nějaký způsob jak mít bott nastavení abych heslo psal jen jednou? Další proces tedy grub načte jádro intiramfs, v něm je klíč znovu pro oba oddíly a ten je korektně odemkne, je OK v pořádku a funguje.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Řešení 1× (xxl)
26.1.2023 21:45 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: boot do šifrovaného rootu na btrfs raid 1
Odpovědět | | Sbalit | Link | Blokovat | Admin

To se řeší tak, že se

26.1.2023 22:39 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: boot do šifrovaného rootu na btrfs raid 1
No Andreji, buď jsi dotaz nedočetl nebo nepochopil. Ano mám kliče, které jsou v initramdisku a ano jediný nešifrovaný kousek je EFI.

1. Rozumím řešení s flaskou. Pak to vygeneruje, ale další security management kategorie: Jak flash neztratit, nepoškodit, nezapomět, popřípadě když by byly kopie, jak je spravovat, aby byly bezpečně uloženy. To se mi moc nechce, věci ztrácím.

2. to mám tak, jak popisuješ, ale:

2.1 tady se mne grub ptá na heslo dvakrát. protože s jedním heslem otevře jeden oddíl na jednom disku, ale zatím nemá otevřený druhý disk a neotevře tedy btrfs protože ho zatím nemá jak. grub potřebuje otevřít oba šifrované disky, aby nad nimi mohl složit rootový btrfs, Odtud potřeba druhého hesla. Z něho si přečíst kernel a intitramfs. A od bodu 2.3 jede, jak popisuješ. (kromě toho že /etc/crypttab potřebuješ až na další disky ne na root.

Takže buď najdu, jak dát grubu heslo, aby ho měl pro oba disky.

Nebo mi někdo poradí jiný zavaděč, který by toho dokázal otevřít jedním heslem dva LUKSy..

Nebo patrně by byla cesta, že vytvořím další šifrovaný oddíl single, bude v něm /boot, v něm bude kernel a initramfs, který obsahuje klič k sobe i k obou disků, vytvářejícím root. Ten by se odemkl jedním heslem z GRUBu a v initramdisku by měl klíče na otevření zbytku.

Ten popis, co jsi dal je v pořádku, přesně takto ho používám už léta, ale zatím jsem měl root jen na jednom disku. Ano, pokud nevložím klíč do initramdisku, tak jsou také dva dotazy na heslo, jeden posílá Grub a druhý kernel. Ale toto není můj případ.
Max avatar 26.1.2023 22:16 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: boot do šifrovaného rootu na btrfs raid 1
Odpovědět | | Sbalit | Link | Blokovat | Admin
Já zadávám heslo až při bootu, nikoli v rámci grubu. A to stačí řešit takto:
Do "/etc/crypttab" přidat "ecrypt_keyctl", příklad:
# <name>       <device>                                         <keyfile>              <options>
system          UUID=d3ab737e-3a7b-3fca-95bc-32d01a3c3d38        crypt_disks            luks,initramfs,keyscript=decrypt_keyctl
system2         UUID=f9a3b527-179a-4620-8107-036ab55a5262        crypt_disks            luks,initramfs,keyscript=decrypt_keyctl
...
A přegenerovat initramfs.
Zdar Max
Měl jsem sen ... :(
26.1.2023 22:40 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: boot do šifrovaného rootu na btrfs raid 1
kolik toho máš tedy nešifrovaného?
26.1.2023 23:25 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: boot do šifrovaného rootu na btrfs raid 1
Přečetl jsem si dokumentaci, ale pořád mi nevychází, co tím myslíš? Máš root na raid 1? Ten příklad crypttabu používám pro všechny další disky kromě roota. Takhle jsem to měl někde dříve, ale i když máš boot nešifrovaný, tak v něm nemáš žádné klíče (jinak šifrování nemá smysl) a když ti najede jádro a initramfs a máš odemknout root volume, tak když dáš jedno heslo pro jeden disk, tak se odemknout dva?
Max avatar 27.1.2023 08:11 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: boot do šifrovaného rootu na btrfs raid 1
Přesně tak, dáš jedno heslo a odemknou se oba v rámci mounpointu. Pokud budeš mít raid1c3, tak se ti odemknou všechny tři.
Nešifrovaný mám "/boot".
Pokud mě někdo lokálně napadne, tak je jedno, zda mám šifrováno vše, nebo ne. Jedině bych chodil s tokenem a na něm měl cert.
Zdar Max
Měl jsem sen ... :(
Řešení 1× (lertimir (tazatel))
28.1.2023 18:43 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: boot do šifrovaného rootu na btrfs raid 1
Fakticky jsem to udělal obdobně, nebo přesněji tak jak jsme nastínil.

V EFI je efi od grubu. zapsaným heslem se otvírá /boot na samostatném disku (btrfs) na /boot je initramfs, kernel a klíč k dalším diskům. v /etc/default/grub je rd.luks.name==UUID=jméno kde jméno jsou disky root1 root2 (na složení rootu btrfs1), boot (krome hesla má i klíč - jak píše Andrej), a swap, (všechny se stejným klíčem), který jsem vytvořil jako RAID 0 (mdraid) nad dvěma oddíly v dvou nvme discích, Nad ním jeden LUKS. Tento swap předpokládám jednak pro hibernaci a také, že může být rychlý. nvme disky mají 7000/5000MB read/write rychlost a 1 000 000 IOPS, tak uvidíme jak to pojede. Výsledek je funkční, heslo zadávám jedno, a kromě grub-efi je vše zašifrované a po odemknutí grub se otevře vše.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.