Linux CryptoFS. Petr Novický <P.Novicky@sh.cvut.cz>



Podobné dokumenty
Bc. Hynek Chmela - 1. přednáška o systému Debian Linux

Administrace Unixu a sítí

Linux připojování zařízení. 6 praktická část

Operační systémy 2. Přednáška číslo 2. Přidělování paměti

LINUX ADRESÁŘOVÁ STRUKTURA. Co to, hrome, je? V této lekci se budeme brouzdat adresáři. SPŠ Teplice - 3.V

Šifrovaný disk v Linuxu

IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

Instalace Linuxu Ubuntu v programu VirtualBox

Tomáš Borland Valenta

Operační systémy 1. Přednáška číslo Souborové systémy

Rudolf Marek. Kompilujeme jádro a aplikace (Mplayer) ALL YOUR BASE ARE BELONG TO US!

Implementace LMS MOODLE. na Windows 2003 Server a IIS 6.0

INSTALACE PRODUKTU ONTOPIA KNOWLEDGE SUITE

Připojení systémů CNC 8x9 DUAL do sítí pomocí protokolu TCP/IP (Platí od verze panelu 40.31)

RAID základní informace

Xen je volně šířený hypervisor (virtual machine monitor) pro architektury IA-32, x86, x86-64, IA- 64 a PowerPC 970.

Windows a Linux. Přednáška číslo 7

Ladění ovladačů pomocí virtuálního stroje...2 Úvod...2 Ladění ovladačů pomocí dvou fyzických počítačů...2 Ladění ovladačů pomocí jednoho fyzického

Praktické šifrování dat pomocí programu PGP

Postup instalace UMTS modemu Huawei K3765 od Vodafone (SalixOS, ZenWalk, Slackware)

Univerzita Pardubice Fakulta elektrotechniky a informatiky ISOSY Matěj Trakal

Téma 4: Práce s CentOS. Instalace softwarových balíčků pomocí yum

Úvod do OpenWRT. Ondřej Caletka. 1. března Uvedené dílo podléhá licenci Creative Commons Uveďte autora 3.0 Česko.

2. přednáška pro začátečníky

Uživatelská příručka

Střední odborná škola a Střední odborné učiliště, Hořovice

IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

POSTUP PŘIPOJENÍ POKLADNÍ TISKÁRNY PRO PRÁCI S ABRA GEN SPUŠTĚNOU NA VZDÁLENÉ PLOŠE

AIDA64 Extreme. Příručka k nastavení. v

Střední odborná škola a Střední odborné učiliště, Hořovice

Firmware USBasp pro modul AVRUSB. Milan Horkel. Parametr Hodnota Poznámka. Rozhraní USB Low Speed. Procesor ATmega8 ATmega88 Varianty překladu

Přednáška 2. Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. Úvod do Operačních Systémů Přednáška 2

Použití šifrovaných disků v Linuxu

Bootkity v teorii a praxi. Martin Dráb martin.drab@ .cz

Návod pro uživatele DS150E. Dangerfield May 2009 V3.0 Delphi PSS

Rocrail. Nejprve: Obecný úvod. Instalace

Uživatelská příručka

Správa linuxového serveru: Dokončení praxe šifrování s dm crypt/luks

GTS internet DSL. Návod nastavení modemu a spuštění služby. (platné pro Zyxel Prestige VMG1312-B30B)

RECORD IT. Uživatelská příručka

Konfigurace Nagios. Zadání: Příprava a prvotní problémy: Instalace a konfigurace serveru:

1 Správce licencí Správce licencí Správce licencí Start > Všechny programy > IDEA StatiCa > Správce licencí Soubor > Správce licencí Licence

Téma 5: Práce s CentOS II. Správa RPM balíčků

Instalace Microsoft SQL serveru 2012 Express

Instalace Debianu pomocí debootstrap

IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

1. přednáška pro začátečníky

KRONOS GUARD NET Obslužný software pro obchůzkový systém v reálném čase Active Guard. Instalace na pobočky

Instalace a konfigurace web serveru. WA1 Martin Klíma

Instalace SQL 2008 R2 na Windows 7 (64bit)

WD My Book Essential Edition

SMTPServer - Příručka

Přihlášení do VPN Univerzity Pardubice Debian GNU/Linux Lenny 32/64-bit

Souborové systémy Mgr. Josef Horálek

Národní šetření výsledků žáků v počátečním vzdělávání

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ

IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C

Vývoj programů. ÚVOD DO OPERAČNÍCH SYSTÉMŮ

PROPOJENÍ EASY-OPC SERVER A MICROSOFT EXCEL

Základy programování (IZP)

VPN tunel mezi zařízením ZyXEL ZyWALL a IPSec VPN klientem ZyXEL

GTS internet DSL. Návod nastavení modemu a spuštění služby. (platné pro Zyxel Prestige 870HN-53b)

Instalace produktu Ontopia. ver (open-source verze)

4.2. Odhlásit se Šifrování hesla Sepnutí výstupních relé Antipassback Zobrazení všech dat...

Nastavení klientských stanic pro webové aplikace PilsCom s.r.o.

Šifrování flash a jiných datových úložišť

Průvodce aplikací. Aplikaci easyeldp spusťte z nabídky Start pomocí ikony KomixFiller, kterou naleznete ve složce Komix.

Průvodce nastavením VoIP u telefonní ústředny OMEGA

Postup instalace ČSOB BusinessBanking pro MS SQL 2005/2008

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura

Sentech AL 7000 C. Instalace a ovládání programu BREATH

Nastroje na zpracovani textu:

Lekce 3 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

Zálohování pro začátečníky. Ondřej Caletka

Spuštění instalace. nastavení boot z cd v BIOSu vložení CD s instal. médiem spuštění PC. nastavení parametrů instalace (F2 čěština)

Skripty - úvod. Linux - skripty 2

Instalace nvidia Optimus v Ubuntu 14.04

Nastavení klientských stanic pro webové aplikace PilsCom s.r.o.

PSK3-20. Malý poštovní server I. Instalace

Návod pro práci s SPSS

Instrukce pro vzdálené připojení do učebny 39d

Minimální požadavky na systém Linux a Windows na jednom disku Zrušení instalace Mandriva Linuxu... 23

Dokumentace k produktu IceWarp Outlook konektor

Univerzální rezervační systém. Uživatelská příručka

Konfigurace pracovní stanice pro ISOP-Centrum verze

Messenger. Novell 1.0 UMÍSTĚNÍ DOKUMENTACE K PROGRAMU NOVELL MESSENGER. STRUČ NÁ ÚVODNÍ PŘ ÍRUČ KA

Paralelní výpočty na clusteru KMD

Doporučené nastavení prohlížeče MS Internet Explorer 7 a vyšší pro Max Homebanking PS s využitím čipové karty

Před instalací 25 Minimální požadavky na systém Linux a Windows na jednom disku Zrušení instalace Mandriva Linuxu...

OpenSSL a certifikáty

Téma 8: Konfigurace počítačů se systémem Windows 7 IV

KAPITOLA 8 TABULKOVÝ PROCESOR

Šifrování disků a TrueCrypt

Ing. Michal Martin. CODESYS v panelech firmy Weintek

Nainstaloval jsem a jak dál? Michal Turek

Práce s disky a ISO soubory

Šifrování (2), FTP. Petr Koloros p.koloros [at] sh.cvut.cz.

Souborové systémy. Architektura disku

Transkript:

Linux CryptoFS Petr Novický <P.Novicky@sh.cvut.cz>

Osnova přednášky Loop-AES Úvod Příprava, kompilace, instalace Použití Diskový oddíl Soubor Závěr Diskový oddíl s použitím semínka

Loop-AES (úvod) - šifrovaný filesystém založený na loopback zařízení (jako CryptoAPI) - pro práci s loopback zařízením používáme program losetup - balíček Loop-AES obsahuje modul (loop.o) pro podporu loopback zařízení - pro kernely řady 2.0, 2.2, 2.4 (2.4.7 a pozdější), nejnovejší řada 2.6 by měla být podporována rovněž (neověřeno!) - ověření heslem (minimálně 20 znaků), bezpečnost může být zvýše na použitím semínka (viz. dále)

Loop-AES (úvod) Typ šifrování Hashovací funkce Použitá šifra AES128 SHA-256 128b AES AES192 SHA-384 192b AES AES256 SHA-512 256b AES - použití žurnálovacího filesystému v případě filesystému v souboru je doporučeno pouze v případě, že i filesystém, kde je soubor uložen má v sobě žurnál - Klíč uchováván v RAM počítače (okamžitě vymazán, když už není potřeba) - Nepoužívat suspend-to-disk v případě aktivního šifrovaného filesystému (velké bezpečnostní riziko)!!

Instalace Loop-AES (příprava) Zdroje: URL: http://loop-aes.sourceforge.net/ Soubor: loop-aes-latest.tar.bz2 URL: ftp://ftp.kernel.org/pub/linux/utils/util-linux/ Soubor: util-linux-2.12pre.tar.bz2

Instalace Loop-AES (kernel) Nutné volby kernelu: Podpora modulů: CONFIG_MODULES=y (Loadable module support->enable loadable module support) Podpora loopback zařízení: CONFIG_BLK_DEV_LOOP=n (Block devices->loopback device support)! Tato volba musí být vypnutá, jinak Loop-AES nebude fungovat! Nepovinné volby kernelu: Automatické náhrávání modulů: CONFIG_KMOD=y (nepovinné) (Loadable module support->kernel module loader)

Instalace Loop-AES (kernel) Důvody proč kompilovat nové jadro: 1) Deaktivovat podporu loopback zařízení v kernelu. 2) Kvůli přizpůsobení zdrojových souborů kernelu použitému kernelu. 3) Kvůli přizpůsobení souboru.config použitému kernelu. 4) Kvůli přizpůsobení linků generovaných při konfiguraci kernelu. 5) Kvůli přizpůsobení hlavičkových souborů generovaných při kompilaci kernelu.

Instalace Loop-AES (cesty) Vyhledávání zdrojových souborů kernelu, probíhá postupně v adresářích: /lib/modules/`uname -r`/build /usr/src/linux /usr/src/linux-`uname -r` /usr/src/kernel-source-`uname -r` Nastavení cesty pomocí proměnné prostředí LINUX_SOURCE LINUX_SOURCE=/moje/podivna/cesta/ke/zdrojakum Vždy je nejlepší tuto cestu explicitně zadat!

Instalace Loop-AES (cesty) Nastavení kořenového adresáře použitého při instalaci. Pomocí proměnné prostředí INSTALL_MOD_PATH INSTALL_MOD_PATH=/cesta/k/cilovemu/root/adresari Makefile zjisťuje při instalaci typ procesoru. V případě, že se jedná o Pentium nebo lepší x86 procesor se použije optimalizovaná implementace v assembleru. Pokud se jedná o x86 procesor starší než Pentium nebo je jedná o jinou architekturu, použije se defaultní implementace v programovacím jazyce C. V případě potřeby můžeme použití optimalizované implementace v assembleru potlačit nastavením proměnné prostředí PENTIUM_ASM: PENTIUM_ASM=n

Instalace Loop-AES (kompilace) Pokud máme vše správně nastavené Loop-AES zkompilujeme a nainstalujeme příkazy (pod uživatelem root): # make clean # make Posledním příkazem vytvoříme modul loop.o, který je obvykle nainstalován do adresáře /lib/modules/`uname -r`/block Pro použití Loop-AES nepotřebujeme žádné další moduly, protože loop.o má již v sobě obsaženou podporu šifry AES

Instalace Loop-AES (util-linux) Pro vytvoření a používání šifrovaného diskového oddílu ješt ě potřebujeme upravené verze programů: mount, umount, losetup, swapon and swapoff Pro naše potřeby stačí nainstalovat pouze tyto příkazy. Instalace celého balíčku util-linux se nedoporučuje. Instalaci provedeme pomocí následujících kroků: $ bzip2 -d -c util-linux-2.12pre.tar.bz2 tar xvf - $ cd util-linux-2.12pre $ patch -p1 < /cesta/k/loop-aes/util-linux-2.12pre.diff $ CFLAGS=-O2./configure $ make SUBDIRS="lib mount" $ cd mount Následující sadu příkazů již musíme provést pod uživatelem root.

Instalace Loop-AES (util-linux) # install -m 4755 -o root mount umount /bin # install -m 755 losetup swapon /sbin # rm -f /sbin/swapoff && \ ( cd /sbin && ln -s swapon swapoff ) # rm -f /usr/share/man/man8/{mount,umount,losetup, swapon,swapoff}.8.gz # install -m 644 mount.8 umount.8 losetup.8 /usr/share/man/man8 # install -m 644 swapon.8 swapoff.8 /usr/share/man/man8 # rm -f /usr/share/man/man5/fstab.5.gz # install -m 644 fstab.5 /usr/share/man/man5 # mandb

Otestování funkčnosti Loop-AES Po kompilaci ovladače loop.o a programu losetup můžete provést test, zda všechno funguje tak jak má. Toto provedeme pomocí příkazu spuštěného v adresáří se zdrojovými soubory Loop-AES pod uživatelem root: # make tests Pokud na konci výpisu najdeme zprávu: *** Test results ok *** je vše v pořádku. Pokud se test selže, pak Loop-AES nepoužívejte, je totiž nejakým způsobem poškozený!

Použití Loop-AES (diskový oddíl) 1. příklad ukazuje jak použít šifrovaný diskový oddíl. Diskový oddíl použití v našem případě je /dev/hda3, který chceme připojit jako adresář /cryptohd. Loopback zařízení /dev/loop0 s 128-bitovou šifrou připojené na /dev/hda3 nastavíme pomocí příkazu: # losetup -e AES128 -T /dev/loop0 /dev/hda3 Program losetup se Vás zeptá na heslo (minimálně 20 znaků!), které si samozřejmě musíte zapamatovat. Dále je vhodné vytvořit na tomto novém diskovém oddílu nejaký souborovém systém, v našem případě vytvoříme třeba ext3. # mkfs.ext3 /dev/loop0

Použití Loop-AES (diskový oddíl) Nyní již můžeme /dev/loop0 odpojit: # losetup -d /dev/loop0 Nejlepší způsob použití tohoto oddílu je vložení nového řádku do souboru /etc/fstab: /dev/hda3 /cryptohd ext3 defaults,noauto, loop=/dev/loop0,encryption=aes128 0 0 Oddíl můžeme poté připojit (resp. odpojit) pomocí příkazu: # mount /cryptohd, resp. # umount /cryptohd Šifrovaný diskový oddíl můžeme případně připojit rovnou příkazem: # mount -t ext3 /dev/hda3 /cryptohd -o loop=/dev/loop0, encryption=aes128

Použití Loop-AES (soubor) 2. příklad ukazuje vytvoření souborového systému uvnitř zašifrovaného souboru. Postup je víceméně obdobný předchozímu: Nejdříve si připravíme soubor, ve kterém si náš souborový systém vytvoříme: # dd if=/dev/urandom of=/cryptofile bs=1m count=500 Další kroky jsou již známe: # losetup -e AES128 -T /dev/loop1 /cryptofile # mkfs.ext3 /dev/loop1 # losetup -d /dev/loop1 Do souboru /etc/fstab přidáme řádek: /cryptofile /cryptohd ext3 defaults,noauto,loop=/dev/loop1, encryption=aes128 0 0 Práce s takto vytvořeným souborovým systémem se od předchozího příkladu jinak vůbec neliší.

Použití Loop-AES (seed) Poslední příklad ukazuje vytvoření souborového systému chráněného nejen heslem, ale také semínkem. Nejprve si vygenerujeme semínko: $ head -c 15 /dev/urandom uuencode -m - head -n 2 \ tail -n 1 Semínko může vypadat následovně: hh7evaflbir9yo3+ssyv Dále zaplníme diskový oddíl náhodnými daty: $ head -c 15 /dev/urandom uuencode -m - head -n 2 tail -n 1 losetup -p 0 -e AES128 /dev/loop2 /dev/hda3 $ dd if=/dev/zero of=/dev/loop2 bs=4k conv=notrunc \ 2>/dev/null $ losetup -d /dev/loop2

Použití Loop-AES (seed) Nyní už můžeme nastavit loopback zařízení pro použití se semínkem. Semínko zadáme programu pomocí parametru -S: $ losetup -e AES128 -T -S hh7evaflbir9yo3+ssyv \ -C 100 /dev/loop2 /dev/hda3 $ mkfs.ext3 /dev/loop2 $ losetup -d /dev/loop2 Nový záznam v souboru /etc/fstab musí v tomto případě obsahovat navíc semínko za parametrem pseed= a počet iterací hesla za itercountk=: /dev/hda3 /cryptohd ext3 defaults,noauto,loop=/dev/loop2, encryption=aes128,itercountk=100, pseed=hh7evaflbir9yo3+ssyv 0 0

Děkuji vám za pozornost! Případné otázky zodpoví můj tiskový mluvčí Fanda Kocourek...