Ubuntu és Bitlocker – Megférnek együtt?

titkosítás illusztráció
Mint azt évek óta jól tudjuk, az Ubuntu és a Windows egész jól megférnek egymás mellett. De mi a helyzet akkor, ha lemeztitkosítást használunk?

Vannak olyan körülmények, ahol elkerülhetetlen, sőt egyenesen kötelező valamilyen lemeztitkosítási megoldás használata.

Gondolhatunk itt akár a laptopunkon lapuló személyes dokumentumokra, forráskódokra, levelezésre, jelszavakra, hosszan sorolhatnám a listát. Egyszóval bármire, ami számunkra fontos és nagyon nem szeretnénk, ha valamilyen baleset folytán idegen kezekbe kerülne. Akár úgy, hogy szándékosan lába kél a gépünknek, de az is lehet, hogy csak elhagytuk valahol, és valaki jóhiszeműen bekapcsolja, hátha megismerheti belőle a gazdáját.

Ebben az esetben nem maga az adat az érték, hiszen mint minden fontos dologról, erről is van több, egymástól független mentésünk. Most azt szeretnénk, hogy idegenek fizikai hozzáférés birtokában se tudják megkaparintani az adatainkat. Mindezt úgy, hogy Windows 10 és Ubuntu 18.04 is van telepítve párhuzamosan.

Természetesen, mint minden komplex védelmi megoldás, a fizikai hozzáférés elleni védelem is több rétegből épül fel. Ebben a cikkben nem áll módomban ezeknek a rétegeknek a tárgyalása, így csak a szoftveres lemeztitkosításokról lesz szó.

Most elsősorban a Windows által használt Bitlocker és az Ubuntu (18.04) közötti esetleges (in)kompatibilitásra fókuszálok. A cikkhez mind Ubuntuból, mind Windowsból magyar nyelvű változatot használok.

Fontos: a megoldást nem próbáltam valódi TPM chippel rendelkező gépen (ha nem tudsz róla, hogy lenne a gépedben, akkor bizonyára nincs). Előfordulhat, hogy a TPM chip jelenléte megkeveri a kártyákat, így nem biztos, hogy működni fog a módszer. Mindenesetre most külön is fel szeretném hívni a figyelmedet arra, hogy saját felelősségedre próbálod ki az itt leírtakat, bárminemű adatvesztés következménye csak téged terhel.

Teljesítmény: Egy modern CPU, amiben van AES gyorsítás, szinte észre sem veszi a folyamatos lemeztitkosítást. Cserébe meg kell bíznod a CPU gyártójában. Természetesen hardveres gyorsítás mellett is van valamekkora plusz terhelés, de az adatbiztonságért cserébe elhanyagolható.

Windows 10

Telepítés

Mielőtt bármit elkezdünk, fontos tudni, hogy a Bitlocker szolgáltatás nem érthető el az otthoni felhasználóknak szánt Home kiadásban. Ha ilyenünk van, akkor másféle megoldás után kell néznünk.

Telepítésünket a megszokott sorrendben végezzük, tehát telepítsük előbb a Windowst. Ha tiszta lemezre telepítünk, akkor hagyjuk, hogy ő az alapértelmezései szerint csinálja meg a partíciókat és mindent, ami jól esik neki, ebbe nem szükséges belenyúlni. A telepítés után járjuk körbe az illesztőprogramok telepítésének szeánszát is, bizonyosodjunk meg róla, hogy minden működik.

Particionálás

Szerencsére a Windows egy ideje már ismeri a partíciók online átméretezését. A Lemezkezelő segédprogrammal csípjünk le egy jókora darabot az Ubuntu számára a C: meghajtóból. Ezt az üres helyet hagyjuk innentől érintetlenül.

Bitlocker beállítása

Amennyiben számítógépünk nem rendelkezik TPM 1.2 chippel, a Csoportházirendben engedélyezni kell a TPM nélküli rendszerindítást:

  • Írjuk be a startmenü keresőjébe, hogy "Csoportházirend", amire megtalálja a szerkesztőt.
  • Navigáljunk el Helyi számítógép → Számítógép konfigurációja → Felügyeleti sablonok → Windows-összetevők → Bitlocker meghajtótitkosítás → Operációsrendszer-meghajtók ágra. Itt a "További hitelesítés megkövetelése indításkor" házirendet engedélyezzük és ha nem lenne pipa a "Bitlocker engedélyezése kompatibilis TPM nélkül" előtti dobozban, akkor tegyünk egyet oda.
  • Az OK gombra kattintva engedélyezzük a házirendet.
  • Bitlocker csoportházirend

    Most engedélyezzük a C: meghajtóra a Bitlockert. A varázsló (valószínűleg) meg fogja kérdezni, hogy milyen titkosítási módot akarsz használni. A Windows 10 1511-es verziójában elérhető az ún. XTS-AES, ami „további integritástámogatást kínál, de nem kompatibilis a Windows korábbi verzióival”.

    Itt nyugodtan dönts a preferenciáidnak megfelelően, Linux alatt nem okoz gondot se az újabb, se a régebbi titkosítási mód használata. A varázsló többi része egyértelműen végigvezet minket a folyamaton. Ne felejtsd el a Bitlocker helyreállító kulcsát elmenteni valami biztos helyre. Már csak azért is, mert találkoztam olyan helyzettel, hogy a rendszer helyreállítást csak akkor lehetett egyáltalán megkezdeni, ha a Bitlocker kulcsot adod meg és nem a jelszót.

    Bitlocker titkosítás típusa

    Fontos, hogy vidd végig a teljes folyamatot: Bitlocker beállítása, próba újraindítás, majd várd meg míg befejeződik a lemeztitkosítás folyamata.

    Ubuntu

    Telepítés

    Az Ubuntu sajnos még(?) nem tud olyat, hogy futás közben titkosítja maga alatt az adatokat. Így telepítéskor kell erre felkészülnünk.

    Tiszta, egyedüli rendszerként telepítve az Ubuntu fel is ajánlja az adattitkosítást. Itt azonban kicsit gépészkednünk kell.

    Ubuntu Telepítő - Nem tud titkosítást

    Indítsunk el egy particionáló programot. Én a GPartedet szeretem és használom. Hozz létre egy új partíciót legalább 256 MB méretben, de lehet nagyobb is. Ez lesz a /boot, ezt nem fogjuk titkosítani. Ide kerül a Grub és a kernel. Majd hozz létre a maradék helyen egy formázatlan partíciót.

    Következő lépésben indítsd el az Ubuntu telepítőt és egészen a particionálás részig menj el. A telepítő ismer néhány partíció konfigurációt, amihez tud megoldást ajánlani, de sajnos az általunk kialakítani kívánt konfigurációt nem ismeri. Válasszuk a „Valami más" opciót.

    A 256 MB-os partíciót válasszuk ki és jelöljük meg /boot-nak. A másik, formázatlan partíciót pedig használjuk „Fizikai kötet titkosításhoz". Ennek beállításakor kell megadnunk a titkosításhoz használt kulcsot. Legyen minél bonyolultabb és hosszabb, de ha elfelejted, annyi neked. Így gyakorlatilag egy LUKS partíció jött létre.

    Ha minden rendben, akkor gondolkozik egy kicsit a telepítő, majd a partíciók listájának elején megjelenik egy új bejegyzés olyasmi néven, hogy /dev/mapper/_crypt. Ide fog kerülni a /, szóval jelöld ki az új bejegyzést, majd kattints újra a módosít gombra és jelöld ki /-nek.

    Némi gondolkodás után a telepítő elfogadja a változtatásokat, majd kattinthatsz is a telepítés gombra. Innentől minden olyan, mint ahogy már megszoktad.

    Indítás

    Az Ubuntu indításkor bekéri a titkosításhoz használt kulcsot, majd elindul. Innentől kezdve minden pont ugyanolyan, mintha nem csináltál volna semmit.
    Ubuntu indítása LUKS-al

    A Windows indításakor sem szabad, hogy bármilyen változás történjen. Indításkor a rendszer bekéri a Bitlocker jelszót, majd a megszokott módon betöltődik.
    Windows indítása Bitlockerrel

    Adatok olvasása

    Nyilvánvalóan szeretnéd az adatokat a két rendszer között megosztani. Mivel a Windows nem képes a LUKS + ext4 olvasására (LibreCrypt nem játszik), ezért Ubuntuból próbáljuk meg elérni a Windowst.

    Ehhez szükségünk lesz a dislocker konzolos alkalmazásra. Telepíthetjük a megszokott módokon, benne van a tárolóban.
    apt install dislocker

    Ideiglenes felcsatolás

    Ha csak ideiglenesen szeretnénk a Bitlocker partíciónkat valahova felcsatolni, akkor a
    dislocker -V /dev/<lemez> -u -- /mnt/<valahol>
    paranccsal elérhetővé teszed a Bitlocker partíciót olvasásra. Itt keletkezik egy dislocker-file, aminek a mérete pontosan akkora, amekkora a Bitlocker partíció.

    Ahhoz, hogy ebből a fájlból tudjunk olvasni, kell egy
    mount -o loop -t ntfs /mnt/<valahol>/dislocker-file /media/Win10
    parancs. Innentől szabadon olvasható és írható az adott partíció. Ja, és működik Bitlocker-to-Go eszközökkel is.

    Indításkori felcsatolás

    Az indításkori felcsatolás következő verziójához systemd szükséges (ha nem tudod az mi, akkor van). Ha neked nincs, akkor számodra nem teljes a leírás.

    Először is, vegyük fel a Bitlockerrel titkosított kötetet az /etc/fstab állományba. Itt /dev/sda2 lesz ez a kötet, amit a /mnt/Win10DL-be fogok csatolni.
    /dev/sda2  /mnt/Win10DL  fuse.dislocker user-password=<bitlocker_jelszo>,nofail,gvfs-hide  0 0

    Ezzel létrejön a /mnt/Win10DL könyvtárban a dislocker-file. Ezt kell nekünk csatolni, immár NTFS-ként:
    /mnt/Win10DL/dislocker-file  /media/Win10  ntfs x-systemd.requires=/mnt/Win10DL,x-gvfs-show,x-gvfs-name=Win10

    Ami itt érdekes paraméter, az az x-systemd.requires. Ez megmondja, hogy mielőtt a rendszer indításkor megpróbálná felcsatolni a dislocker-file-t, várja meg, míg sikerül a /dev/sda2 csatolása a /mnt/Win10DL-be.

    Előfordulhat, hogy a Windows partíciója nem Win10 néven jelenik meg. Ilyenkor a Lemezek segédprogrammal lehet a csatolási beállításokban bűvészkedni, ha szeretnél. Egy fura Nautilus bug miatt, nem mindig (jól) jelenik meg a x-gvfs-name értéke.

    Bitlocker elérése Ubuntu alól

    Rendszerfrissítések

    Pont úgy alakult, hogy kéznél volt egy régi Win10 (1803 – 17134.112) teszt telepítés. Így alkalmam adódott nem csak a normál telepítés és beállítás elvégzésére, hanem mind Ubuntu oldalon, mind Windows oldalon „végignézni” egy nagyobb frissítést. A Windows 10 sikeresen frissült 1809 – 17763.529 verzióra, az Ubuntu pedig 18.04.2-re. Úgy néz ki, a Windows 10 nagyobb verzióváltásai sem érintik ezt felépítést.

    Összefoglalás

    Némi telepítéskori extra odafigyeléssel jól megfér egymás mellett az Ubuntu 18.04 és a Windows 10 akkor is, ha mindkettő lemeztitkosítást használ. Ubuntu alól lehetséges a Bitlockerrel titkosított Windows partíció olvasása, de Windows alól elérhetetlen az Ubuntu.