abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 09:00 | Pozvánky

Letošní konference OpenAlt proběhne již o víkendu 17. a 18. září. Organizátoři hledají přednášející.

Ladislav Hagara | Komentářů: 0
včera 16:11 | Zajímavý článek

Alyssa Rosenzweig informuje o aktuálním stavu open source ovladače pro Apple M1 GPU. Po trojúhelníku a točící se kostce lze již zobrazit i točícího se králíčka z glmark2.

Ladislav Hagara | Komentářů: 6
včera 15:22 | Nová verze

Nadace The Document Foundation oznámila vydání sedmého opravného balíku LibreOffice 7.2 Community, posledního z řady LibreOffice 7.2. Opravuje téměř 50 chyb.

Petr Valach | Komentářů: 4
včera 15:11 | Nová verze

V návaznosti na středeční vydání nové verze Red Hat Enterprise Linuxu bylo oznámeno vydání jeho klonu AlmaLinux 8.6.

Pavel Půlpán | Komentářů: 11
13.5. 12:33 | Nová verze

Byla vydána nová verze 1.38.0 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Ľubomír Rintel.

Ladislav Hagara | Komentářů: 2
13.5. 11:33 | Pozvánky

V sobotu 14. května proběhne Maker Faire Plzeň. Na třetím ročníku se opět můžete těšit na moderní technologie, studentské projekty, ale i na řemesla či zábavné instalace.

Ladislav Hagara | Komentářů: 0
13.5. 07:00 | IT novinky

Josef Průša před týdnem představil uzavíratelný modulární box na 3D tiskárnu MK3S+ Original Prusa Enclosure. Box vytváří stabilní tiskové prostředí, pomáhá blokovat nepříjemný pach specifických materiálů, snižuje hlasitost běžící tiskárny, …

Ladislav Hagara | Komentářů: 9
12.5. 23:33 | IT novinky

Vláda schválila Národní plán výzkumu a vývoje v kybernetické a informační bezpečnosti do roku 2025 (pdf).

Ladislav Hagara | Komentářů: 4
12.5. 22:22 | Nová verze

Open source 3D herní a simulační engine Open 3D Engine (O3DE) byl vydán v nové major verzi 22.05.0. Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 3
12.5. 14:44 | IT novinky

Sdružení CZ.NIC vyzvalo vládu ke koncepčnímu řešení problému dezinformačních domén. Správce české národní domény po konzultacích s bezpečnostními složkami státu a v souladu s výzvou vlády České republiky zablokoval 25. února 2022 osm jmen domén, které byly Vojenským zpravodajstvím označeny jako ohrožující bezpečnost. Postupoval přitom na základě článku 17 pravidel registrace jmen domén. V zájmu transparentnosti a

… více »
Ladislav Hagara | Komentářů: 34
Na sociálních sítích nebo jiných webových diskuzích vystupuji pod
 (62%)
 (15%)
 (22%)
Celkem 258 hlasů
 Komentářů: 16, poslední 10.5. 14:14
Rozcestník


Šifrované filesystémy - I

4. 7. 2003 | Petr Novický | Systém | 16469×

Jak vytvořit bezpečný úložný prostor přímo na vašem harddisku. Ve dvou dílech se dozvíte, jak systém připravit, konfigurovat a účelně využívat.

Úvod a motivace

Mnoho problémů s bezpečností linuxových strojů může být připisováno chabému zabezpečení, pokud má útočník fyzický přístup k počítači. Tehdy si s ním může dělat co si jen zamane (včetně získání všech dat na počítači uložených). Napadne nás jistě pousta scénářů, kdy k něčemu podobnému může dojít a kdy zneužití (prozrazení) může náš život přinejmenším zkomplikovat.

Je tedy jistě vhodné tomu nějak zabránit. Jednou z nepříliš rozumných možností by bylo před naším počítačem hlídkovat nebo jej uložit někde do trezoru. Tento postup je jistě vhodný, ale musíme být dostatečne silní, aby se našeho harddisku stejně nikdo nezmocnil.

Daleko elegantnější bude, když obsah našeho disku zašifrujeme a případný útočník pak dostane pro něj naprosto nepoužitelnou hromádku dat. Postup jak šifrovaný filesystém vytvořit si právě zde vysvětlíme.

Linux CryptoAPI

Úvod

Než se pustíme do vytvoření šifrovaného filesystému, je potřeba začít poněkud zeširoka. V dnešní době můžeme pomocí externích patchů linuxového jádra zašifrovat disk, síťové spojení atd. V tomto článku se zaměříme hlavně na Linux CryptoAPI.

Nemusíme si zde jistě dlouze vysvětlovat, o co to vlastně v šifrování jde. Pokud si v této oblasti někdo není příliš jistý, na internetu se jistě dá objevit spousta materiálů, které pomohou nejasnosti eliminovat.

Tím, že jsme přidali podporu šifrování do "kernel space", jsme získali spoustu nových možností jak důležité informace více zabezpečit. Od šifrování disků po IPsec a jiné druhy šifrování komunikace.

V současné době jsou k dispozici dvě možnosti podpory šifrování na úrovni kernelu. Je jím loop-AES a CryptoAPI, kterým se budeme zabývat dále. Obě z těchto variant umožňují použití bez nutnosti kompilace nového kernelu (stačí pouze zkompilovat příslušné moduly), a dokonce bez nutnosti restartu stroje. Oba způsoby tedy umožňují podporu šifrování v kernelu formou modulů. V našem seriálu si ukážeme jak zprovoznit CryptoAPI při kompilaci kernelu.

Loop-AES je navržen pouze pro šifrování filesystému. Pro šifrování používá Advanced Encryption Standard (AES). Jeho implementace je rychlá a pro Intel x86 procesory je dokonce přímo v assembleru (pro ostatní platformy musíme použít implementaci v jazyce C). Další informace najdeme na domovské stránce tohoto projektu http://loop-aes.sourceforge.net/.

Naopak CryptoAPI poskytuje daleko rozsáhlejší možnosti použití. Obsahuje v sobě rozhraní, které umožňuje ostatním modulům využít možnosti šifrování dat. Šifrování filesystému je pouze jednou z aplikací. Další výhodou je možnost využití 12 různých šifrovacích technik a podpora použití filesystémů šifrovaných pomocí loop-AES.

Instalace

Budeme se zde zabývat instalací s kernelem řady 2.4, v případě 2.5 je problém jednodušší, jelikož podpora je přímo součástí jádra. K instalaci CryptoAPI tedy budeme potřebovat zdrojový kód kernelu (je také dobré vědět, o jaký kernel se jedná), dále pak zdrojové kódy CryptoAPI. Zde je nutno říci, že díky lehce zavádějícím informacím na domovských stránkách projektu CryptoAPI. instalace není úplně triviální záležitostí, Možností, jak CryptoAPI nainstalovat je více. My si zde povíme o jedné z nich, která by měla fungovat.

Předpokládejme kernel 2.4.20, jistě jej spousta z nás používá. Je nutné si stahnout zdrojové kódy tohoto kernelu (pokud je na svém stroji již nemáme). Dále získáme patch z adresy: http://www.kernel.org/pub/linux/kernel/people/hvr/testing/. Pro náš příklad se bude jednat o soubor patch-int-2.4.20.1.gz. Následující postup není jedinou možností, nicméně v praxi fungoval. Tedy vzhůru do práce!

Nejprve musíma patch rozbalit a poté aplikovat na zdrojové kódy připraveného kernelu. Čili zkopírujeme jej do adresáře se zdrojovými kódy kernelu a aplikujeme následujícím příkazem:

patch -p1 < patch-int-2.4.20.1

Nyní musíme nastavit konfigurační soubor kernelu, abychom poté mohli získat potřebné moduly (nebo jádro s přímou podporou CryptoAPI). Po aplikování patche nám přibude ve výběru (jádro nejlépe nastavíme utilitou spuštěnou příkazem make menuconfig případně xconfig) další položka v menu s názvem Cryptography support (CryptoAPI). V ní je nutné zaškrtnout položky CryptoAPI support a v Crypto Devices položku Loop Crypto support. Dále si vybíráme z několika možných šifer a tzv. one-way (jednocestné) funkce. Je vhodné vybrat alespoň jednu šifru, jelikož bychom pak neměli čím šifrovat. Při výběru té správné nám částečně pomůže následující kapitola. Také nesmíme zapomenout zaškrtnout podporu Loopback device v sekci Block devices! Je to jediná položka, kterou potřebujeme a která je mimo sekci Cryptography support. Proto je celkem jednoduché ji vynechat.

Předpokládejme, že již máme vybrány všechny nutné volby. Můžeme se tedy pustit do kompilace kernelu. Postup se od tohoto okamžiku neliší od běžné praxe, proto jím nebudeme zdržovat a půjdeme dále.

Dalším nezbytným krokem je stahnutí a nainstalování programu losetup, který je součástí balíčku util-linux. Ukážeme si tedy, jak jej správně nainstalovat.

Nejdříve si musíme balíček stáhnout. Najdeme jej například na serveru ftp.kernel.org nebo na dalších mirrorech se zdrojovými kódy kernelu. Pro správný chod tohoto softwaru ještě potřebujeme patch, který najdeme například zde.

Jelikož není k dispozici patch pro nejnovější verzi util-linux, použijeme verzi 2.11r. Stáhneme tedy util-linux-2.11r.tar.gz a odpovídající patch util-linux-2.11r.patch.gz. Rozbalíme util-linux i patch a patch na nej aplikujeme běžným způsobem:

patch -p1 < util-linux-2.11r.patch

Dále postupujeme podle přiloženého souboru INSTALL, obvykle klasickou kombinací příkazů:

./configure
make
make install

Nyní máme vše připraveno a můžeme začít používat šifrované filesystémy.

Srovnání šifer z hlediska rychlosti

Výběr šifry, kterou použijeme pro náš filesystém, je jistě také důležitou volbou. Nebudeme si zde uvádět fakta o bezpečnosti jednotlivých šifer, zaprvé se to na tento server tolik nehodí a navíc by to bylo moc obsáhlé. Všem zájemcům doporučuji použít vyhledávače a najít si potřebné informace na internetu, určitě neco najdou.

Kromě bezpečnosti nás však bude zajímat i rychlost jednotlivých šifer, jelikož nikdo si nechce svůj počítač příliš zpomalovat. Hodnoty uvedené v tabulce nesouvisí přímo s CryptoAPI a dokonce nebyly získány na operačním systému Linux. Nám však mohou posloužit k porovnání jednotlivých šifer mezi sebou, o což nám jde.

U každé šifry je uveden počet zašifrovaných bytů dat za sekundu. Test byl proveden z dnešního hlediska již na zastaralém počítači (s procesorem Intel Celeron 450MHz). V dnešní době dosáhneme hodnot výrazně vyšších.

Sifra B/s
AES (Rijndael) 11751322
Blowfish 9013043
CAST5 (CAST-128) 9019403
DES 7372170
GOST 5216999
IDEA 6388278
MARS 16690115
RC5 26025058
RC6 20230270
Serpent 6982324
Twofish 10168780
3DES 2457390

Zavěr

To je pro dnešek vše. Příště si povíme něco o vytváření a používání šifrovaných filesystémů.

       

Hodnocení: 39 %

        špatnédobré        

Nástroje: Tisk bez diskuse

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

Komentáře

Vložit další komentář

6.7.2003 21:46 fb
Rozbalit Rozbalit vše patch
V čem se liší patch-int-2.4.x.1 od patch-int-2.4.x.0? Pro verzi jádra, kterou používám, 2.4.21, patch patch-int-2.4.21.1 chybí.
7.7.2003 14:33 Peter Golis | skóre: 63 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše 2.4.22-pre3
a jako je to s prirodzenou (bez zaplat z kerneli.org) podporou CryptoAPI v jadre 2.4.22-pre3 ?
8.7.2003 09:39 Petr Cernoch
Rozbalit Rozbalit vše Super!
Zda se ze se tady konecne objevilo neco po cem se uz dlouhou dobu rozhlizim. Prosim, co nejdrive dalsi dily...
8.7.2003 20:44 ales
Rozbalit Rozbalit vše pgpdisk
existuje neco jako PGPdisk pro linux?Diky
theo avatar 9.7.2003 01:23 theo | skóre: 15 | Rožnov ... hádej který?
Rozbalit Rozbalit vše super
jen houst a vetsi kapky. konecne poradny clanek o necem zajimavem.
Sine ira et studio
9.7.2003 13:11 Jitka
Rozbalit Rozbalit vše Jadro v Mandrake 9.1
Zdravim vsechny, ctu clanek (mimochodem velmi zajimavy) ale ve sve distribuci Man9.1 nemohu na ceste usr/src/ zadne jadro najit.Poradi nekdo spise zacinajici?
9.7.2003 13:41 zikar
Rozbalit Rozbalit vše Jadro v Mandrake 9.1
zda (asi tak na 100%) se ze nemas nainstalovany kernel-source. muzes overit (rpm -qa | grep kernel) ze mas jen kernel a nemas kernel-source. je to samostatny balik (rpm), pekne tucnej. takze z CD nebo po siti musis doinstalovat. zdravim, Radek
9.7.2003 13:42 Filip Kuchař
Rozbalit Rozbalit vše Re: Jadro v Mandrake 9.1
Mno, zdrojáky nejspíš nejsou nainstalovány. Takže na instalačních CD nebo FTP serveru najít něco jako kernel-source-xxxxx.rpm a nainstalovat.
9.7.2003 21:04 Aleš
Rozbalit Rozbalit vše Chyba kompilace
Při sestavení util-linux-2.11r. mi hlásí in function pivot_root undefined reference errno collect2: ld returned 1 exit status Nevíte co s tím, mám také Mandrake 9.1, při kompilaci jádra bylo vše v pořádku Díky všem
12.7.2003 09:34 kix
Rozbalit Rozbalit vše Chyba kompilace
Také mi to dělalo. Do souboru pivot_root.c (je v adresari mount) jsem pridal #include >errno.h< a kompilace prosla.
17.7.2003 10:50 Josif
Rozbalit Rozbalit vše Do clanku se asi Kdo ma problem
Kdo ma problemy s Crypto Api (napriklad mu nejde opatchovat pre-release verze jadra nebo se mu nechce cele jadro kompilovat) doporucuju LoopAES - nemusi se kompilovat s jadrem a kdys se prikompiluji moduly z balicku ciphers zvlada blowfish, twofish a i. - a co me nejvic potesilo, dokaze pracovat i v "SuSE compatibility" modu - velmi uzitecne jestli nechcete stale pouzivat SuSE kernel.
17.7.2003 10:55 Josif
Rozbalit Rozbalit vše Kdo ma problem
Pardon, zblbnul jsem nadpis. A skoro jsem zapomnel dodat, ze s loopAES nemusit pouzivat zadne prehistoricke util-linux :D Balicek obsahuje patch na 2.11z.
Nejsemtu avatar 11.3.2005 12:44 Nejsemtu | skóre: 14 | blog: Nejde Smazat
Rozbalit Rozbalit vše Aktualizace
Tento článek už je poměrně starý. Jak je to patchi na 2.4.29 (používám) nebo dokonce na 2.6.1x.x (asi časem přejdu)? ~ M ~
10.5.2005 21:05 George | skóre: 18 | blog: haluz | Usobrno
Rozbalit Rozbalit vše Re: Aktualizace
pouzivam loopAES na 2.4.27 vse OK

je to v README velmi dobre popsano. Akorat se bude muset kompilovat kernel . Pokud nema distro primo jadro AES. jde o

CONFIG_BLK_DEV_LOOP=n #standart je y

Je to primarne na jadro 2.4.xx

http://loop-aes.sourceforge.net/

Založit nové vláknoNahoru

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.