Thursday Feb 03, 2022

Wie man das Root-Dateisystem unter Linux verschlüsselt

Als Systemadministrator wissen Sie wahrscheinlich bereits, wie wichtig es ist, Ihre Festplatten zu verschlüsseln.

Wenn Ihr Laptop gestohlen werden sollte, wäre selbst ein unerfahrener Hacker in der Lage, die auf den Festplatten enthaltenen Informationen zu extrahieren.

Ein einfacher USB-Stick mit einer LiveCD genügt, und schon ist alles gestohlen.

Glücklicherweise gibt es Möglichkeiten, dies zu verhindern: durch Verschlüsselung der auf den Festplatten gespeicherten Daten.

In dieser Anleitung werden wir die Schritte erläutern, die erforderlich sind, um eine vollständige Systemverschlüsselung durchzuführen. Sie können andere Tutorials online finden, die sich auf die Verschlüsselung von Dateien oder Home-Partitionen konzentrieren.

In diesem Fall verschlüsseln wir das gesamte System, also die gesamte Root-Partition und den Boot-Ordner. Wir werden einen Teil des Bootloaders verschlüsseln.

Bereit?

Inhaltsverzeichnis

Voraussetzungen

Um alle in dieser Anleitung beschriebenen Vorgänge durchführen zu können, müssen Sie natürlich über Systemadministratorrechte verfügen.

Um zu überprüfen, ob dies der Fall ist, stellen Sie sicher, dass Sie der Gruppe „sudo“ (bei Debian-basierten Distributionen) oder „wheel“ (bei RedHat-basierten) angehören.

Wenn Sie die folgende Ausgabe sehen, sollten Sie startklar sein.

Bevor Sie fortfahren, sollten Sie wissen, dass das Verschlüsseln von Datenträgern nicht ohne Risiken ist.

Der Prozess beinhaltet das Formatieren des gesamten Datenträgers, was bedeutet, dass Sie Daten verlieren, wenn Sie keine Sicherungskopie davon erstellen. Daher ist es eine gute Idee, Ihre Dateien auf einem externen Laufwerk oder in einer Online-Cloud zu sichern.

Wenn Sie sich nicht sicher sind, welche Schritte für die Sicherung Ihres gesamten Systems erforderlich sind, empfehle ich Ihnen, die folgende Anleitung zu lesen, in der dies klar und deutlich erklärt wird.

Nun, da alles vorbereitet ist, können wir damit beginnen, unser gesamtes System zu verschlüsseln.

Ermitteln Sie Ihre aktuelle Situation

Dieses Tutorial ist in drei Teile unterteilt: einen für jedes Szenario, mit dem Sie möglicherweise konfrontiert sind.

Nachdem Sie Ihre aktuelle Situation erkannt haben, können Sie direkt zu dem Kapitel navigieren, das Sie interessiert.

Wenn Sie ein System verschlüsseln wollen, das bereits unverschlüsselte Daten enthält, haben Sie zwei Möglichkeiten:

  • Sie können Ihrem Computer oder Server einen zusätzlichen Datenträger hinzufügen und ihn als bootfähigen Datenträger konfigurieren: Sie können zum ersten Teil gehen.
  • Sie können Ihrem Computer keinen zusätzlichen Datenträger hinzufügen (z. B. einen Laptop, der sich noch in der Garantiezeit befindet): Sie finden die erforderlichen Informationen im zweiten Teil.

Wenn Sie ein brandneues System installieren, d.h. wenn Sie die Distribution von Grund auf neu installieren, können Sie Ihre gesamte Festplatte direkt vom grafischen Installationsprogramm aus verschlüsseln. Infolgedessen können Sie zu Teil drei übergehen.

Festplattenlayout entwerfen

Wenn Sie neue Partitionen erstellen, verschlüsselt oder nicht, ist es sehr wichtig, das Festplattenlayout im Voraus zu wählen.

In diesem Fall werden wir unsere Festplatte mit einem MBR-Layout entwerfen: die ersten 512 Bytes der bootfähigen Festplatte werden für die erste Stufe des GRUB reserviert (sowie für Metadaten für unsere Partitionen).

Die erste Partition wird eine leere Partition sein, die für Systeme reserviert ist, die EFI (oder UEFI) als Boot-Firmware verwenden. Wenn Sie sich entscheiden, Windows 10 in der Zukunft zu installieren, haben Sie bereits eine Partition dafür zur Verfügung.

Die zweite Partition unserer Festplatte wird als LUKS-LVM-Partition formatiert, die ein physisches Volume (die Festplattenpartition selbst) sowie eine Volume-Gruppe mit zwei logischen Volumes enthält: eines für das Root-Dateisystem und ein weiteres für eine kleine Swap-Partition.

Wie Sie sehen können, wird die zweite Stufe des GRUB ebenfalls verschlüsselt: das liegt daran, dass wir uns entschieden haben, den Boot-Ordner auf der gleichen Partition zu speichern.

Natürlich sind Sie nicht auf das hier vorgestellte Design beschränkt, Sie können z.B. zusätzliche logische Volumes für Ihre Logs hinzufügen.

Dieses Design wird unser Fahrplan für dieses Tutorial sein: wir werden mit einer brandneuen Festplatte beginnen und alle Teile zusammen implementieren.

Data-at-rest-Verschlüsselung

Dieses Tutorial konzentriert sich auf die Data-at-rest-Verschlüsselung. Wie der Name schon sagt, bedeutet Data-at-rest-Verschlüsselung, dass Ihr System verschlüsselt ist, d.h. niemand kann es auslesen, wenn es ruht oder ausgeschaltet ist.

Diese Verschlüsselung ist sehr nützlich, wenn Ihr Computer gestohlen wird, da Hacker die Daten auf der Festplatte nicht lesen können, es sei denn, sie kennen die Passphrase, die Sie in den nächsten Abschnitten wählen werden.

Es besteht jedoch immer noch das Risiko, dass Ihre Daten für immer gelöscht werden: Dass sie keinen Lesezugriff auf eine Festplatte haben, bedeutet nicht, dass sie nicht einfach Partitionen darauf löschen können.

Sorgen Sie deshalb dafür, dass Sie ein Backup Ihrer wichtigen Dateien an einem sicheren Ort aufbewahren.

Verschlüsseln des Root-Dateisystems auf einem neuen Datenträger

Wie in der Einführung beschrieben, werden wir das Root-Dateisystem auf einem neuen Datenträger verschlüsseln, der noch keine Daten enthält. Dies ist sehr wichtig, da die verschlüsselte Festplatte während des Vorgangs formatiert wird.

Gehen Sie zu dem System, das Sie verschlüsseln möchten, und schließen Sie die neue Festplatte an. Identifizieren Sie zunächst Ihre aktuelle Platte, die wahrscheinlich „/dev/sda“ heißt, und die Platte, die Sie gerade eingesteckt haben (wahrscheinlich „/dev/sdb“).

Wenn Sie Zweifel an der Übereinstimmung von Namen und Seriennummern der Platte haben, können Sie Hersteller und Seriennummern mit der Option „-o“ von lsblk anhängen.

$ lsblk -do +VENDOR,SERIAL

In diesem Fall heißt die Platte mit den Daten „/dev/sda“ und die neue „/dev/sdb“.

Zunächst müssen wir das Layout erstellen, das wir in der Einleitung angegeben haben, also eine Partition, die eine EFI-Partition sein wird, und eine LUKS-LVM-Partition.

Grundlegendes Festplatten-Layout erstellen

Der erste Schritt auf unserer Reise zur vollständigen Festplattenverschlüsselung beginnt mit zwei einfachen Partitionen: eine EFI (auch wenn wir MBR verwenden, für den Fall, dass man in Zukunft wechseln möchte) und eine für unseren LVM.

Um neue Partitionen auf Ihrer Festplatte zu erstellen, verwenden Sie den Befehl „fdisk“ und geben Sie die zu formatierende Festplatte an.

$ sudo fdisk /dev/sdb

Wie in der Einführung erklärt, wird die erste Partition eine 512 Mb große sein und die andere wird den restlichen Platz auf der Festplatte einnehmen.

Im Dienstprogramm „fdisk“ können Sie eine neue Partition mit der Option „n“ erstellen und mit „+512M“ eine Größe von 512 Megabyte angeben.

Vergewissern Sie sich, dass Sie den Partitionstyp mit der Option „t“ in W95 FAT32 ändern und als Typ „b“ angeben.

Gut, jetzt, wo Sie Ihre erste Partition haben, erstellen wir diejenige, an der wir interessiert sind.

Das Erstellen der zweiten Partition ist noch einfacher.

Im Dienstprogramm fdisk verwenden Sie „n“, um eine neue Partition zu erstellen, und bleiben bei den Standardeinstellungen, was bedeutet, dass Sie bei jedem Schritt „Enter“ drücken können.

Wenn Sie fertig sind, können Sie einfach „w“ drücken, um die Änderungen auf die Festplatte zu schreiben.

Wenn Sie nun den Befehl „fdisk“ erneut ausführen, erhalten Sie einen guten Überblick über die Änderungen, die Sie auf der Festplatte vorgenommen haben.

$ sudo fdisk -l /dev/sdb

Gut!

Die zweite Partition ist bereit, formatiert zu werden, also machen wir uns an die Arbeit.

LUKS & LVM-Partitionen auf der Festplatte erstellen

Um Festplatten zu verschlüsseln, werden wir LUKS verwenden, kurz für das Linux Unified Key Setup Projekt.

LUKS ist eine Spezifikation für mehrere Backends, die in einigen Versionen des Linux-Kernels implementiert sind.

In diesem Fall werden wir das Submodul „dm-crypt“ des Linux-Storage-Stacks verwenden.

Wie der Name schon sagt, ist „dm-crypt“ Teil des Device-Mapper-Moduls, das darauf abzielt, eine Abstraktionsebene zwischen Ihren physischen Festplatten und der Art und Weise, wie Sie Ihren Speicherstapel gestalten, zu schaffen.

Diagramm von thomas-krenn.com

Diese Information ist ziemlich wichtig, denn sie bedeutet, dass man so ziemlich jedes Gerät mit dem „dm-crypt“-Backend verschlüsseln kann.

In diesem Fall werden wir eine Festplatte verschlüsseln, die eine Reihe von LVM-Partitionen enthält, aber Sie können auch einen USB-Speicherstick oder eine Diskette verschlüsseln.

Um mit dem Modul „dm-crypt“ zu interagieren, werden wir den Befehl „cryptsetup“ verwenden.

Natürlich müssen Sie es auf Ihrem Server installieren, wenn Sie es noch nicht haben.

$ sudo apt-get instal cryptsetup$ which cryptsetup

Nun, da das cryptsetup auf Ihrem Computer verfügbar ist, werden Sie Ihre erste LUKS-formatierte Partition erstellen.

Um eine LUKS-Partition zu erstellen, verwenden Sie den Befehl „cryptsetup“, gefolgt von dem Befehl „luksFormat“, der die angegebene Partition (oder Festplatte) formatiert.

 $ sudo cryptsetup luksFormat --type luks1 /dev/sdb2

Hinweis: Warum geben wir also den LUKS1-Formatierungstyp an? Ab Januar 2021 unterstützt GRUB (unser Bootloader) keine LUKS2-Verschlüsselung mehr. Hinterlassen Sie unbedingt einen Kommentar, wenn Sie feststellen, dass LUKS2 jetzt für den GRUB-Bootloader freigegeben ist.

Wie Sie sehen können, werden Sie darauf hingewiesen, dass bei diesem Vorgang alle auf der Festplatte gespeicherten Daten gelöscht werden. Überprüfen Sie die zu formatierende Platte ein letztes Mal und geben Sie „YES“ ein, wenn Sie bereit sind.

Danach werden Sie aufgefordert, eine Passphrase einzugeben. LUKS verwendet zwei Authentifizierungsmethoden: eine auf einer Passphrase basierende, die im Wesentlichen ein Passwort ist, das Sie bei der Entschlüsselung eingeben.

LUKS kann auch Schlüssel verwenden. Wenn Sie Schlüssel verwenden, können Sie sie zum Beispiel auf einem Teil Ihrer Festplatte speichern und Ihr System kann automatisch darauf aufpassen.

Wählen Sie eine starke Passphrase, geben Sie sie erneut ein und warten Sie, bis die Verschlüsselung der Festplatte abgeschlossen ist.

Wenn Sie fertig sind, können Sie mit dem „lsblk“-Befehl überprüfen, dass Ihre Partition jetzt als LUKS verschlüsselt ist.

Gut! Sie haben jetzt eine verschlüsselte Partition.

$ lsblk -f

Um zu überprüfen, ob Ihre Partition korrekt formatiert ist, können Sie den Befehl „cryptsetup“ gefolgt von der Option „luksDump“ verwenden und den Namen des verschlüsselten Geräts angeben.

$ sudo cryptsetup luksDump /dev/sdb2

Ihre Version sollte auf „1“ für das „LUKS1“-Format eingestellt sein und Sie sollten unten die verschlüsselte Passphrase in einem der Keyslots sehen.

Erstellen eines verschlüsselten LVM auf der Festplatte

Nun, da Ihre LUKS-verschlüsselte Partition fertig ist, können Sie sie „öffnen“. „Öffnen“ einer verschlüsselten Partition bedeutet einfach, dass Sie auf die Daten auf der Festplatte zugreifen werden.

Um Ihr verschlüsseltes Gerät zu öffnen, verwenden Sie den Befehl „cryptsetup“, gefolgt von „luksOpen“, dem Namen des verschlüsselten Geräts und einem Namen.

$ sudo cryptsetup luksOpen <encrypted_device> <name>

In diesem Fall haben wir das Gerät „cryptlvm“ genannt.

Wenn Sie nun erneut den Befehl „lsblk“ verwenden, können Sie sehen, dass ein neues Gerät zur bestehenden Geräteliste hinzugefügt wurde. Die zweite Partition enthält nun ein Gerät mit dem Namen „cryptlvm“, das Ihre entschlüsselte Partition ist.

Nun, da alles bereit ist, können wir mit der Erstellung unserer beiden LVMs beginnen: eines für unsere Root-Partition und eines für den Swap-Bereich.

Zuallererst werden wir mit dem Befehl „pvcreate“ ein physisches Volume für unsere neue Festplatte erstellen.

# Optional, if you don't have LVM commands : sudo apt-get install lvm2$ sudo pvcreate /dev/mapper/cryptlvm

Nun, da Ihr physisches Volume fertig ist, können Sie es verwenden, um eine Volume-Gruppe namens „cryptvg“ zu erstellen.

$ sudo vgcreate cryptvg /dev/mapper/cryptlvm

Nun, da Ihre Volume-Gruppe fertig ist, können Sie Ihre zwei logischen Volumes erstellen.

In diesem Fall ist die erste Partition eine 13Gb-Partition und die Swap-Partition wird den restlichen Platz einnehmen. Stellen Sie sicher, dass Sie diese Zahlen für Ihren speziellen Fall ändern.

Um unser Root-Dateisystem zu hosten, werden wir ein EXT4-Dateisystem auf dem logischen Volume erstellen.

$ sudo lvcreate -n lvroot -L 13G cryptvg$ sudo mkfs.ext4 /dev/mapper/cryptvg-lvroot

Die Erstellung der Swap-Partition kann mit den gleichen Schritten erfolgen, mit „lvcreate“ und „mkswap“.

$ sudo lvcreate -n lvswap -l 100%FREE cryptvg$ sudo mkswap /dev/mapper/cryptvg-lvswap

Gut gemacht! Nun, da Ihre Partitionen erstellt sind, ist es an der Zeit, Ihr bestehendes Root-Dateisystem auf die neu erstellte zu übertragen.

Gesamtes Dateisystem auf verschlüsselte Festplatte übertragen

Bevor Sie Ihr gesamtes Dateisystem übertragen, sollten Sie überprüfen, ob Sie genügend Platz auf dem Ziellaufwerk haben.

$ df -h 

Um Ihr gesamtes Dateisystem auf Ihre neu erstellte Partition zu übertragen, verwenden Sie den Befehl „rsync“.

Mounten Sie Ihr neu erstelltes logisches Volume und beginnen Sie, Ihre Dateien und Ordner rekursiv auf das Ziellaufwerk zu kopieren.

$ sudo mount /dev/mapper/cryptvg-lvroot /mnt$ sudo rsync -aAXv / --exclude="mnt" /mnt --progress

Dieser Vorgang kann je nach der Menge der zu übertragenden Daten einige Zeit in Anspruch nehmen.

Nach einer Weile sollte Ihr gesamtes Dateisystem auf Ihr verschlüsseltes Laufwerk kopiert sein. Nun, da „/boot“ verschlüsselt ist, müssen Sie die Stufe 1 des GRUB entsprechend neu installieren.

GRUB Bootloader installieren und konfigurieren

Warum sollten Sie also Ihren GRUB neu installieren und entsprechend neu konfigurieren müssen?

Um diese Frage zu beantworten, müssen Sie eine grundlegende Vorstellung davon haben, wie Ihr System hochfährt, wenn Sie einen konventionellen BIOS/MBR-Bootvorgang verwenden.

Wie in der Einführung erläutert, ist GRUB in zwei (manchmal drei) Teile unterteilt: GRUB Stufe 1 und GRUB Stufe 2. Die Stufe 1 sucht nur nach dem Ort der Stufe 2, die sich oft im Ordner „/boot“ Ihres Dateisystems befindet.

Die Stufe 2 ist für viele Aufgaben verantwortlich: das Laden der notwendigen Module, das Laden des Kernels in den Speicher und das Starten des initramfs-Prozesses.

Wie Sie verstanden haben, ist die Stufe 2 hier verschlüsselt, also müssen wir der Stufe 1 (die sich in den ersten 512 Bytes Ihrer Festplatte befindet) sagen, dass sie zuerst entschlüsselt werden muss.

GRUB Stufe 1 neu installieren & 2

Um die erste Stufe des GRUB neu zu installieren, müssen Sie zunächst „cryptomount“ aktivieren, das den Zugriff auf verschlüsselte Geräte in der GRUB-Umgebung ermöglicht.

Um das zu erreichen, müssen Sie die Datei „/etc/default/grub“ bearbeiten und die Option „GRUB_ENABLE_CRYPTODISK=y“ hinzufügen.

Sie befinden sich jedoch gerade auf dem System, das Sie zu verschlüsseln versuchen. Daher müssen Sie sich in Ihr neues Laufwerk chrooten, um die Befehle richtig ausführen zu können.

Chroot im verschlüsselten Laufwerk

Um sich in Ihr verschlüsseltes Laufwerk chrooten zu können, müssen Sie die folgenden Befehle ausführen.

Nachdem Sie diese Befehle ausgeführt haben, sollten Sie sich nun im Kontext Ihres verschlüsselten Laufwerks befinden.

$ vi /etc/default/grub
GRUB_ENABLE_CRYPTODISK=y

Wie in der GRUB-Dokumentation angegeben, konfiguriert diese Option den GRUB so, dass er nach verschlüsselten Geräten sucht und zusätzliche Befehle hinzufügt, um sie zu entschlüsseln.

Nun, da die Stufe 1 konfiguriert ist, können Sie sie mit dem Befehl grub-install auf Ihrem MBR installieren.

$ grub-install --boot-directory=/boot /dev/sdb

Hinweis: Seien Sie vorsichtig, Sie müssen „/dev/sdb“ und nicht „/dev/sdb1“ angeben.

Wie Sie wahrscheinlich bemerkt haben, wenn Sie keine Optionen für die GRUB-Installation angeben, haben Sie standardmäßig eine „i386-pc“-Installation (die für eine BIOS-basierte Firmware gedacht ist).

GRUB Stufe 2 neu installieren

Mit den oben beschriebenen Schritten wurde die Stufe 1 aktualisiert, aber wir müssen der Stufe 2 auch mitteilen, dass sie mit einer verschlüsselten Festplatte zu tun hat.

Um das zu erreichen, gehen Sie zu „/etc/default/grub“ und fügen Sie eine weitere Zeile für Ihre GRUB Stufe 2 hinzu.

GRUB_CMDLINE_LINUX="cryptdevice=UUID=<encrypted_device_uuid> root=UUID=<root_fs_uuid>"

Diese Zeile ist wichtig, weil sie der zweiten Stufe des GRUB mitteilt, wo sich das verschlüsselte Laufwerk und die Root-Partition befinden.

Um die benötigten UUIDs zu identifizieren, können Sie den Befehl „lsblk“ mit der Option „-f“ verwenden.

$ lsblk -f 

Mit diesen UUIDs fügen wir die folgende Zeile in die GRUB-Konfigurationsdatei ein.

Um Ihre aktuelle GRUB-Installation zu aktualisieren, können Sie den Befehl „update-grub2“ in Ihrer chroot-Umgebung verwenden.

$ sudo update-grub2

Nachdem Sie Ihre GRUB-Installation aktualisiert haben, sollte Ihr GRUB-Menü (d. h. die Stufe 2) geändert werden und Sie sollten den folgenden Inhalt sehen, wenn Sie die „/boot/grub/grub.

Wie Sie sehen können, wurde die GRUB-Konfigurationsdatei geändert und Ihr System verwendet nun „cryptomount“, um das verschlüsselte Laufwerk zu finden.

Damit Ihr System richtig booten kann, müssen Sie überprüfen, ob:

  • Sie die richtigen Module wie cryptodisk, luks, lvm und andere laden;
  • Die Anweisung „cryptomount“ ist richtig gesetzt;
  • Der Kernel wird mit der Anweisung „cryptdevice“ geladen, die wir im vorherigen Abschnitt gesetzt haben.
  • Die angegebenen UUIDs sind korrekt: die „cryptdevice“-Anweisung verweist auf die LUKS2 verschlüsselte Partition und die „root“-Anweisung auf das ext4 Root-Dateisystem.

Modifizieren Sie die Dateien crypttab und fstab

Einer der ersten Schritte von initramfs ist das Mounten Ihrer Volumes mit Hilfe der Dateien „/etc/crypttab“ und „/etc/fstab“ auf dem Dateisystem.

Als Folge davon und weil Sie neue Volumes erstellen, müssen Sie diese Dateien möglicherweise ändern, um die korrekte UUID in ihnen zu speichern.

Zuallererst gehen Sie zur Datei „/etc/crypttab“ (Sie können sie erstellen, wenn sie noch nicht existiert) und fügen den folgenden Inhalt hinzu

$ nano /etc/crypttab# <target name> <source device> <key file> <options> cryptlvm UUID=<luks_uuid> none luks

Wenn Sie sich über die UUID Ihres verschlüsselten Geräts nicht sicher sind, können Sie die „blkid“ verwenden, um die Informationen zu erhalten.

$ blkid | grep -i LUKS 

Nachdem die crypttab-Datei geändert wurde, müssen Sie nur noch die fstab entsprechend anpassen.

$ nano /etc/fstab# <file system> <mount point> <type> <options> <dump> <pass>UUID=<ext4 uuid> / ext4 errors=remount-ro 0 1

Wenn Sie sich über die UUID Ihres ext4-Dateisystems nicht sicher sind, können Sie erneut den Befehl „blkid“ verwenden.

$ blkid | grep -i ext4

Fast fertig!

Nun, da Ihre GRUB- und Konfigurationsdateien korrekt konfiguriert sind, müssen wir nur noch das initramfs-Image konfigurieren.

Initramfs-Image neu konfigurieren

Unter allen Boot-Skripten sucht initramfs nach dem Root-Dateisystem, das Sie im vorherigen Kapitel angegeben haben.

Um das Root-Dateisystem zu entschlüsseln, muss es jedoch die richtigen initramfs-Module aufrufen, nämlich das Modul „cryptsetup-initramfs“. In Ihrer chroot-Umgebung können Sie den folgenden Befehl ausführen:

$ apt-get install cryptsetup-initramfs 

Um die cryptsetup-Module in Ihr initramfs-Image aufzunehmen, müssen Sie den Befehl „update-initramfs“ ausführen.

$ update-initramfs -u -k all

Das war’s!

Sie haben erfolgreich alle benötigten Teile zusammengestellt, um eine vollständig verschlüsselte Festplatte auf Ihrem System zu erstellen. Sie können nun Ihren Computer neu starten und einen Blick auf Ihren neuen Boot-Prozess werfen.

Boot auf verschlüsseltem Gerät

Beim Booten ist der erste Bildschirm, den Sie sehen werden, die erste Stufe von GRUB, die versucht, die zweite Stufe von GRUB zu entschlüsseln.

Wenn Sie diese Passwort-Eingabeaufforderung sehen, bedeutet das, dass Sie keine Fehler in Ihrer Stufe-1-Konfiguration haben.

Hinweis: Beachten Sie, dass dieser Bildschirm möglicherweise nicht Ihrem üblichen Tastaturlayout entspricht. Daher sollten Sie bei einer falschen Kennworteingabe versuchen, so zu tun, als hätten Sie eine US-Tastatur oder eine AZERTY-Tastatur.

Wenn Sie das richtige Kennwort eingeben, wird das GRUB-Menü angezeigt.

Wenn Sie diesen Bildschirm sehen, bedeutet das, dass Ihre Stufe 1 die Stufe 2 öffnen konnte. Sie können die Option „Ubuntu“ auswählen und Ihr System booten.

Auf dem nächsten Bildschirm werden Sie erneut aufgefordert, die Passphrase einzugeben.

Das ist ganz normal, da Ihre Boot-Partition verschlüsselt ist. Folglich benötigen Sie eine Passphrase, um die Stufe 2 zu entsperren, und eine, um das gesamte Root-Dateisystem zu entsperren.

Glücklicherweise gibt es eine Möglichkeit, dies zu vermeiden: durch eine in das initramfs-Image eingebettete Schlüsseldatei. Die ArchLinux-Mitarbeiter haben dazu ein hervorragendes Tutorial geschrieben.

In diesem Fall geben wir einfach die Passphrase ein und drücken die Eingabetaste.

Nach einer Weile, wenn der Init-Prozess abgeschlossen ist, sollten Sie den Sperrbildschirm Ihrer Benutzeroberfläche vorfinden!

Glückwunsch, Sie haben erfolgreich ein ganzes System unter Linux verschlüsselt!

Wurzeldateisystem auf vorhandener Festplatte verschlüsseln

In manchen Fällen müssen Sie eine vorhandene Festplatte verschlüsseln, ohne dass Sie eine der Festplatten auf Ihrem Computer entfernen können. Dies kann z.B. der Fall sein, wenn Sie eine Festplatte unter Garantie haben.

In diesem Fall ist der Vorgang recht einfach:

  • Erstellen Sie einen bootfähigen USB-Stick (oder einen Wechseldatenträger), der ein ISO der Distribution Ihrer Wahl enthält;
  • Benutzen Sie den Datenträger, um eine LiveCD Ihrer Distribution zu booten und sich einzuloggen;
  • Ermitteln Sie von der LiveCD aus die Festplatte, die Ihre Root-Distribution enthält, und erstellen Sie eine Sicherungskopie davon;
  • Montieren Sie die primäre Partition in einem Ordner Ihrer Wahl und folgen Sie den Anweisungen des vorherigen Kapitels;

Warum brauchen Sie also eine LiveCD, wenn Sie eine nicht entfernbare Festplatte verschlüsseln wollen?

Wenn Sie Ihre primäre Hauptfestplatte verschlüsseln wollen, müssen Sie sie aushängen. Da es sich jedoch um die Root-Partition Ihres Systems handelt, können Sie sie nicht aushängen, weshalb Sie eine LiveCD verwenden müssen.

Verschlüsselung des Root-Dateisystems über den Installationsassistenten

In einigen Fällen betten einige Distributoren den Verschlüsselungsprozess direkt in den Installationsassistenten ein.

Wenn Sie nicht vorhaben, ein bestehendes Dateisystem von einem System auf ein anderes zu übertragen, könnten Sie versucht sein, diese Option zu nutzen.

Bei Ubuntu 20.04 schlägt der Installationsprozess die Festplattenverschlüsselung im Festplattenkonfigurationsassistenten vor.

Wenn Sie diese Option wählen, haben Sie ein ähnliches Setup wie in den vorherigen Abschnitten. Allerdings entscheiden sich die meisten Distributionen dafür, den „/boot“-Ordner nicht zu verschlüsseln.

Wenn Sie den „/boot“-Ordner verschlüsseln möchten, empfehlen wir Ihnen, den ersten Abschnitt dieses Tutorials zu lesen.

Fehlerbehebung

Da sich Open Source ständig ändert, besteht die Möglichkeit, dass Sie Ihr System nicht booten können, auch wenn Sie die Schritte dieses Tutorials sorgfältig befolgt haben.

Da die Fehlerquellen jedoch wahrscheinlich unendlich und für jeden Benutzer spezifisch sind, wäre es sinnlos, jedes einzelne Problem aufzuzählen, auf das Sie stoßen können.

In den meisten Fällen ist es jedoch wichtig zu wissen, bei welchem Schritt des Bootvorgangs Sie scheitern.

Wenn Sie einen Bildschirm mit einer „grub rescue“-Eingabeaufforderung sehen, bedeutet dies wahrscheinlich, dass Sie in der Stufe 1 feststecken, d.h. dass der Bootloader nicht in der Lage war, die Festplatte zu finden, die die zweite Stufe enthält.

Wenn Sie sich in einer initramfs-Eingabeaufforderung befinden, bedeutet das wahrscheinlich, dass während des Init-Prozesses etwas falsch gelaufen ist :

  • Sind Sie sicher, dass Sie die zu mountenden Dateisysteme in den Dateien crypttab und fstab angegeben haben?
  • Sind Sie sicher, dass alle Module aktuell in Ihrem initramfs-Image geladen wurden? Fehlen nicht zum Beispiel die Module cryptsetup oder lvm?

Nachfolgend einige Ressourcen, die wir beim Schreiben dieses Tutorials interessant fanden, sie könnten einige Antworten auf deine Probleme haben :

  • Ein ganzes System verschlüsseln : ein ähnliches Tutorial für ArchLinux;
  • Manuelle Systemverschlüsselung unter Ubuntu : Schritte, um ein Root-Dateisystem zu chrooten.

Abschluss

In diesem Tutorial haben Sie gelernt, wie Sie ein ganzes Root-Dateisystem mit dem Ordner „/boot“ verschlüsseln können, indem Sie die LUKS-Spezifikation verwenden.

Sie haben auch etwas über den Linux-Boot-Prozess und die verschiedenen Schritte gelernt, die Ihr System durchläuft, um Ihr Betriebssystem zu starten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Back to Top