Verschlüsseltes System mit Debian GNU/Linux aufsetzen

Eigent­lich hatte ich diesen Schritt schon ewig vor mir her­ge­scho­ben: Linux nur noch auf ver­schlüs­sel­ten Daten­trä­gern zu betrei­ben.

Selbst wenn man keine Haus­durch­su­chun­gen fürch­ten muss, spricht eini­ges für Fest­plat­ten­ver­schlüs­se­lung: Dieb­stahl des mobi­len Rech­ners oder ein­fach die Denke, dass unver­schlüs­sel­ter Daten­spei­cher im Grunde nicht viel besser sind als unver­schlüs­selte Kom­mu­ni­ka­tion.

Rah­men­be­din­gun­gen im fol­gen­den Bei­spiel:

  • Home- und Wur­zel­ver­zeich­nis sollen bit­te­schön getrennt von­ein­an­der liegen.
  • Eini­ges spricht auch für einen ver­schlüs­sel­ten Swap, auch wenn RAM mitt­ler­weile meist reich­lich zur Ver­fü­gung steht.
  • Zum Ein­satz soll Debian GNU/​Linux kommen. Die Anlei­tung hier bezieht sich auf Debian 9 („Stretch“), sollte aber für Ver­sion 10 („Buster“) prak­tisch unein­ge­schränkt ebenso gelten.

Pro­blem hier­bei: Die offi­zi­elle Debian-Instal­la­ti­ons­an­lei­tung ist sehr all­ge­mein und wenig pra­xis­nah gehal­ten. Dazu kommt, dass der Par­ti­ti­ons­ma­na­ger des Instal­lers leider nicht beson­ders intui­tiv gestal­tet und meine Ver­su­che, die Par­ti­tio­nen auf eigene Faust anzu­le­gen, zunächst kläg­lich geschei­tert sind.

Die fol­gende Schritt-für-Schritt-Anlei­tung stammt von Stack­ex­ch­ange und ist für das eben beschrie­bene Sze­na­rio ideal geeig­net. Des­halb sei sie hier als Gedan­ken­stütze und über­setzte und bebil­derte Ver­sion gegen etwai­ges Ver­ges­sen des Inter­nets wie­der­ge­ge­ben:

  1. Falls noch nicht gesche­hen, die Fest­platte vor­be­rei­ten. Der zu ver­schlüs­selnde Bereich sollte unfor­ma­tiert sein – das lässt sich am bequems­ten mit einem belie­bi­gen Live-Medium und GPar­ted bewerk­stel­li­gen.

  2. Anschlie­ßend das Debian-Instal­la­ti­ons­me­dium ein­le­gen und den Rech­ner neu star­ten. Die Instal­la­ti­ons­rou­tine anwer­fen (ob gra­fisch oder nicht spielt keine Rolle). Den ersten Schrit­ten folgen (Netz­werk­ver­bin­dung auf­bauen, Root-Pass­wort defi­nie­ren usw.) und dann ange­ben, dass man manu­ell par­ti­tio­ne­ren möchte

  1. Eine pri­märe Par­ti­tion von etwa 1 GB Größe anle­gen. Diese als /boot/ ver­wen­den und den Haken für boo­ta­ble setzen.

    Diese Par­ti­tion wird unver­schlüs­selt blei­ben und Platz für meh­rere Ker­nel­ver­sio­nen bereit­hal­ten. Das ist ein Zuge­ständ­nis, da es ansons­ten noch einige wei­tere Hürden zu über­win­den gibt (GRUB müsste den ver­schlüs­sel­ten Kernel laden; ggf. gelten beson­dere Anfor­de­run­gen in Sachen EFI/UEFI). Ande­rer­seits: Wenn dir jemand einen Kernel mit inte­grier­tem Key­log­ger unter­schiebt, ist das Kind schon an ganz ande­rer Stelle in den Brun­nen gefal­len.

  1. Die Option Ver­schlüs­selte Par­ti­tio­nen kon­fi­gu­rie­ren ansteu­ern:

    1. Es erscheint eine Liste aller Par­ti­tio­nen: Hier den gesam­ten unfor­ma­tier­ten Bereich aus­wäh­len und weiter“ kli­cken.
    2. Dann die Ver­schlüs­se­lungs­kon­fi­gu­ra­tion über­prü­fen und nach Geschmack anpas­sen (es spricht nichts gegen die Vor­ein­stel­lun­gen – wenn man es selbst nicht besser weiß, also am besten nichts ändern).
    3. Im nächs­ten Schritt bietet der Instal­ler an, den gewähl­ten Bereich mit Zufalls­zah­len zu über­schrei­ben, um das Wie­der­her­stel­len alter unver­schlüs­sel­ter Daten zu erschwe­ren. Das dauert je nach Größe der Par­ti­tion etwas länger, sollte aber logi­scher­weise nicht über­sprun­gen werden.
    4. Zum Schluss noch eine sichere Pass­phrase fest­le­gen, mit der das System zukünf­tig beim Start ent­schlüs­selt wird. Diese soll bit­te­schön, sicher sein, nir­gendwo notiert und auf keinen Fall ver­ges­sen werden.

      (Eigent­lich offen­sicht­lich, aber ein Gedanke noch: Wenn du gedenkst, die Pass­phrase auch betrun­ken und/​oder in der rum­pe­li­gen Regio­nal­bahn noch unfall­frei ein­zu­tip­pen, sieh am besten von allzu wilden Son­der­zei­chen-Eska­pa­den ab. Du wirst diese Zei­chen­kette noch viele, viele Male ein­tip­pen müssen.)

  1. Als nächs­tes wähle Logi­cal Volume Mana­ger kon­fi­gu­rie­ren und dann Volume-Gruppe erstel­len“. Gib der Volume-Gruppe einen Namen, mei­net­we­gen vgdebian (der Name spielt in der spä­te­ren Benut­zung keine allzu große Rolle mehr). Im nächs­ten Dialog wähle die ver­schlüs­selte Par­ti­tion – sie heißt wahr­schein­lich irgend­was wie /dev/mapper/sda5_crypt und wird im nächs­ten Schritt für die ver­schie­de­nen Ein­satz­zwe­cke unter­teilt.
  1. Wir haben jetzt einen großen ver­schlüs­sel­ten Bereich auf der Fest­platte, den es jetzt sinn­voll zu unter­tei­len gilt – mit logi­schen Volu­mes“:

    Für jeden spä­te­ren Ein­satz­zweck (z.B. Wur­zel­ver­zeich­nis, /home/ und swap) wähle den Schritt Logi­sches Volume erstel­len“. Wähle dann die in Schritt 4 benannte Volume-Gruppe (also in diesem Bei­spiel vgde­bian). Vergib als nächs­tes einen sinn­vol­len Namen für das logi­sche Volume (also sowas wie root, home, swap usw.) und defi­niere die Größe in GB.

    Wenn alle logi­schen Volu­men ange­legt sind, wähle fer­tig­stel­len.

  1. Nach­dem der ver­schlüs­selte Fest­plat­ten­spei­cher sinn­voll unter­teilt ist, müssen wir dem Instal­ler noch mit­tei­len, wel­ches logi­sche Volume wofür ver­wen­det werden soll:

    Wähle der Reihe nach die eben ange­leg­ten logi­schen Volu­mes aus und defi­niere den jeweils gewünsch­ten Ein­hän­ge­ort (also etwa /, /home/, swap) – die in Schritt 5 vor­ge­nom­mene Benen­nung hilft dabei, die Logi­schen Volu­mes (z.b. „LV root“ ihrem kor­rek­ten Zweck zuzu­ord­nen.

    Jedem logi­schen Volume muss außer­dem ein Datei­sys­tem zuge­ord­net werden. Ich will keinen Glau­bens­krieg los­tre­ten, aber wer unsi­cher ist, ist mit Ext4 gut bera­ten.

  1. Und fertig! Im nächs­ten Schritt wird das System instal­liert und nach einem Neu­start (nicht ver­ges­sen, das Live-Medium zu ent­fer­nen!) wirst du nach deiner vorhin defi­nier­ten Pass­phrase gefragt, um das System zu star­ten. Und wenn in Schritt 5 Swap-Volume ange­legt wurde, sollte sogar der Ruhe­zu­stand (hiber­nate) funk­tio­nie­ren.
Andwils Avatar

~andwil

Geek aus Kiel. Tobt sich hier vor allem über den Open-Source-Kosmos im Allgemeinen (und Linux im Speziellen) sowie Heavy Metal aus.