Verschlüsselte Festplatten per eCryptfs

Sichtschutz

Viele Linux-Distributionen bieten mittlerweile verschlüsselte Partitionen an, die aber den Zugriff auf einen Anwender beschränken. Feiner regulierte Verschlüsselung bietet eCryptfs.
Strom sparender Computereinsatz hilft nicht zuletzt auch Kosten zu senken. ADMIN 02/2011 geht der Frage nach, was Administratoren tun können, damit ihre ... (mehr)

eCryptfs [1] bietet Verschlüsselung auf Dateiebene nach PGP-Art. Speichert der Anwender eine Datei in einem per eCryptfs verschlüsselten Verzeichnis, verschlüsselt eCryptfs sie transparent. Wird eine solche Datei gelesen, geschieht auch die Entschlüsselung automatisch. Das alles passiert hinter den Kulissen, wobei mit den Default-Einstellungen der Login-Schlüssel verwendet wird, was den ganzen Ablauf ohne weiteren Eingriff automatisiert.

Datei statt Block

Einer der Vorteile von dateibasierter gegenüber blockbasierter Verschlüsselung liegt darin, dass mehrere Schlüssel auf einem System möglich sind. Das bedeutet, dass Benutzer auf dem gleichen System ihre Dateien oder Verzeichnisse unabhängig voneinander verschlüsseln können. Verschiedene Benutzer können selbst im gleichen Verzeichnis ihre Dateien mit unterschiedlichen Schlüsseln ablegen.

Mit Ubuntu hat der Anwender die Möglichkeit, bei der Installation sein Home-Verzeichnis zu verschlüsseln. Wer einen neuen Benutzer anlegt, kann das ebenso mit einem verschlüsselten Home-Verzeichnis tun, wenn die »ecryptfs-utils« installiert sind:

sudo adduser --encrypt-home 
<!-- START: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) -->
Benutzer
<!-- STOP: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) -->

Leider funktioniert dieser Befehl nur unter Ubuntu. Debian unterstützt zwar eCryptfs, aber sein Adduser-Tool kennt nicht die Option »--encrypt-home« . Alternativ können Sie natürlich auch eCryptfs von Hand installieren und einrichten:

ecryptfs-setup-private

Dieser Aufruf legt ein Verzeichnis »~/Private« an und richtet es als verschlüsseltes Verzeichnis ein ( Abbildung 1 ). Wenn Sie sich ausloggen, wird es unter dem Namen »~/.Private« gespeichert, beim Neueinloggen wird es automatisch als »~/Private« gemountet. Das Login-Password dient dazu, die Passphrase zum Verschlüsseln zu speichern.

Abbildung 1: Ein privates Verzeichnis für verschlüsselte Dateien.

Am sichersten ist es, eCryptfs selbst eine zufällige Passphrase erzeugen zu lassen, denn ein zufälliges Passwort ist meist resistenter gegen Brute-Force-Attacken als ein selbst ausgedachtes. Sie sollten die Passphrase an einem sicheren Ort speichern, falls ein Problem auftritt und Sie die Dateien wieder von Hand entschlüsseln müssen. Der folgende Befehl gibt die gespeicherte Passphrase aus:

ecryptfs-unwrap-passphrase .ecryptfs/wrapped-passphrase

Wenn Sie sich entschieden haben, welche Verzeichnisse Sie verschlüsseln möchten, verschieben Sie sie nach »~/Private« und legen einen symbolischen Link zu Ihrem alten Speicherort an. Um zum Beispiel das Verzeichnis Ihrer Bankdaten zu verschlüsseln, verwenden Sie diese Befehle:

cd
mv banking Private/
ln -s Private/banking banking

Wenn Sie sich ausloggen oder »Private« unmounten, werden sowohl der Inhalt dieses Verzeichnisses als auch die Dateinamen verschlüsselt. Andere Benutzer können also bei einem Blick in das Verzeichnis nicht feststellen, was dort gespeichert ist. Ein anderes Verzeichnis dorthin zu verschieben, führt dazu, dass es automatisch verschlüsselt wird.

Wenn Sie nicht wollen, dass »Private« beim Einloggen automatisch gemountet wird, löschen Sie »~/.ecryptfs/auto-mount« (und »~/.ecryptfs/auto-umount« ). Bei beiden handelt es sich um leere Dateien, Sie können sie also einfach mit »touch« wieder anlegen, um das Automounten wieder zu aktivieren. Wenn Sie wichtige Dateien nach »Private« verschoben und Automount aktiviert haben, werden Sie vielleicht mit Fehlermeldungen konfrontiert, zum Beispiel bei wichtigen Konfigurationsdateien für den Desktop.

Handverschlüsselt

Wenn Sie ein anderes Verzeichnis als »Private« verwenden möchten oder ein zweites verschlüsseltes Verzeichnis (zum Beispiel mit einem anderen Schlüssel), aktivieren Sie eCryptfs folgendermaßen:

mkdir ~/secret
chmod 700 ~/secret
sudo mount -t ecryptfs secret secret

Das Programm fragt Sie dann nach dem gewünschten Verschlüsselungsverfahren und der Schlüssellänge – verwenden Sie einfach die Defaults, wenn Sie sich nicht sicher sind. Außerdem werden Sie gefragt, ob Sie Plaintext-Passthrough verwenden möchten. Dieses Feature erlaubt es, innerhalb eines eCryptfs-Verzeichnisses unverschlüsselte Dateien abzulegen. Das mag zwar in manchen Situationen nützlich sein, aber man verliert leicht den Überblick darüber, was nun verschlüsselt ist und was nicht. Meistens ist die Default-Einstellung, es nicht zu erlauben, am besten.

Filename-Encryption bedeutet, dass nicht nur Dateiinhalte, sondern auch Dateinamen verschlüsselt werden. Dann können nur Sie die Dateinamen im verschlüsselten Verzeichnis sehen, wenn es mit eCryptfs gemountet ist. Schließlich werden Sie noch nach der Passphrase gefragt. Weil es das erste Mal ist, dass Sie diesen Mountpoint verwenden, erhalten Sie eine Warnmeldung darüber, dass Sie die Passphrase zum ersten Mal verwenden. Außerdem möchte das Tool wissen, ob Sie die Passphrase im Keyring speichern wollen, um künftige Warnmeldungen zu vermeiden.

In den Mount-Parametern steht die erste Pfadangabe für das Verzeichnis, das Sie per eCryptfs mounten wollen, die zweite für den Mountpoint. Diese beiden Pfade können sich unterscheiden, wenn sie aber gleich sind, bedeutet das, dass Sie auf Dateien im verschlüsselten Verzeichnis immer über eCryptfs zugreifen müssen. Dadurch wird der Zugriff auf diese transparent.

Wenn Sie die Arbeit mit dem Verzeichnis beenden und unmounten, sehen Sie statt der Dateinamen nur noch die verschlüsselten Versionen (jedenfalls, wenn Sie die Verschlüsselung von Dateinamen aktiviert haben). Wenn Sie einen Blick in die Dateien werfen, sehen Sie nur zufällig erscheinende Binärdaten.

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023