Portál AbcLinuxu, 12. května 2025 06:08
nakolik me to zabezpeci?Vůbec, ext2/3 si zálohuje superblok mnohokrát na různá místa disku. A i kdyby, vždycky jde použít photorec...
Ano, řešením by mohl být TrueCrypt for Linux
Ano lze, akorát si musíte dát pozor, aby metadata (šifrovací algorimus) byly uloženy mimo oddíl (např. v hlavě).
Zkuste losetup, kterému přes parametr -e (a případně další) nastavíte šifrování na vytvářeném loop blokovém zařízení. Pak stačí přes dd překopírovat data z oddílu do loop zařízení (dejte si sakra dobrý pozor na pořadí vstupu a výstupu) a modlit se, aby během šifrování nevypadl proud.
Nechť /dev/hda1 je oddíl se souborovým systémem, který potřebuje zašifrovat, připojovaný do /home. A nechť jste si vybral šifru twofish.
Pak souborový systém odpojte umount /dev/hda1
, vytvořte šifrované loop zařízení nad původním nešifrovaným oddílem losetup -e twofish /dev/loop0 /dev/loop0
a na výzvu zadajte dostatečně dlouhé heslo. Nyní máte loop zařízení, které veškerá do něj zapsaná data zašifruje a zašifrovaný výsledek zapíše do oddílu. Naopak když budete z tohoto zařízení číst, tak odpovídající blok z oddílu rozšifruje. Obě zařízení můžete používat současně. Samozřejmě čtení v této fázi z loop zařízení postrádá smysl, protože žádná data v oddílu ještě nejsou zašifrovaná. Loop zařízení si můžete představit jako filtr, na disku budou data vždy zašifrovaná, rozšifrovaný budou jen v operační paměti.
Následně celý obsah oddílu zašifrujete dd if=/dev/hda1 of=/dev/loop0 bs=4096
. Průběh lze sledovat zasláním signálu SIGUSR1 procesu dd. Tady je třeba zajistit, aby „kopírování“ dat proběhlo v celku, jinak skončíte s rozbitým souborovým systémem, který bude z části zašifrovaný a z části nešifrovaný.
Nyní můžete zkusit připojit zašifrovaný souborový systém mount /dev/loop0 /home
. Až budete potřebovat z běžícího systému šifrovací heslo vymazat, odpojíte souborový systém umount /dev/loop0
a zrušíte loop zařízení losetup -d /dev/loop0
.
Nové připojení funguje stejně, jak jsem už popsal: vytvořit loop zařízení losetup -e twofish /dev/loop0 /dev/loop0
a připojit mount /dev/loop0 /home
.
Loop zařízení může existovat více, právě existující lze vypsat pomocí losetup -a
. Fázi vytváření loop zařízení a připojování lze spojit do jednoho kroku vhodným parametrem příkazu mount mount -o loop,encryption=twofish /dev/hda1 /home
, což vybere první volné loop zařízení (začíná se od 0). Odpojení umountem ale už loop začízení nezničí, musíte si to udělat losetupem zvlášť. Některé distribuce podporují takto šifrované souborové systémy a automatické připojování a odpojování umí vyřešit ve startovacích skriptech.
Nakonec se sluší podotknout, že loop zařízení se považují za překonaná a budoucnost patří device mapperu. Avšak nastavit přes něj ručně šifrování je porod, tak vám to ani nedoporučuji. Pokud byste přeci jenom chtěl, začněte přečtením si manuálu dmsetup(8).
začněte přečtením si manuálu dmsetup(8)
Spíše cryptsetup(8) a ignorujte všechno kolem LUKS.
losetup -e twofish /dev/loop0 /dev/loop0nemělo by to být spíš
losetup -e twofish /dev/loop0 /dev/hda1
?
modlit se, aby během šifrování nevypadl proud.
U notebooku?
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.