Die Daten Ihrer Kunden sichern

Verschlüsselungsverfahren unter Open Suse und Ubuntu

24.12.2009
Von David Wolski

Verschlüsselungsmethoden im Vergleich

Seit der Kernel-Version 2.6.19 unterstützt Linux das Dateisystem ecryptfs, das ein verschlüsseltes Dateisystem in einem Container bietet. ecryptfs ist ein gestapeltes Dateisystem, das auf einem bereits Vorhandenen aufsetzt. Es liegt als gewöhnliche Datei auf der Festplatte, lässt sich aber mit einem speziellen Mount-Befehl als Laufwerk einhängen. Nach der Eingabe des richtigen Schlüssels steht der Inhalt der verschlüsselten Container-Datei wie auf einer normalen Festplattenpartition zur Verfügung und taucht als externes Laufwerk im Verzeichnisbaum des Linux-Systems auf.

Der Vorteil der Container-Verschlüsselung mit ecryptfs ist die einfache Handhabung. Mehrere Container verschiedener Benutzer können im gleichen Verzeichnis liegen, ohne sich zu stören, und die Container lassen sich wie gewöhnliche Dateien verschieben, kopieren und auf anderen Linux-PCs mit ecryptfs und dem richtigen Passwort öffnen. root-Privilegien braucht man dazu nicht.

Eine weitere Methode basiert auf dem Modul dm-crypt des Linux-Kernels ab Version 2.4.6. Es schiebt sich zwischen Kernel und Dateisystem und kümmert sich bei Lese- und Schreibvorgängen um die Ver- und Entschlüsselung von Rohdaten, die ganz unabhängig vom Dateisystem chiffriert auf der Festplatte liegen. Dieses Verfahren eignet sich für ganze Partitionen und externe Datenträger. Beim Einhängen verschlüsselter Partitionen ist die Eingabe des richtigen Passworts nötig, sonst bleibt die Partition unlesbar. Open Suse nutzt dmcrypt auch für seine Container, die als Loop-Dateien angelegt werden.

Verschlüsselte Container mit Ubuntu

Ubuntu unterstützt sichere Container seit Version 8.04. Um ecryptfs auf der Kommandozeile einzurichten, öffnen Sie ein Terminal- Fenster (über „Anwendungen, Zubehör“) und installieren mit dem Befehl „sudo apt-get install ecryptfs-utils“ die Verschlüsselungs-Tools. Rufen Sie dann das Installationsscript „ecryptfs-setup-private“ auf.

Verschlüsselte Container mit Ubuntu
Verschlüsselte Container mit Ubuntu

Danach tippen Sie zunächst Ihr Benutzerpasswort ein und vergeben danach ein Mount-Passwort, das Sie zur Überprüfung noch einmal wiederholen müssen. Das Mount-Passwort wird zum Ver- und Entschlüsseln des Verzeichnisses benötigt. Für den Fall, dass der zwischengespeicherte Schlüssel verloren gehen sollte, müssen Sie sich das Passwort unbedingt merken oder es an einem sicheren Ort aufbewahren.

Melden Sie sich jetzt vom Desktop ab, und loggen Sie sich erneut ein. Im Home-Verzeichnis finden Sie nun das Verzeichnis „Private“, das nach dem Anmelden bereits entschlüsselt ist. Dateien, die Sie darin speichern, landen eigentlich verschlüsselt im versteckten Ordner /home/ <Benutzer>/.Private. Dieser Ordner wird nach dem Mounten unverschlüsselt in den Ordern „Private“ in Ihrem Home-Verzeichnis abgebildet.

Beim Abmelden vom Desktop wird der Container automatisch abgesperrt. Um das manuell bei laufender Sitzung zu erledigen, benutzen Sie den Konsolenbefehl „umount. ecryptfs_private“. Mit „mount.ecryptfs_private“ machen Sie die Dateien im Privatverzeichnis wieder zugänglich. Eine Passworteingabe ist nicht nötig, da das zuvor eingetippte von einem pam-Modul zwischengespeichert wird. Das zwischengespeicherte Passwort geht übrigens verloren, wenn Sie oder ein anderer Benutzer mit root-Rechten das Log-in-Passwort ändern. In diesem Fall müssen Sie vor dem Mounten das bei der Einrichtung ausgewählte Mount-Passwort mit dem Befehl „ecryptfs-add-passphrase“ neu eingeben.

Verschlüsselte Container mit Open Suse

Open Suse bietet zwei verschiedene Arten von Containern an: eine Loopback-Datei, die wie eine Partition ins System eingehängt wird, und die Möglichkeit, das Home-Verzeichnis von Benutzern zu verschlüsseln, was ebenfalls in einer Loopback-Datei als Container resultiert. Beides erledigen Sie unter Open Suse 11 und 11.1 komfortabel als root mit Yast: Um eine Container-Datei anzulegen, öffnen Sie in Yast „System, Partitionierer“ und legen dort mit „Crypt-Datei, Crypt-Datei hinzufügen“ einen Container in der gewünschten Größe an. Geben Sie im Feld „Pfadnamen der Loop-Datei“ den gewünschten Speicherort an, etwa /safe, und klicken Sie unten auf die Option „Erstelle Loop-Datei“. Anschließend formatieren Sie den Container mit dem gewünschten Dateisystem und weisen ihm wie einer richtigen Partition einen Einhängepunkt zu, etwa /mnt/safe. Schließlich müssen Sie noch ein Passwort vergeben, das Sie jedes Mal zum Einhängen beim Booten eintippen müssen.

Home-Verzeichnis verschlüsseln

Auch das Verschlüsseln eines Benutzerverzeichnisses erledigen Sie mit Yast als root unter „Sicherheit und Benutzer, Benutzer- und Gruppenverwaltung“. Wenn Sie dort einen Benutzer bearbeiten, finden Sie bei „Details“ die Option „Verschlüsseltes Home- Verzeichnis verwenden“. Diese Verschlüsselung nutzt dm-crypt mit LUKS statt ecryptfs sowie ein Image, das über den Device-Mapper gemountet wird. Falls Sie die Option aktivieren, müssen Sie noch die gewünschte Größe des Containers für das verschlüsselte Home-Verzeichnis angeben und mit „OK“ bestätigen. Alles Weitere richtet Open Suse automatisch ein: Unter /home liegt nun eine Image-Datei <Benutzer>.img und die zugehörige Schlüsseldatei <Benutzer>.key. Nach erfolgreicher Anmeldung des entsprechenden Benutzers hängt Open Suse das Image automatisch als dessen Home-Verzeichnis ein.

Beachten Sie, dass Sie bei falscher Eingabe des Passworts auf der Konsole landen. Nach dem Log-in müssen Sie dann erneut das Passwort zum Entschlüsseln eingeben, das diesem Benutzerkonto bei der ersten Verschlüsselung des Home-Verzeichnisses zugeordnet war. Auf diese Weise verhindert Open Suse, dass sich ein anderer Benutzer mit root-Rechten Zugang zum verschlüsselten Ordner verschafft.

Zur Startseite