Laufwerk mit dm-crypt und LUKS unter (X)Ubuntu Feisty verschlüsseln

I. Einführung
Motivation
Datensicherheit ist heute ein zentraler Aspekt im Alltag — bewusst oder unbewusst. Eine wichtige Schutzmaßnahme ist die Verschlüsselung von Datenträgern, damit bei Verlust oder Diebstahl sensible Daten nicht unverschlüsselt zugänglich sind. Diese Anleitung zeigt, wie Sie ein komplettes Laufwerk oder eine Partition unter (X)Ubuntu Feisty mit dm-crypt und LUKS verschlüsseln.
Quellen, die beim Zusammenstellen geholfen haben, sind unter anderem:
- http://www.hermann-uwe.de/blog/howto-disk-encryption-with-dm-crypt-luks-and-debian
- https://systemausfall.org/wikis/howto/CryptoPartitionHowTo
- Diskussionen in IRC (#ubuntu auf irc.freenode.org)
Wichtiger Hinweis: Dieses Tutorial löscht alle Daten auf dem gewählten Datenträger. Nutzen Sie es nur für zusätzliche Festplatten oder Partitionen, nicht für die System‑/Boot‑Partition, sofern Sie nicht genau wissen, was Sie tun.
Rechtliche Überlegungen
Verschlüsselung ist ein technisches Schutzmittel, das rechtliche Fragen berühren kann. In einigen Rechtsordnungen gibt es Pflichten, Zugang zu Daten zu gewähren; in anderen schützt das Recht auf Schweigen. Diese Anleitung erläutert technische Schritte und keine rechtsverbindliche Beratung. Wenn Sie rechtliche Fragen haben, konsultieren Sie eine Fachperson vor Ort.
Hinweis: Autorin/Autor bezieht sich im Originaltext teilweise auf die europäische Menschenrechtskonvention und persönliche Eindrücke; die rechtliche Lage unterscheidet sich je nach Land.
II. Voraussetzungen und Begriffe
- Ein zusätzliches Laufwerk oder eine Partition, z. B. /dev/hdb, /dev/sdb oder /dev/sdb1.
- Root‑ oder sudo‑Zugriff.
- Paketverwaltung aptitude oder apt.
Kurze Definitionen:
- dm-crypt: Kernel‑Subsystem zur Block‑Device‑Verschlüsselung.
- LUKS: Standardisiertes Containerformat für verschlüsselte Blockgeräte (schlüsselslots, Metadaten).
III. Benötigte Software installieren
Öffnen Sie ein Terminal und installieren Sie die Tools:
sudo aptitude install cryptsetup hashalot
Wenn aptitude nicht installiert ist, können Sie apt verwenden:
sudo apt-get update
sudo apt-get install cryptsetup hashalot
IV. Laufwerk vorbereiten (Zufallsdaten schreiben)
Es ist ratsam, vor der Verschlüsselung Zufallsdaten über den gesamten Bereich zu schreiben. Dadurch wird sichtbar, dass der gesamte Blockraum zufällig aussieht und mögliche Rückschlüsse auf unbenutzte Bereiche reduziert.
WARNUNG: Dieser Schritt löscht alle Daten auf dem gewählten Gerät.
sudo dd if=/dev/urandom of=/dev/HARDDISK bs=1M status=progress
Ersetzen Sie HARDDISK durch das Ziel, z. B. sdb oder sdb1. Der Vorgang kann sehr lange dauern (abhängig von Größe und Geschwindigkeit der Festplatte). Beispielausgabe:
hyper@xubi:/dev$ sudo dd if=/dev/urandom of=/dev/hda
dd: writing to `/dev/hda': No space left on device
312581809+0 records in
312581808+0 records out
160041885696 bytes (160 GB) copied, 90679.8 seconds, 1.8 MB/s
Hinweis: Das Beispiel zeigt ~160 GB kopiert; tatsächliche Werte variieren.
V. Kernel‑Module laden
Laden Sie die notwendigen Kernel‑Module temporarily zum Testen:
sudo modprobe aes
sudo modprobe dm-crypt
sudo modprobe dm_mod
Wenn diese Module bei jedem Boot geladen werden sollen, fügen Sie sie zu /etc/modules hinzu:
sudo nano /etc/modules
Fügen Sie am Ende (falls nicht bereits vorhanden) hinzu:
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
fuse
lp
aes
dm-crypt
dm_mod
Speichern (Strg+O) und beenden (Strg+X). Die Einträge fuse und lp sind optional und waren in der Originalinstallation vorhanden.
VI. LUKS‑Container anlegen
Erstellen Sie den LUKS‑Header (Achtung: löscht Daten auf dem Ziel):
sudo cryptsetup luksFormat /dev/HARDDISK
Sie bestätigen Aufforderungen zur Bestätigung und legen ein Initialpasswort fest. Wählen Sie ein starkes Passwort oder eine Passphrase.
VII. LUKS‑Container öffnen (Mapping)
Einmal formatiert, öffnen (entschlüsseln) Sie die LUKS‑Partition und verknüpfen sie mit einem Mapper‑Namen:
sudo cryptsetup luksOpen /dev/HARDDISK DEVICENAME
Die entschlüsselte Sicht erscheint als /dev/mapper/DEVICENAME.
VIII. Dateisystem erstellen
Formatieren Sie das gemappte Device mit einem Dateisystem Ihrer Wahl. Beispiel ext3 (Originaltutorial verwendete ext3):
sudo mkfs.ext3 /dev/mapper/DEVICENAME
Sie können stattdessen ext4, XFS oder ein anderes geeignetes FS wählen.
IX. Partition einhängen
Zuerst einen Mount‑Point anlegen:
sudo mkdir /media/DEVICENAME
Dann einhängen:
sudo mount /dev/mapper/DEVICENAME /media/DEVICENAME
Wenn Sie später erneut einhängen möchten, öffnen Sie zuerst das LUKS‑Device und mounten dann:
sudo cryptsetup luksOpen /dev/HARDDISK DEVICENAME
sudo mount /dev/mapper/DEVICENAME /media/DEVICENAME
X. Automatisches Einhängen beim Boot
Damit das verschlüsselte Laufwerk beim Systemstart eingebunden werden kann (Passworteingabe erforderlich), tragen Sie es in /etc/crypttab ein:
DEVICENAME /dev/HARDDISK none luks,check=ext2,retry=5
Und in /etc/fstab:
# CryptoDevices
/dev/mapper/DEVICENAME /media/HARDDISK auto defaults 0 0
Beim Boot werden Sie zur Passphrase aufgefordert (maximal retry=5 Versuche). Scheitert die Entschlüsselung, wird das System ohne dieses Laufwerk gebootet — Sie können später manuell mounten.
XI. Schlüsselverwaltung (Hinzufügen und Entfernen von Keys)
LUKS erlaubt mehrere Schlüssel (Key‑Slots). Praxisbeispiele:
Schlüssel hinzufügen:
sudo cryptsetup luksAddKey /dev/HARDDISK
Schlüssel entfernen:
sudo cryptsetup luksDelKey /dev/HARDDISK
Hinweis: LUKS unterstützt mehrere Key‑Slots, so dass Sie z. B. ein Hauptpasswort und ein Backup‑Passwort hinterlegen können. Verwenden Sie Schlüsselverwaltung mit Bedacht.
XII. Sicheres Aushängen und Schließen der Mapping‑Sitzung
Nur weil ein Device nicht gemountet ist, bedeutet das nicht, dass das Mapping nicht aktiv ist. Solange /dev/mapper/DEVICENAME existiert, ist der Inhalt entschlüsselt zugänglich für Benutzer mit ausreichenden Rechten.
Sicheres Aushängen und Schließen:
sudo umount /media/DEVICENAME && sudo cryptsetup luksClose DEVICENAME
Beispiel‑Shell‑Skript ~/umount.sh:
#!/bin/bash
sudo umount /media/DEVICENAME && sudo cryptsetup luksClose DEVICENAME
Machen Sie das Skript ausführbar:
sudo chmod a+x ~/umount.sh
Sie können dann einen Desktop‑Starter anlegen, um das Skript zu starten.
Xfce‑Starter zum Ausführen des Umount‑Skripts
XIII. Sicherheitsempfehlungen und Härtung
- Verwenden Sie eine starke Passphrase (Länge, Zufälligkeit). Ein Passwortsatz ist besser als ein einzelnes Wort.
- Schützen Sie Schlüssel und Passphrasen offline (z. B. Passwortmanager oder physikalische Kopien an sicherem Ort).
- Nutzen Sie aktuelle Verschlüsselungsoptionen: cryptsetup bietet Parameter für Cipher, Schlüsselgröße und PBKDF (key derivation). Prüfen Sie, ob Ihre Version von cryptsetup moderne Defaults nutzt.
- Verwenden Sie Secure Boot/TPM nur, wenn Sie das Verhalten und Risiken verstehen (TPM kann Automatisierung erleichtern, schwächt plausible deniability).
- Achten Sie auf Swap/Temporary‑Files: Wenn verschlüsselter Speicher nicht systemweit forciert wird, können Daten in Swap oder /tmp unverschlüsselt landen. Legen Sie Swap auf verschlüsselte Partition oder aktivieren Sie zram.
- Entfernen Sie Metadaten auf Wechselmedien vor Übergabe.
Wichtiger Hinweis: Verschlüsselung schützt ruhende Daten (data at rest). Sie schützt nicht notwendigerweise vor Zugriff, wenn das System läuft und das Laufwerk entsperrt ist.
XIV. Troubleshooting und typische Probleme
- Fehler: “device is busy” beim Umount: prüfen Sie offene Dateien mit lsof oder fuser.
- Wenn cryptsetup beim Öffnen mit falschem Header fehlschlägt, prüfen Sie, ob Sie das richtige Device gewählt haben. Falsches Device überschreiben kann Datenverlust verursachen.
- Boot‑Passphrase wird nicht akzeptiert: überprüfen Sie Layout in /etc/crypttab und dass der Boot‑Initramfs cryptsetup‑Unterstützung enthält.
XV. Alternative Ansätze und Werkzeuge
- VeraCrypt / TrueCrypt: bieten Container, versteckte Volumes und plausible deniability. VeraCrypt ist ein moderner Nachfolger von TrueCrypt. Beachten Sie, dass plausible deniability in vielen Rechtsordnungen keinen rechtlichen Schutz garantiert.
- Dateibasierte Container (z. B. verschlüsselte Containerdatei auf bestehendem Dateisystem) vs. Full‑disk LUKS: Container sind einfacher zu handhaben, aber ein voller Blocklevel‑LUKS bietet konsistenteren Schutz und verhindert Metadatenlecks durch das Host‑Dateisystem.
- File‑level Encryption (z. B. GPG, eCryptfs): feiner granulare Kontrolle über einzelne Dateien, jedoch kein Schutz gegen Metadaten auf Blockebene.
XVI. Wann diese Methode nicht passend ist
- Wenn Sie das Systemlaufwerk inklusive Boot verschlüsseln wollen, benötigen Sie eine erweiterte Herangehensweise (Initramfs, Bootloader‑Konfiguration, Recovery‑Strategien).
- Wenn plausible Denial‑of‑Existence (verleugnen, dass Daten vorhanden sind) Ihre höchste Priorität ist, sind spezialisierte Container (VeraCrypt‑Hidden) oder andere Verfahren zu prüfen.
- Wenn Sie Daten unterwegs häufig mit mehreren Benutzern teilen müssen, ist Dateibasierte Verschlüsselung mit Zugriffskontrolle oft praktischer.
XVII. Minitabelle der Entscheidungsheuristiken
- Ziel: Einfaches Schutzniveau für zusätzliche Daten → LUKS auf separater Festplatte.
- Ziel: Schutz einzelner Dateien für Austausch → GPG/eCryptfs.
- Ziel: plausible deniability → VeraCrypt‑Hidden (rechtliche Risiken beachten).
XVIII. Checklisten für Rollen
Administrator (Deployment):
- Backup der Daten vor dem Start.
- Schreiben von Zufallsdaten (dd) wenn nötig.
- Module (aes, dm-crypt, dm_mod) in /etc/modules eintragen.
- /etc/crypttab und /etc/fstab korrekt anlegen.
- Initramfs prüfen, falls Root verschlüsselt wird.
Endbenutzer (Täglicher Gebrauch):
- Sichere Passphrase nutzen.
- Gerät nach Nutzung aushängen und luksClose ausführen.
- Keine sensiblen Dateien unverschlüsselt auf dem Desktop belassen.
XIX. Kriterien bei der Annahme
- Das verschlüsselte Laufwerk lässt sich nach Neustart entschlüsseln und mounten.
- Daten sind nach entsperren lesbar und korrekt.
- Nach Ausführen von luksClose ist /dev/mapper/DEVICENAME nicht mehr vorhanden.
- Backup/Recovery‑Strategie existiert und wurde getestet.
XX. Glossar (einzeilige Definitionen)
- LUKS: Standardisiertes Containerformat zur Verwaltung von verschlüsselten Blockgeräten.
- dm-crypt: Linux‑Kernel‑Layer für Blockgeräteverschlüsselung.
- Mapper: Benutzerraumname unter /dev/mapper/ für entschlüsselte Geräte.
XXI. Kurze Zusammenfassung
Sie haben gelernt, wie Sie eine zusätzliche Festplatte oder Partition unter (X)Ubuntu Feisty mit dm-crypt und LUKS verschlüsseln: Vorbereitung, Kernel‑Module, LUKS‑Format, Mapping, Formatierung, Mounting, Boot‑Integration und Schlüsselverwaltung. Achten Sie auf sichere Passphrasen, korrektes Einhängen und regelmäßige Backups.
Wichtige Hinweise:
Wichtig: Dieser Prozess löscht alle Daten auf dem Zielgerät. Machen Sie vorher Backups.
Wenn Sie spezielle Anforderungen haben (Systemverschlüsselung, plausible Denial), planen Sie zusätzliche Schritte und testen Sie Wiederherstellungsszenarien.
Schlussbemerkung: Verschlüsselung ist ein wirksames Mittel, um ruhende Daten zu schützen. Sie ist jedoch Teil eines größeren Sicherheitskonzepts, das sichere Passwörter, Backup‑Strategien und Benutzerverhalten einschließt.
Ähnliche Materialien

Steam lässt sich nicht öffnen – 10 schnelle Lösungen

Pagefile in Windows: Größe und Speicherort ändern

Gelöschte E‑Mails auf dem Mac wiederherstellen

Laufwerk mit dm-crypt und LUKS verschlüsseln

YouTube-Suchverlauf anzeigen & löschen
