Mit bewährten Linux-Tools als Unterbau schützen Tomb und Plasma Vault private Daten und Geschäftsdokumente vor neugierigen Blicken.
Computer nehmen heute einen breiten Raum in unserem Leben ein. Digitale Geräte kommen zum Einsatz, um Daten zu verwalten, darunter solche, bei denen es wichtig ist, sie vor den Augen Dritter zu schützen. Besondere Überlegungen gilt es insbesondere anzustellen, wenn es sich um Rechner handelt, an denen mehrere Personen arbeiten oder Notebooks, die verloren gehen oder gestohlen werden könnten.
In solch einem Fall gilt es, zu vermeiden, dass zum Verlust des Geräts noch der Verlust von Daten hinzukommt. Bei portablen Geräten bietet sich hier das komplette Verschlüsseln des Datenträgers oder zumindest der Home-Verzeichnisse an. Die Installer einiger Distributionen bieten dieses bereits an.
Verschlüsselung ja, aber?
Aber das Verschlüsseln ganzer Partitionen oder Systeme ist mit Nachteilen verbunden: Das Plus an Sicherheit erschwert auf der anderen Seite ebenso den Umzug der Festplatte in ein anderes System wie das eventuell nötige Recovery von Daten nach einem Crash.
Zudem sind alle Daten im Home nicht vor dem Zugriff geschützt, wenn dieses zur Laufzeit entschlüsselt ist. Deshalb gibt es Anwendungen, die Teilbereiche des Bestands in verschlüsselte Container innerhalb oder außerhalb des Home-Verzeichnisses verpacken.
Das Kommandozeilenprogramm Tomb [1] bietet viele Funktionen zum sicheren Verschlüsseln von Daten, bei Vault [2] dagegen handelt es sich um ein kleines Applet, das seit Plasma 5.11 Bestandteil des KDE-Desktops ist.
Beide Anwendungen erstellen verschlüsselte Container und schützen diese per Passwort. Während Tomb mit allen Desktop-Umgebungen und gänzlich ohne X funktioniert, arbeitet Vault nur mit der Plasma-Oberfläche des KDE-Desktops. Bei der KDE-Anwendung gibt es jedoch einen kleinen Stolperstein, bietet doch das eher auf Servern zu findende Verschlüsselungswerkzeug Vault viel Potenzial für Verwechselungen. [3].
Hausmittel
Das von Denis Roio aka Jaromil, Mitbegründer von Dyne.org und Devuan, entwickelte Tomb setzt als Shell-Skript auf bewährte Zutaten aus dem Linux-Baukasten. Das Verschlüsseln übernimmt dm-crypt, das zum Device Mapper im Kernel gehört [4]. Unterstützung bekommt dm-crypt dabei von LUKS (Linux Unified Key Setup), das insgesamt den Einsatz der Container erleichtert [5].
Die mit Tomb erstellten Container heißen folgerichtig Tombs. Sie erstellen diese mit wenigen Befehlen auf der Kommandozeile und binden sie anschließend ins System ein. Für einige Aktionen benötigen Sie jedoch administrative Rechte per Root-Passwort oder Sudo, was die Verwendung von Tomb für Anwender ohne diese Möglichkeit ausschließt.
Schlüssel aufbewahren
Tomb findet sich mittlerweile in den Paketquellen zahlreicher Distributionen. Dazu zählen unter anderem Debian und Ubuntu, bei Arch Linux steht es im Benutzer-Archiv AUR bereit, bei OpenSuse im Build-Service und bei Fedora in dessen Entsprechung COPR.
Alternativ erstellen Sie Tomb bei Bedarf recht schnell aus dem Quellcode, da die meisten Abhängigkeiten auf Linux-Systemen bereits vorinstalliert sind. Anleitung hierzu bietet das Projekt auf der Github-Seite [6]. Die Manpage von Tomb führt detailliert in alle Optionen der Software ein [7].
Der Wunsch nach sicherer Verschlüsselung stammt oft von Menschen, deren Unversehrtheit oder gar Leben von der Sicherheit der mitgeführten Daten abhängt. Das Konzept vieler entsprechender Tools ist drastisch stärker, sobald Sie Schlüssel und die damit verschlossenen Container nicht am selben Ort aufbewahren. Aus diesem Grund bietet Tomb einige Optionen, wie Sie Container und Schlüssel getrennt voneinander halten und trotzdem Zugriff auf die Daten besteht.
Befinden sich die Container auf einem PC oder Notebook, dann lagern Sie die zum Öffnen benötigten Schlüssel etwa auf einen USB-Stick aus. Liegen die Container auf einem Server, sind die Schlüssel auf Ihrem PC oder Notebook daheim gut aufgehoben. Zudem erlaubt es die Software, die Schlüssel in einen QR-Code umzuwandeln, den Sie dann ausdrucken oder über ein mobiles Gerät einlesen.
QR-Code oder Stegano
Sollen oder müssen Sie die Schlüssel dennoch auf demselben Gerät wie die Container speichern, so bietet das Tool die Möglichkeit, die Schlüssel per Steganografie in einem JPG-Bild zu verstecken. So verbergen Sie nicht nur den Schlüssel vor unbefugten Augen, ein Bild hilft im Zweifel dabei, sich zu erinnern, wo die Schlüssel liegen.
Im täglichen Umgang erweist sich das Ein- und Aushängen von Containern mit Tomb als wenig umständlich. Mit entsprechender Konfiguration bindet die Software Dateien, die andere Anwendungen zur Laufzeit brauchen, ein. Das bietet sich etwa an, um das Profil des Webbrowser mit Bookmarks und dem Verlauf oder die Mailboxen des Mail-Programms zu schützen.
Egal, wie Sie die Software aber einsetzen, zunächst gilt es, einen Container im Home-Verzeichnis zu erstellen. Dabei geben Sie die Größe und einen Namen vor. Der grundlegende Befehl dazu lautet tomb dig (Abbildung 1). Weitere Beispiele zu den Kommandos der Anwendung finden Sie in der Tabelle “Befehle”.

Abbildung 1: Der Befehl zum Ausheben der Gruft listet am Ende gleich die beiden Befehle auf, die den Container einsatzbereit machen.
|
|
Gruft ausheben |
|
|
Schlüssel schmieden |
|
|
Gruft formatieren |
|
|
Gruft aufschließen |
|
|
Gruft abschließen |
|
|
Gruften sofort schließen |
|
|
Schlüssel in Bild verstecken |
|
|
Schlüssel wieder ausbuddeln |
|
|
Gruft mit Bild aufschließen |
|
|
Schlüssel in QR-Code schreiben |
|
|
Gruft vergrößern |
|
|
Passwort eines Containers ändern |
|
|
Neuen Schlüssel erzeugen |
Bei der Bemessung der Größe sollten Sie bedenken, dass es später zwar möglich ist, einen Container zu vergrößern, aber nicht zu schrumpfen. Beim Namen brauchen Sie sich nicht an die Konvention Name.tomb zu halten, der Name des Containers dürfte also ebenfalls reisen.fotos lauten.
Nach dem Ausheben der Gruft, um im Jargon des Tools zu bleiben, zeigt die Konsole Ihnen bereits die nächsten nötigen Schritte an, Sie brauchen diese nur zu kopieren und nacheinander auszuführen.
Schlüssel schmieden
So erstellen Sie als Nächstes einen neuen Schlüssel. Dazu dient der Befehl tomb forge (Abbildung 2). Sollten Sie dabei die Fehlermeldung erhalten, dass das System eine Swap-Partition nutzt, deaktivieren Sie diese zunächst. Auf diese Weise versuchen die Tomb-Entwickler zu verhindern, dass es möglich ist, den Schlüssel bei vollem Arbeitsspeicher unter Umständen von der Festplatte zu kopieren.

Abbildung 2: Das Schmieden des Schlüssels verlangt die Eingabe eines Passworts. Das Kennwort dürfen Sie später ändern, solange Sie die alte Passphrase nicht vergessen.
Die Swap-Partition setzen Sie entweder mittels sudo swapoff -a außer Betrieb, oder Sie ergänzen den Befehl zum Erstellen des Schlüssels (unter Inkaufnahme des Risikos) mit dem Schalter -f. Am Ende erstellt das Programm nach Eingabe eines Passworts einen mit AES256 [8] gesicherten Schlüssel. Das Passwort ändern Sie später bei Bedarf.
TIPP
Erstellen Sie für das Ein- und Ausschalten des Swap einen Shell-Alias in Kombination mit den Befehlen, die das betrifft, in der Konfigurationsdatei der Bash (Listing 1).
Listing 1
alias tf="sudo swapoff -a && tomb forge && sudo swapon -a"
Im Test verblieb der Schlüssel der Einfachheit halber im Home-Verzeichnis. In der Praxis sollten Sie den Schlüssel jedoch getrennt vom Container aufbewahren. Liegt der Schlüssel dennoch zusammen mit dem Container auf einer Partition, empfiehlt es sich, diesen in einem JPG-Bild zu verstecken. Beim Öffnen und Schließen des Containers verweisen Sie dann auf die Bilddatei anstatt auf die Schlüssel-Datei.
Versteckte Schlüssel
Dazu installieren Sie zunächst das Paket steghide aus der Paketverwaltung und suchen ein möglichst kleines JPG-Bild, um darin mit Tomb den Schlüssel zu verstecken, was Sie mittels tomb bury tun. Mit dem Befehl tomb exhume extrahieren Sie ihn bei Bedarf wieder (Abbildung 3).

Abbildung 3: Die Anwendung von Steganografie zum Verstecken des Schlüssels mindert das Risiko, wenn Schlüssel und Container auf der gleichen Partition liegen.
Bevor Sie einen Container mit Daten befüllen, formatieren Sie ihn zunächst. Nach Eingabe von tomb lock ist der Container einsatzbereit; mit tomb open öffnen Sie ihn (Abbildung 4). Nutzen Sie mehrere davon, erhalten Sie mit tomb list eine Übersicht über den jeweiligen Zustand der einzelnen Instanzen (Abbildung 5).

Abbildung 4: Beim Öffnen hängt Tomb den Container in das System ein. Der Befehl tomb open informiert zudem über den Zeitpunkt der letzten Öffnung.

Abbildung 5: Der Befehl tomb list liefert Informationen über den jeweiligen Zustand der eingerichteten Container.
Die Software hängt die Container, sofern Sie per -o keinen Einhängepunkt angeben, unter /media ein. Gibt es das Verzeichnis nicht, versucht das Programm mit /run/media eine Alternative. Benötigen Sie das verschlüsselte Datengrab nicht mehr, schließen Sie den Container per tomb close wieder ordnungsgemäß. In Notsituationen schlagen Sie mit tomb slam all den Deckel aller Container ohne Rücksicht auf Verluste zu, selbst wenn noch Prozesse darauf zugreifen.
Dateimanager wie der von Gnome oder Dolphin aus der KDE-Suite zeigen geöffnete Container in der Seitenleiste quasi wie einen extra Datenträger an. Über diese Icons hängen Sie die Tombs wieder aus, wobei Tomb das Passwort abfragt.
Haken an der Sache
Tomb ist nicht nur in der Lage vom Anwender erstellte Daten zu schützen, sondern darüber hinaus solche, die Anwendungen erzeugen und die diese zur Laufzeit brauchen. Dazu zählt etwa das Profil eines Browsers oder der Mailordner eines E-Mail-Clients. Der Ordner mit den SSH-Keys bietet sich ebenfalls an.
Um aktiv Daten zu schützen bedient sich Tomb sogenannter Hooks. Das sind einfache Skripte, die Sie im Container anlegen, um beim Öffnen und Schließen Aktionen auszulösen. So dienen im Beispiel Bind-Hooks dazu, solche Dateien beim Öffnen des Containers in das Home-Verzeichnis des Users einzuhängen und beim Schließen wieder zu verstecken.
Zum Einrichten schließen Sie zunächst die Anwendungen, deren Konfigurationsdateien Sie verschieben wollen, und öffnen dann einen Container. Danach verschieben Sie im Fall von Firefox das Verzeichnis ~/.mozilla. Da unser Container dazu zu klein war, mussten wir ihn zunächst mit dem Befehl tomb resize vergrößern (Abbildung 6).

Abbildung 6: Mittels tomb resize vergrößern Sie nachträglich einen mit Tomb erstellten Container. Das Verkleinern, etwa um die Daten auf einen USB-Stick mit geringerer Kapazität zu speichern, ist allerdings nicht möglich.
Kopieren Sie nun die Verzeichnisse ~/.mozilla, ~/.thunderbird und ~/.ssh in den geöffneten Container und erstellen dort auch gleich die Datei bind-hooks mit dem Inhalt aus Listing 2. Das Prinzip ist einfach: Die erste Spalte in jeder Zeile gibt den Ort im Tomb an, die zweite den Pfad zum Einhängen der Daten relativ zum Home-Verzeichnis.
Listing 2
.ssh .ssh .mozilla .mozilla .thunderbird .thunderbird
Einfache Logik
Nun schließen Sie den Container und starten die entsprechenden Anwendungen, damit diese die Dateien als Standard neu anlegen. Wenn Sie nun künftig den Container öffnen und dann etwa Firefox starten, hängt Tomb den im Container befindlichen Ordner .mozilla an der richtigen Stelle ein – und somit ist es möglich, das verschlüsselte Browser-Profil zu laden. Daneben gibt es noch die Exec-Hooks, mit denen Sie per Skript Dokumente und Anwendungen beim Öffnen eines Containers automatisch starten.
Der Einsatz von Tomb auf der Kommandozeile fällt nicht schwer und folgt einer Logik, die bereits nach kurzer Zeit ins Fleisch und Blut übergeht. Scheuen Sie sich allerdings vor dem Terminal und den Kommandos, bietet sich ZuluCrypt [9] als grafische Oberfläche für die wichtigsten Funktionen an (Abbildung 7). Zudem gibt es die minimale grafische Oberfläche Gtomb, die aber nur unter Arch Linux im AUR und bei Sparky Linux paketiert zu sein scheint.

Abbildung 7: Mit ZuluCrypt haben Sie eine grafische Oberfläche zur Hand, über die Sie Tombs öffnen und schließen. Weitergehende Funktionen unterstützt die Software allerdings nicht.
Plasma Vault
Plasma Vault dient ebenfalls zum Wegschließen von Dateien und Verzeichnissen in verschlüsselten und passwortgeschützten Containern, arbeitet unter der Haube jedoch gänzlich anders. Das für die KDE-Plattform entwickelte Applet steht seit Plasma 5.11 bereit und ist in vielen Distributionen bereits vorinstalliert. Falls nicht, holen Sie das meist schnell nach. Anschließend nistet sich das Miniprogramm im System-Tray mit einem Vorhängeschloss als Icon ein.
Vault unterstützt mit Encfs und CryFS zwei Crypto-Verfahren, wobei Letzteres als Standard voreingestellt ist. In der Regel bedienen Sie das Tool über besagtes Icon. Es gibt aber zusätzlich Kommandos für das Terminal. Zudem erlaubt Vault seit Neuestem das Schließen von Containern über die Smartphone-App KDE Connect.
Für die nächste Version verspricht der Entwickler die Möglichkeit des Imports bestehender Vaults auf anderen Geräten über die GUI, was den Nutzen von Vault in der Cloud erweitert.
Ein Klick auf das Vault-Icon ermöglicht es, bereits erstellte Container zu öffnen oder ein neues Vault zu erzeugen (Abbildung 8). Dabei empfiehlt es sich, die Vorgabe mit CryFS zu übernehmen, da Encfs seit Jahren eine Sicherheitslücke aufweist, die in bestimmten Situationen einen Angriff ermöglicht.

Abbildung 8: Plasma Vault richtet sich im System-Tray ein. So ist das Fenster zum Anzeigen vorhandener und zum Erstellen neuer Vaults immer nur einen Mausklick entfernt.
Nur wenige Klicks
Nach dem obligatorischen Erstellen eines Passworts fragt Vault den Speicherort und den Einhängepunkt ab. Hier entscheiden Sie, ob der Container lokal auf dem Rechner oder online bei einem Cloud-Anbieter liegt. Sollen die Daten in die Wolke, ändern Sie den Einhängepunkt entsprechend des Pfads des von Ihnen eingesetzten Diensts ab (Abbildung 9).

Abbildung 9: Ob die Vault die Daten in der Cloud oder dem Rechner lagert, ist dieser einerlei. Als Einhängepunkt tragen Sie einen Ordner auf dem System oder das Verzeichnis ein, das Sie mit dem Online-Dienst abgleichen.
Bei der Methode zum Verschlüsseln sollten Sie in der Regel den Standard AES256 übernehmen. Im gleichen Fenster legen Sie fest, ob das System, sobald es den Container öffnet, sämtliche Netzwerkverbindungen (also Ethernet, WLAN und Bluetooth) abschaltet. Ein weiterer Klick erstellt den Container, den die Software dann beim erneuten Klick auf das Icon als geöffnet anzeigt.
Anschließend steht der Container im Dateimanager wie ein herkömmlicher Ordner bereit. Im Dateimanager Dolphin signalisiert ein schwarz eingefärbtes Ordnersymbol einen geöffneten Vault (Abbildung 10). Daten verschieben Sie per Dolphin oder über entsprechende Konsole-Kommandos in den verschlüsselten Bereich.

Abbildung 10: Dolphin zeigt ein geöffnetes Vault schwarz mit geöffnetem Schloss dar, geschlossene Vaults sind dagegen von herkömmlichen Ordnern nicht zu unterscheiden.
Klicken Sie hingegen auf einen noch versperrten Container (mit blauem Icon), so öffnet sich ein vermeintlich leerer Ordner ohne Hinweis auf Menge oder Beschaffenheit der dort gespeicherten Daten. Bei Bedarf verschließen Sie den Container wieder über das Icon des Tools im System-Tray.
Fazit
Tomb und Vault arbeiten auf dasselbe Ziel hin: die Daten der User besser zu schützen. Beide Tools nutzen allerdings unterschiedliche Ansätze. Tomb ist mit seinen vielen Optionen sehr mächtig, bleibt aber trotzdem einfach zu bedienen. Die Anwendung erlaubt dabei selbst zur Laufzeit von Prozessen, benötigte Daten zu verschlüsseln. Vault beschränkt sich hingegen auf das Verschlüsseln von reinen Nutzer-Daten. Beide Anwendungen erlauben das Auslagern von Containern in die Cloud.
Tomb überzeugt mit eingängigen Befehlen für die Kommandozeile und funktioniert überall unter Linux. Vault ist dagegen vollkommen auf den Plasma-Desktop zugeschnitten, wobei Sie es mit wenigen Mausklicks aus dem System-Tray heraus steuern. Beide Anwendungen überzeugen im Alltag und weisen hier kaum Schwächen auf. Ob Sie nun Ihre Daten besser in einer Gruft oder einem Tresor lagern, bleibt also Ihnen überlassen.
Infos
-
dm-crypt: https://de.wikipedia.org/wiki/Dm-crypt
-
LUKS: https://de.wikipedia.org/wiki/Dm-crypt#Erweiterung_mit_LUKS
-
Tomb bauen: https://github.com/dyne/Tomb/blob/master/INSTALL.md
-
Manpage: http://manpages.ubuntu.com/manpages/bionic/man1/tomb.1.html
-
AES256: https://www.security-insider.de/was-ist-aes-advanced-encryption-standard-a-688378
-
ZuluCrypt: https://www.linux-community.de/ausgaben/linuxuser/2016/10/multitool





