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



Podobné dokumenty
Open Source a šifrování dat OFTE. Pavel Machula

Správa linuxového serveru: Šifrování s dm crypt/luks

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

Šifrovaný disk v Linuxu

Linux CryptoFS. Petr Novický

Plně šifrovaný disk na moderním systému

Šifrování disků a TrueCrypt

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

Zálohování v MS Windows 10

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

Podzim Boot možnosti

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

Slovník pro Acronis True Image 2017

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

Administrace Unixu a sítí

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

RAID základní informace

Správa zařízení Scan Station Pro 550 a Servisní nástroje zařízení Scan Station

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

Šifrování databáze. Popis šifrovací utility

Šifrování. Tancuj tak, jako když se nikdo nedívá. Šifruj tak, jako když se dívají všichni! Martin Kotyk IT Security Consultnant

Systémové požadavky Xesar

ICZ - Sekce Bezpečnost

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

Operační systémy 1. Přednáška číslo Struktura odkládacích zařízení

Šifrování disků... (nejen) v Linuxu. Milan Brož mbroz@redhat.com

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

Úvod do Linuxu SŠSI Tábor 1

Testovací protokol. webový generátor PostSignum. sada PIIX3; 1 GB RAM; harddisk 20 GB IDE OS: Windows Vista Service Pack 2 SW: Internet Explorer 9

Operační systémy 2. Struktura odkládacích zařízení Přednáška číslo 10

Systém souborů (file system, FS)

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

PŘECHOD NA FIREBIRD 3.0 V PROSTŘEDÍ WINDOWS

Souborové systémy a logická struktura dat (principy, porovnání, příklady).

Uživatelská příručka

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

Bezpečnost SingleCase

2.2 Acronis True Image 19

Návod na vytvoření Počáteční zálohy (Seed Backup) v aplikaci Whitestore Pro / Lite

Instalace Microsoft SQL serveru 2012 Express

Souborové systémy. Architektura disku

Operační systémy (OS)

DŮLEŽITÉ INFORMACE, PROSÍM ČTĚTE!

BM Software, Databáze Docházky 3000 na NAS serveru (pro MySQL) Němčičky 84, Němčičky u Břeclavi. Úvodní informace:

EVIDENCE DOCHÁZKY SE ČTEČKOU INTAGRAL. příručka uživatele

Středoškolská technika Encryption Protection System

Testovací protokol čipová karta Oberthur Id-One Cosmo V5.4

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

Generování žádosti o certifikát Uživatelská příručka

Paměťová média. Motto dne: Z Berkeley vzešly dvě důležité věci LSD a BSD. Nevěříme, že je to náhoda.

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

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

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Univerzita Pardubice Fakulta elektrotechniky a informatiky ISOSY Matěj Trakal

Informatika / bezpečnost

Použití aplikace OmniPass a čtečky otisku prstů

Instalace OS, nastavení systému

SUSE Linux Enterprise Desktop 10

Bezpečnost. Michal Dočekal

Uzamykání/špatný PIN. Uzamčeno a čeká na zadání kódu PIN.

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

Návod k práci s programem MMPI-2

Návod pro šifrování přenosných disků Vysoká škola polytechnická Jihlava

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

Testovací protokol USB Token Cryptomate

Patrol Management System 2.0

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

OpenSSL a certifikáty

Systém zabezpečení dat

Zálohování ů pomocí klienta Mozilla Thunderbird

Správa stanic a uživatelského desktopu

Instalace Linuxu Ubuntu v programu VirtualBox

Aplikace NAM tracker pro ios. Příručka platí pro verzi NAM trackeru 1.1.0

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

Souborové systémy Mgr. Josef Horálek

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

GDPR v aplikaci Nabídky Plus

Připojení ke vzdálené aplikaci Target 2100

Šifrování systémového disku C: a datového disku D: ve standardním image

Návod na instalaci HW certifikátu aplikace PARTNER24

PŘECHOD NA FIREBIRD 3.0 V PROSTŘEDÍ WINDOWS

Testovací protokol. 1 Informace o testování. 2 Testovací prostředí. 3 Vlastnosti generátoru klíčů. Příloha č. 11. Testovaný generátor: Portecle 1.

Výsledky bezpečnostního auditu TrueCryptu. Ing. Josef Kokeš. CryptoFest 2015

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

Návod na používání webmailu

Instalace SQL 2008 R2 na Windows 7 (64bit)

Postup obnovy a nastavení nového připojovacího certifikátu pro úložiště SÚKL

Šifrování dat d. a komu tím prospějete? Milan Brož LinuxAlt 2009 mbroz@redhat.com. Brno

1. Informace a informatika

Programátor AVRProg USB v3 MK II Eco Manuál

I.CA SecureStore Uživatelská příručka

Postup přechodu na podporované prostředí. Přechod aplikace BankKlient na nový operační systém formou reinstalace ze zálohy

Open Source a šifrování dat OFTE

Obsah. Kapitola 1 BIOS 9. Kapitola 2 Start počítače a POST testy 13. Kapitola 3 Setup 21. Úvod 7

- PC musí být připojené v lokální síti - je bezpodmínečně nutné, aby aplikace Outlook nebyla aktivní)

Motorola Phone Tools. Začínáme

Technologie počítačových sítí 1. cvičení

Souborový systém NTFS (New Technology File System) Jan Šváb

František Hudek. červen ročník

Vývoj, výroba, prodej a montáž docházkových a identifikačních systémů. Databáze Docházky 3000 na šifrovaném disku (pro MySQL)

Transkript:

Home» Články» Praxe» Správa linuxového serveru» Správa linuxového serveru: Dokončení praxe... Předchozí kapitola Zpět na obsah Následující kapitola Správa linuxového serveru: Dokončení praxe šifrování s dm crypt/luks Minule jsem začal s praxí šifrování s dm crypt/luks, dnes toto téma dokončím. Budu se věnovat například šifrování celého systému. Pátek, 30. duben 2010 Autor Michal Dočekal známka 2,00 Záloha hlavičky Pro uložení základních informací o šifrovaném svazku využívá LUKS hlavičku, kterou vytváří na začátku šifrovaného svazku. Zde se nachází mj. i úložiště klíčů. Jelikož hlavní klíč (master key) sloužící k dešifrování LUKS svazku leží právě v úložišti klíčů (přesněji, je zašifrován jedním nebo více uživatelskými klíči), toto umístění je nejslabším článkem řetězu. Případné přepsání hlavičky znamená jednoznačně ztrátu všech dat na šifrovaném svazku, nemáte li někde po ruce zálohu. Zálohovat hlavičku možné samozřejmě je, avšak je třeba dodat, že s příslušnou zálohou je třeba zacházet opatrně pokud se časem rozhodnete revokovat některý z přístupových klíčů, třeba z důvodu jeho kompromitace, máte stále zálohu, kde je hlavní klíč šifrovaný oním revokovaným klíčem. Proto je třeba zvážit, zda li se vám záloha hlavičky vůbec vyplatí vzhledem k bezpečnosti, a pokud ano, je jednoznačně třeba takovou zálohu bezpečně uložit. Abyste mohli zálohu provést, musíte zjistit, jak velká hlavička je. Za tímto účelem stačí údaje z hlavičky vypsat: # cryptsetup luksdump /dev/svazek LUKS header information for /dev/svazek Version: 1 Cipher name: aes Cipher mode: cbc essiv:sha256 Hash spec: sha1 Payload offset: 2056 MK bits: 256 MK digest: 63 7b 35 48 ec 3d e6 f5 fb 83 04 22 75 22 d5 4a aa 17 bb 75 MK salt: 2a 01 a3 fa d2 96 17 c9 5a 4c 2e 63 72 27 1c 70 25 1f e6 27 2e 7a 4c 7c f7 55 fe 8e af ee 1f 2d MK iterations: 10 UUID: 0007771a 83e7 4256 b31b d6a5cbb41663 Key Slot 0: ENABLED Iterations: 211800 Salt: 44 82 02 d6 f5 87 41 d9 1c 76 9c aa a3 88 85 8c 71 a9 31 22 a3 15 3f b4 c6 e5 c1 76 4b 30 c2 c6 1/5

Key material offset: 8 AF stripes: 4000 Key Slot 1: DISABLED Key Slot 2: DISABLED Key Slot 3: DISABLED Key Slot 4: DISABLED Key Slot 5: DISABLED Key Slot 6: DISABLED Key Slot 7: DISABLED V tomto výpisu si povšimněte položky Payload offset, která činí v mém případě 2056 bloků (ve vašem případě může být hodnota jiná). Tuto hodnotu následně dosaďte do následujícího příkazu: dd if=/dev/svazek of=zaloha.hlavicky count=2056 Pro obnovu hlavičky postačí prohodit ifa of. Pokud se vrátím zpět k výpisu LUKS hlavičky, upozorním vás ještě na několik věcí. Z výpisu je jasně patrná šifra (cipher name), šifrovací mód (cipher mode), použitá hash a obsazení jednotlivých "zásuvek" (slotů) v úložišti pro klíče. Budete li váhat, proč i po tom, co si zvolíte za hash při operaci luksformatněco jiného než SHA1, zůstane v kolonce "hash spec" stále SHA1 místo vámi zvolené hashe, je to kvůli implementaci PBKDF2, funkci pro posílení uživatelského hesla. Ta pracuje tak, že z uživatelského hesla získá hash, poté získá hash z takto vzniklé hashe, a toto se mnohokrát opakuje v cyklu (v případě klíče ve slotu 0 to bylo 211800 iterací viz výpis výše). Tím se trošku zkomplikuje brute froce útok na dané heslo, protože každý pokus pak musí projít stejným počtem iterací. Naneštěstí je v implementaci funkce PBKDF2 u LUKS na pevno nastavena hash SHA1, takže ať už si zvolíte jakoukoliv hash, v rámci LUKS se pro klíč bude používat SHA1. Dešifrování zařízení při bootu U některých svazků se vám určitě hodí jejich inicializace při startu (při šifrování celého systému se tomu nevyhnete). K tomu slouží v řadě distribucí konfigurační soubor /etc/crypptab. Bohužel, jeho syntax se mezi distribucemi může lišit. V Debianu je syntax následující: # <target name> <source device> <key file> <options> cswap /dev/sda1 /dev/urandom swap chome /dev/sda3 none luks Prvním parametrem je název dešifrovaného svazku, který bude k dispozici v /dev/mapper po úspěšném "odemčení" svazku. Druhým parametrem je zdrojové zařízení, na kterém je šifrovaný svazek. Třetí parametr označuje klíčový soubor. Všimněte si, že v případě šifrovaného swapu je možné generovat klíč náhodně při každém startu pomocí generátoru náhodných čísel /dev/urandom. Posledním parametrem jsou volby, kterými je možné inicializaci šifrovaného svazku řídit. Tou nejdůležitější pro vás je asi volba luks, která označuje LUKS svazek. Bez udání této volby se použije rozhraní dm cryptbez LUKS rozšíření. Inicializace šifrovaných svazků probíhá při zavádění systému, tudíž vás systém může vyzvat k zadání hesla už v této fázi. Samotné připojení souborového systému na dešifrovaném svazku je třeba obstarat ve fstab: /dev/mapper/cswap swap swap defaults 0 0 /dev/mapper/chome /home ext3 defaults,noatime 0 0 2/5

Šifrování celého systému Šifrování celého systému možné je, s výjimkou obrazu jádra, initrd a zavaděče. To jsou komponenty, které musí zůstat nešifrované, jinak se systém nezavede. Z tohoto důvodu je třeba izolovat samostatný oddíl pro /boot. Vše ostatní včetně kořenového adresáře je možné šifrovat. Zejména na laptopech bývá kvůli hibernaci ideální schovat swap (kam se ukládá obraz paměti) do LVM nad zašifrovaným svazkem. V případě šifrování celého systému se nevyhnete vytvoření iniciálního ramdisku (initrd), kde musí být mj. samotný nástroj cryptsetup (moduly pro souborový systém, diskové řadiče a šifrování mohou být samozřejmě zakompilovány do jádra). V rámci initrd je třeba zajistit načtení nutných modulů, což jsou moduly zahrnující modul se šifrovacím algoritmem (např. aes i586), modul s šifrovacím módem (např. xts), dále pak dm crypta dm mod. V Debianu se naštěstí tato konfigurace provádí z velké části automaticky. Už po instalaci cryptsetupu dojde k automatické úpravě iniciálního ramdisku, který získá podporu pro dešifrování kořenového svazku. Tento "automat" však nefunguje úplně vždycky korektně, resp. ne vždy pochopí, co správce zamýšlí. Předně, v době generování iniciálního ramdisku je třeba mít zavedené všechny moduly potřebné pro dešifrování kořenového svazku (ideálně by daný svazek měl být připojen). Dále je třeba adekvátně upravit /etc/crypttaba /etc/fstab. Poté je třeba nechat znovu vygenerovat iniciální ramdisk a upravit zavaděč, aby jádru předal vhodný parametr root=(třeba /dev/mapper/root). Instalátor Debianu umí vytvořit šifrovaný systém i s kořenovým svazkem. Problémem je, jak už bylo zmíněno dříve, nastavení, které neumožňuje použít lepší šifrovací mód než cbc essiv. Jelikož šifrovací mód nelze na existujícím šifrovaném svazku jen tak změnit, je lepší celý proces provést ručně. Já se zaměřím na situaci, kdy již máte systém nainstalovaný, a chcete jej zašifrovat. Prvním krokem by mělo být šifrování swapu tento krok je již naznačen výše. Samotná příprava a vytvoření šifrovaného svazku byla probrána v minulém díle. Varoval bych vás snad jen před různými návody na rychlé zašifrování nešifrovaného oddílu pomocí nástroje dd. Uvědomte si, že operace luksformatpřepíše začátek daného oddílu a samotná LUKS hlavička oddíl o něco zmenší (tj. souborovému systému by to uřízlo konec). Druhým krokem může být zašifrování všech ostatních svazků s výjimkou kořenového. Bohužel mi není známa spolehlivá metoda zašifrování nešifrovaného svazku (alespoň ne, jedná li se o LUKS svazek). Z tohoto důvodu se asi nevyhnete přesunům dat mimo budoucí šifrovaný svazek a pak zpět, což ovšem není z hlediska bezpečnosti vůbec ideální, jelikož citlivá data se během tohoto procesu přesouvají na další médium toto médium, stejně jako i původní svazek, je třeba ošetřit tak, aby citlivá data již nebylo možné obnovit (viz bezpečné mazání v závěru článku). Třetím krokem je příprava zašifrovaného kořenového svazku. Ideální je, pokud máte možnost budoucí šifrovaný svazek připojit přímo za běhu (moduly do iniciálního ramdisku se pak načtou automaticky). Pokud tuto možnost nemáte, je třeba přidat všechny potřebné moduly (viz výše) do konfiguračního souboru /etc/initramfs tools/modules. Předpokladem je nainstalovaný balíček initramfs tools. Dále je třeba vytvořit záznam v konfiguračním souboru /etc/crypttab: root /dev/zarizeni none luks Upravte si /dev/zarizenina disk či oddíl pro zašifrovaný kořenový svazek. 3/5

Adekvátně je třeba upravit /etc/fstab. Tam můžete mít, kupříkladu, následující řádek: /dev/hda3 / ext3 noatime,errors=remount ro 0 1 Původní zařízení (v tomto výpisu by to bylo /dev/hda3) nahraďte cestou k blokovému zařízení "dešifrovaného" svazku, tedy /dev/mapper/root. Výsledek by měl vypadat takto: /dev/mapper/root / ext3 noatime,errors=remount ro 0 1 V tuto chvíli by mělo být téměř vše připraveno, tudíž můžete zkusit vygenerovat iniciální ramdisk, a to provedete následujícím příkazem: update initramfs k all u Následuje poslední úprava úprava konfigurace zavaděče, kde je třeba kořenový oddíl (typicky je předávaný jádru v hodnotě parametru root=) zaměnit za /dev/mapper/root. Nyní již zbývá data z kořenového oddílu přesunout, z oddílu vytvořit šifrovaný svazek a na ten data přesunout zpět. Nejpohodlněji se to provádí z nějaké live distribuce, třeba z mého oblíbeného System Rescue CD. Poté proveďte reboot, a pokud jste nastavili všechno správně, systém by měl naběhnout, dotázat se na příslušná hesla a zpřístupnit šifrované svazky. Bezpečné mazání V souvislosti se šifrováním by bylo dobré probrat také bezpečné mazání, respektive problém související s tím, jak se bezpečně zbavit citlivých dat tak, aby nebylo možné je obnovit, zejména pak z magnetických záznamových zařízení (jako jsou např. pevné disky), ze kterých je teoreticky možné se speciálním vybavením obnovit i předchozí záznamové vrstvy. To je dáno tím, že magnetický záznam bitů zapsaných na stejnou pozici se zcela nepřekrývá. Za tímto účelem byl vytvořen nástroj shred, který opakovaně přepíše zvolený soubor různými vzorci tak, aby nebylo možné data obnovit. Jelikož v unixových systémech by mělo platit, že vše je soubor, lze tento nástroj použít i pro jakékoliv blokové zařízení. Problém může nastat u normálních souborů uložených na žurnálovacích souborových systémech, kde samotný žurnál může průběh této operace narušit. Dlužno dodat, že na souborových systémech, které nepoužívají plné žurnálování, ale pouze žurnálování metadat, by s touto operací problém být neměl. Zálohy a bezpečnost šifrování Ti, kdo podstupují celé martyrium se šifrováním, tak obvykle činí proto, že raději o data přijdou, než aby se dostala do nepovolaných rukou. Samotné šifrování komplikuje záchranné operace a zapomenutím hesla nebo zničením či poškozením média se šifrovacím klíčem dojde de facto ke ztrátě dat. Nehledě na to, že samotný dm crypt a LUKS jsou software jako každý jiný, a chyba v nich nebo chyba jinde v jádře být může. I data na šifrovaných svazcích je možné zálohovat. Ale samotné zálohování citlivých dat je problém má li šifrování smysl, musí být adekvátně zabezpečené i zálohy, tj. buď také šifrované, nebo bezpečně uložené. Bezpečnost šifrování Šifrování má mnoho úskalí a slabých míst. Vždy samozřejmě záleží na tom, jaká data a před kým/čím je chráníte. Z toho vám pak vyplynou možní útočníci i jejich znalosti či možnosti. Případné útoky mohou být náhodné (zloděj odnese něčí laptop za účelem prodeje hardwaru) nebo cílené (útočník si počká, až necháte 4/5

zapnutý laptop s přihlášeným uživatelem a přístupem k citlivým datům bez dozoru a v té chvíli vám ho sebere nebo si data rychle vytáhne). Šifrování dává jeho uživatelům jistou iluzi absolutního bezpečí data jsou šifrována nejmodernější a nejsilnější šifrou, dlouhým a komplexním klíčem, za pomoci špičkového softwaru. Problémem je, že samotné šifrování není synonymem pro fyzické zabezpečení dat, je pouze jedním z jeho nástrojů. V následujících bodech se vám pokusím nastínit některé možné útoky na diskové šifrování a možnosti prevence, pokud nějaké jsou: útok na nešifrovaný /boot útočník může modifikovat iniciální ramdisk, aby ukládal zadané heslo, a poté si jej vyzvednout; obrana nosit /bootna flash disku a zavádět systém z něj, nebo při každém startu ověřovat kontrolní součty kamera či útočníkovo oko sledující zadání hesla; obrana dávat si pozor při zadávání hesla, možné kompromitované heslo revokovat či používat flashdisk s klíčem HW keylogger útočník může nasadit štěnici mezi klávesnici a počítač, čímž odposlechne heslo; obrana zajistit fyzickou bezpečnost počítače, používat flashdisk s klíčem cold boot attack útočník může získat heslo přímo z RAM, má li fyzický přístup k počítači; obrana zajistit fyzickou bezpečnost počítače, vypínat nebo hibernovat počítač když ho není třeba, nepoužívat suspend u laptopů, pokud v rámci suspendu nedojde k výmazu hesel z paměti fyzický útok či nátlak na znalce hesla viz oblíbený komiks ; obrana záleží na typu útočníka, ideální je používat kromě hesla i klíčový soubor (key file) třeba na flash disku a ten včas zničit, popř. používat popiratelné šifrování (což LUKS vzhledem k hlavičce rozhodně není) Předchozí kapitola Zpět na obsah Následující kapitola Odkazy Pokud si chcete přečíst více o této problematice, navštivte tyto odkazy: Encrypting an existing Debian Lenny Installation LUKS FAQ Přidat názor Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích najdete v nápovědě. Diskuzi můžete sledovat pomocí RSS kanálu 5/5