claim.gif
Linux Magazin Linux User Easy Linux Ubuntu User International Linux Community
Erschienen in EasyLinux 09/2005   »   Ausgabe bestellen

Einzelne Dateien oder ganze Festplatten-Partitionen verschlüsseln

Vorhang zu!

von Achim Leitner


Mit etwas Kryptographie verhindern Sie, dass Unbefugte Ihre Dateien lesen. Ob Dieb, Staatsanwalt oder neugieriges Familienmitglied -- ohne den passenden Schlüssel durchdringt kein Blick den schützenden Vorhang.

Wenn Sie Ihre Dateien vor fremdem Zugriff schützen wollen, setzen Sie als Erstes die Zugriffsrechte [1]. Wer sich ordentlich am System anmeldet, erhält ausschließlich in die Dokumente Einblick, die ihm ein Leserecht gewähren -- dass das auch sicher funktioniert, dafür sorgt der Linux-Kernel. Nur: Wenn nicht das gewünschte Linux läuft, dann gibt es niemanden, der die Rechte durchsetzt. Die Zugriffsrechte verlieren ihre Wirksamkeit.

Diese Situation ist gar nicht so ungewöhnlich: Eine Knoppix-CD genügt. Einfach dieses System booten, die lokale Festplatte einbinden, und schon hat der Benutzer Zugriff auf jede Datei. In vielen Firmen sind aus diesem Grund Floppy- und CD-Laufwerk verschlossen oder wenigstens im Rechner-BIOS das Booten von Compact Disc, Diskette und USB-Stick untersagt. BIOS-Passwörter lassen sich aber vergleichsweise leicht knacken oder umgehen, um diese Restriktion auszuhebeln. Schlimmer noch: Wer die Festplatte ausbaut, kann sie in Ruhe in einen anderen PC schrauben und dort den Inhalt durchstöbern.

Vermeidbar ist diese ungewollte Offenheit nur mit starker Kryptographie. Selbst wenn ein Unbefugter eine verschlüsselte Datei liest, versteht er den chiffrierten Inhalt nicht. Nur die entschlüsselte Klartextvariante gibt ihre Geheimnisse preis. Wollen Sie sich vor Datendieben wirksam schützen, dann gelingt das nur mit Verschlüsselung. Die erste Entscheidung, die Sie treffen müssen, ist: Möchten Sie nur eine einzelne Datei verschlüsseln -- beispielsweise mit GnuPG [4] -- oder ein ganzes Dateisystem, eine komplette Partition [5]. Beide Varianten weisen eigene Vorteile auf.

Zwei Verfahren

Für die Einzelverschlüsselung spricht, dass sie ohne Eingriff in das System funktioniert. Sie brauchen keine Administratorrechte (Root), sondern legen als normaler Systembenutzer los. Die chiffrierte Datei ist problemlos kopierbar und per E-Mail zu versenden, ohne dass ihr Schutz darunter leidet. Bei einer größeren Menge an Dateien gerät das Verfahren allerdings zur Sisyphusarbeit. Zudem gibt es Sicherheitsprobleme:

Befinden sich das Home-Verzeichnis sowie die Verzeichnisse mit temporären Daten auf einer verschlüsselten Partition, gelangen keine Klartextversionen Ihrer schützenswerten Daten auf die Festplatte [5]. Der Kernel kümmert sich bei jeder Schreib- und Leseoperation darum, die Daten zu ver- oder entschlüsseln. Auf der Festplatte liegen immer nur chiffrierte Daten.

Loopback oder Partition

Beim Verschlüsseln eines ganzen Verzeichnisbaums haben Sie noch eine weitere Wahlmöglichkeit: Er kann als echte Partition auf der Festplatte liegen oder in einer gewöhnlichen Datei stecken, die sich als Partition ausgibt. Dieses so genannte Loopback-Verfahren spart Partitionen auf der Platte, ist dafür etwas unübersichtlicher. Statt der echten Plattenpartition landen die verschlüsselten Daten in einer Datei, die wie jede andere Datei in einem Dateisystem in einer Partition liegt -- auf den ersten Blick verwirrend, aber doch praktisch.

Eine Einschränkung sei aber noch genannt: Nicht jeder Bereich im Verzeichnisbaum taugt für Verschlüsselung. Der Münchhausentrick -- sich an den eigenen Haaren aus dem Sumpf ziehen -- scheitert in der Realität: Da der Kernel den Dateisysteminhalt ver- und entschlüsselt, muss der Kernel bereits geladen sein, bevor Zugriffe auf die Dateien gelingen. Er kann folglich nicht selbst in einem Krypto-Bereich liegen. Das Wurzelverzeichnis / ist tabu, /usr und /boot ebenfalls.

Passphrase als Schlüssel

Egal ob einzelne Datei oder ganzes Filesystem -- bei beiden Techniken schützen Sie den Inhalt mit einem Schlüssel, den die Software aus einer Passphrase generiert. Dabei handelt es sich um ein Passwort, das beliebig lang ausfallen darf und nichts mit Ihrem normalen Benutzerkennwort zu tun hat. Die Passphrase sollten Sie möglichst zufällig wählen, so dass sie niemand erraten kann. Aber Vorsicht: Wenn Sie die Passphrase vergessen, sind Ihre Daten verloren. Der Schutz hält nicht nur Cracker erfolgreich ab, sondern im Ernstfall den rechtmäßigen Besitzer ebenso konsequent.

Eine Hintertür gibt es nicht. Es empfiehlt sich eventuell, die Passphrase entgegen allen Regeln doch zu notieren und den Zettel in einem Schließfach zu deponieren. Oft ist der Schaden größer, wenn die Datei nicht mehr lesbar ist, weil der Schlüssel (Passphrase) fehlt, als wenn sich ein Fremder unberechtigt Zugriff verschafft. Hier gilt es im Einzelfall gut abzuwägen.

KGpg

Wollen Sie nur eine einzelne Datei verschlüsseln, können Sie dafür das KGpg-Programm verwenden. Dieses Tool dient als grafische Oberfläche für die komplexe Verschlüsselungssoftware GPG (GNU Privacy Guard) [4] und hat daher sehr viele Funktionen, die Sie für eine einfache Dateiverschlüsselung gar nicht brauchen. Unter Mandrake Linux 10.2 ist das Programm nicht installiert; Sie können das Paket aber von der Heft-CD aufspielen. Dort finden Sie auch eine Installationsanleitung.

KGpg versteckt sich im Mandrake-Startmenü unter System / Einstellungen / Sonstiges / KGpg. Suse Linux bringt das Programm in der Standardinstallation bereits auf die Festplatte. Hier ist es im Startmenü über Dienstprogramme / KGpg zu erreichen.

Beim ersten Aufruf erscheint ein Assistent, der an allen Stellen bereits sinnvolle Einträge vorschlägt. Klicken Sie einfach auf Weiter, bis der Assistent seine Arbeit erledigt hat. Danach öffnet sich die Schlüsselverwaltung -- dieses Fenster öffnet sich auch bei jedem erneuten Aufruf von KGpg. Auch die zu Beginn laufende Schlüsselgenerierung können Sie bedenkenlos abbrechen. Danach ist nur noch das Fenster Schlüsselverwaltung geöffnet:

  1. Sie brauchen sich mit der Schlüsselverwaltung nicht zu beschäftigen, sondern rufen aus dem Menü Datei / Editor öffnen auf.
  1. Auch dieser Editor ist zunächst nicht weiter relevant, er besitzt aber den wichtigen Menüeintrag Datei / Datei verschlüsseln. Den rufen Sie nun auf. Vorsicht: Klicken Sie nicht auf die Schaltfläche Verschlüsseln am unteren Fensterrand, die bezieht sich nur auf den Inhalt des Text-Editors.
  1. Es öffnet sich ein Dateiauswahlfenster. Wählen Sie die Datei, die Sie verschlüsseln wollen.
  1. Darauf erscheint ein Dialog, in dem Sie einen bereits vorhanden Schlüssel wählen können. Wenn Sie noch keinen haben, bleibt die Liste leer. Sie brauchen auch keinen fertigen Schlüssel, wenn Sie das Passwort direkt als Schlüssel einsetzen. Klicken Sie dazu auf die Optionen-Schaltfläche und setzen Sie danach das Häkchen vor Symmetrische Verschlüsselung (Abbildung 1).

Abb. 1: Wenn Sie beim Verschlüsseln von Dateien die "Symmetrische Verschlüsselung" wählen, dient ein Passwort direkt als Schlüssel. Eine aufwändige Schlüsselverwaltung entfällt dadurch.
  1. Wollen Sie die Originaldatei entfernen, um nur noch die chiffrierte Version zu behalten, müssen Sie zusätzlich Quelldatei in den Reißwolf werfen auswählen. Dieses Verfahren löscht die Datei sicher von der Platte.
  1. Nach einem Klick auf OK fragt KGpg nach einem Passwort. Das dient als Schlüssel für die zu chiffrierende Datei.

    Die Suse-9.3-Variante zeigt zusätzlich die Stärke das Passworts an, also den Grad an Zufälligkeit. Je stärker ein Passwort, desto schwerer fällt es Fremden, dieses Geheimnis zu erraten.
  1. Nach einem OK erzeugt das Tool die verschlüsselte Datei und hängt die Endung .asc an ihren Dateinamen.

Aufgedeckt

Wenn Sie die geheimen Daten wieder in Klartext verwandeln wollen, dann verwenden Sie ebenfalls KGpg. Folgendes klappt auch auf einem fremden Rechner, Sie können das chiffrierte File problemlos kopieren und versenden.

  1. Wieder ist die KGpg-Schlüsselverwaltung irrelevant, Sie starten den Editor per Datei / Editor öffnen.
  1. Im Editor wählen Sie den Menüeintrag Datei / Datei entschlüsseln.
  1. Im folgenden Dateiauswahlfenster suchen Sie die verschlüsselte Datei. Sie trägt den Originalnamen mit angehängtem .asc.
  1. KGpg fragt anschließend, ob Sie den Inhalt nur im Editor öffnen wollen oder als entschlüsselte Datei wieder ablegen möchten. Letzteres ist per Default ausgewählt und der Originalname eingetragen. Klicken Sie auf OK.

  1. Nun müssen Sie noch das Verschlüsselungspasswort eingeben -- fertig.

KGpg nistet sich nach dem ersten Aufruf übrigens im System-Tray (rechts unten in der Startleiste) ein. Wenn Sie dort auf das Schloss-Symbol klicken, öffnet sich wieder das Schlüsselverwaltungsfenster. Um das Icon im Tray loszuwerden, beenden Sie KGpg mit dem Menüpunkt Datei / Beenden, statt das Fenster über den X-Knopf zu schließen.

Drakloop

Wollen Sie statt einer einzelnen Datei einen ganzen Verzeichnisbaum verschlüsseln (die so genannte Loopback-Variante), klappt das unter Mandrake Linux am leichtesten mit Drakloop (Suse bringt leider nichts Vergleichbares mit). Dieses pfiffige Programm verdient das Prädikat "besonders praktisch". Es gehört zum mountloop-Paket, das leider nicht per Default installiert wird. Sie können es aber von der Mandrake-10.2-CD nachinstallieren:

  1. Rufen Sie über System | Einstellungen | Paketierung | Software installieren die Paketverwaltung auf und suchen Sie nach loop.
  1. Die Ergebnisliste sollte mountloop-0.15.1-1mdk hervorbringen. Installieren Sie dieses Paket, indem Sie das Häkchen davor setzen und auf Installieren klicken.
  1. Eventuell kommt noch der Hinweis, dass Mandrake Linux zusätzlich das OpenSSH-Askpass-Programm installieren will. Bestätigen Sie dies ebenfalls.

Abb. 2a: Das Drakloop-Programm verlangt nur ein paar Eingaben und legt dann einen verschlüsselten Verzeichnisbaum an.

Abb. 2b: In seinem Hauptfenster zeigt Drakloop alle verschlüsselten Verzeichnisse. Der Benutzer kann sie einzeln aktivieren (einhängen) oder aushängen.

Abb. 2c: Hat der User ein verschlüsseltes Verzeichnis angelegt, fragt Drakloop beim nächsten Login nach dem Passwort für dieses Verzeichnis.

Das Programm starten Sie im Startmenü über System | Archivierung / Sonstiges / DrakLoop. Um ein verschlüsseltes Dateisystem zu erzeugen, klicken Sie auf das große Plus-Symbol in der Werkzeugleiste (Hinzufügen) und geben folgende Daten an (Abbildung 2a):

Das Drakloop-Übersichtsfenster zeigt nun einen Eintrag für das neue verschlüsselte Verzeichnis (Abbildung 2b). Wenn Sie sich ausloggen, wird die Verzeichnis-Einbindung gelöst, und niemand kommt an die geschützten Daten heran. Beim nächsten Login fragt das Tool nach dem Passwort (Abbildung 2c). Wenn Sie auf Abbrechen klicken, können Sie das Einbinden des Verzeichnisses später noch nachholen: Sie starten erneut Drakloop, aktivieren im Hauptfenster (Abbildung 2b) den gewünschten Eintrag und klicken auf Einhängen.

Es geht besser

Trotz allem Lob verdient Drakloop auch etwas Tadel: Es zwingt den Benutzer, das Verzeichnis von Hand einzutippen, statt dafür einen Dateiauswahldialog zu benutzen. Software-technisch wäre das leicht zu bewerkstelligen. Außerdem sind nachträglich keine Änderungen mehr möglich; zumindest der Status "Beim Login automatisch einbinden" wäre jederzeit veränderbar, wenn die Programmoberfläche diese Option anböte. Die anderen Parameter sind aus technischen Gründen schwerer zu verändern.

Reichlich verwirrend ist auch, dass die angegebene Datei immer im eigenen Home-Verzeichnis liegt. Selbst wenn Sie den Dateinamen mit einem Schrägstrich beginnen, was für gewöhnlich eine absolute Angabe bedeutet (vom Wurzelverzeichnis ausgehend), legt Drakloop das Verzeichnis in Ihr Home.

Verschlüsselte Partition

Bei Suse und Mandrake Linux können Sie bereits bei der Linux-Installation bestimmen, dass das System ganze Partitionen verschlüsselt. Mandrake Linux versteckt diese Option während der Partitionierung in seinem Diskdrake-Programm:

  1. Sie beginnen die Installation von CD mit [Eingabe], wählen die Sprache, akzeptieren die Lizenz, wählen Tastaturtyp und Sicherheitsebene und gelangen dann in den DrakX-Partitionierungsassistent.
  1. Wählen Sie hier Benutzerdefinierte Partitionierung und klicken Sie auf Weiter.
  1. Fügen Sie Partitionen hinzu oder klicken Sie eine vorhandene Partition an. Als verschlüsselte Partition eignen sich beispielsweise /home oder neu angelegte Verzeichnisse, etwa /data. Das Wurzelverzeichnis / lässt sich nicht verschlüsseln.
  1. Klicken Sie im Partitionierungsfenster am unteren Rand auf In den Experten-Modus wechseln.
  1. Nun ist die Liste mit möglichen Aktionen am linken Rand um den Eintrag Optionen ergänzt (Abbildung 3). Klicken Sie darauf.

Abb. 3: Das Mandrake-Partitionierungsprogramm zeigt im Expertenmodus zusätzliche Aktionen (linker Rand), darunter den Eintrag "Optionen". Hinter dieser Schaltfläche verbirgt sich die Einstellung für verschlüsselte Dateisysteme.

Abb. 4: Unter den Optionen einer Partition befindet sich der Eintrag "encrypted" -- leider ohne Erklärung. Er sorgt dafür, dass Linux diesen Bereich der Festplatte verschlüsselt.
  1. Eine der Optionen heißt encrypted -- genau diese ist für verschlüsselte Dateisysteme zuständig. Aktivieren Sie sie (Abbildung 4). Achtung: Diese Option fehlt eventuell in der Liste, wenn die Partition bereits auf der Festplatte vorhanden und formatiert war. Löschen Sie in dem Fall die Partition und legen Sie sie erneut an -- dann lässt sie sich auch verschlüsseln.
  1. Nun erscheint ein Eingabefenster, in dem Sie zweimal den Dateisystem-Schlüssel (Passwort, auch Passphrase genannt) eintippen.
  1. Sollen auch gewöhnliche Benutzer (nicht nur Root) dieses Verzeichnis einhängen dürfen, müssen Sie zusätzlich die Option user aktivieren.
  1. Die weiteren Schritte beim Partitionieren und Installieren entsprechen dem normalen Vorgehen ohne verschlüsselte Filesysteme [2, 3].

Beim nächsten Booten des Systems stellt Mandrake Linux fest, dass es ein verschlüsseltes Dateisystem einbinden soll. Es fragt daher nach dem Passwort und gibt dem Benutzer gerade einmal 15 Sekunden Zeit, mit J kundzugeben, dass er tatsächlich das Passwort eintippen will. Stimmt das Passwort, bootet Mandrake weiter wie gewohnt. Wenn nicht, setzt es den Boot-Vorgang ebenfalls fort -- ohne die verschlüsselte Partition einzubinden.

Suse Linux

Bei Suse Linux 9.2 und 9.3 haben Sie ebenfalls schon während der Installation die Möglichkeit, verschlüsselte Partitionen anzulegen:

  1. Wenn Sie bei den Installationseinstellungen angelangt sind, klicken Sie auf Partitionierung.
  1. Hat Suse bereits eine Partition vorgeschlagen, führen die Optionen Partitionierung auf diesem Vorschlag aufbauen oder Partitionen nach eigenen Vorstellungen anlegen in den Bereich Festplatte vorbereiten: Expertenmodus.
  1. Dort legen Sie wie bei einer gewöhnlichen Installation neue Partitionen an oder verändern vorhandene.
  1. Beim Anlegen neuer oder beim Bearbeiten vorhandener Partitionen ist links unten eine Checkbox Dateisystem verschlüsseln zu finden (Abbildung 5).

Abb. 5: Im YaST-Fenster zum Bearbeiten von Partitionen sorgt die unscheinbare Checkbox "Dateisystem verschlüsseln" (links unten) für kryptographisch gesicherte Inhalte auf der Festplatte.
  1. Bei einigen Mount-Punkten (etwa dem Root-Verzeichnis /, /usr oder /boot) ist ein Verschlüsseln nicht möglich (siehe oben). Die Fehlermeldung dazu ist etwas verwirrend formuliert: Sie spricht von einem Loopback-Dateisystem, meint aber die verschlüsselte Partition.

  1. Sie müssen anschließend noch das Passwort für das verschlüsselte Dateisystem vergeben.

Ein echtes Loopback-Dateisystem, das keine Partition auf der Festplatte belegt, sondern selbst in einer einfachen Datei steckt, legen Sie im Partitionierungsprogramm über die Schaltfläche Kryptodatei / Verschlüsselte Datei erzeugen an (untere Button-Reihe). Auch hier verwirrt der Name: Die Datei ist tatsächlich verschlüsselt, sie enthält aber ein ganzes Dateisystem und ist daher nicht mit einer einzeln verschlüsselten Datei zu verwechseln, wie Sie sie beispielsweise mit KGpg anlegen.

Abb. 6: In der Loopback-Variante liegt der verschlüsselte Inhalt nicht in einer Partition auf der Festplatte, sondern steckt selbst wieder in einer Datei. Hier ist der (schlecht gewählte) Name "/tmp/geheim" eingetragen; über den Mount-Punkt "/secret" ist später der Klartextinhalt zugänglich.

System in der Datei

Die Daten für das verschlüsselte Loopback-Dateisystem geben Sie im Fenster Neue Konfiguration für das Loop-Device erzeugen ein (Abbildung 6):

Nach diesen Einstellungen fragt die Software nach einem Passwort für das verschlüsselte Dateisystem. Beim nächsten Booten wartet Suse Linux -- ähnlich wie Mandrake Linux -- kurz darauf, dass der Benutzer das Passwort für die verschlüsselten Partitionen eintippt. Auch Suse wartet nur begrenzte Zeit und überspringt diesen Schritt, wenn der Benutzer nicht reagiert. Bei einer falschen Eingabe ist Suse Linux gnadenlos: Statt dem Anwender einen zweiten Versuch zu gewähren, bootet das System weiter ohne die verschlüsselte Partition einzubinden.

Späte Änderung

Wenn Ihr System bereits installiert ist, können Sie verschlüsselte Partitionen auch nachträglich aufsetzen. Über System / Einstellungen / Konfigurieren Sie Ihren Computer gelangen Sie ins Mandrake-Kontrollzentrum, wählen dort Einhängepunkte und dann das erste Icon im rechten Fenster (mit der sperrigen Bezeichnung Erstellen, löschen und verändern der Größe von Festplattenpartitionen). Damit landen Sie im Partitions-Editor Diskdrake, der sich lediglich durch seine Menüleiste von der Version während der Installation unterscheidet. In diesem Fenster können Sie zusätzliche verschlüsselte Partitionen anlegen -- das Vorgehen gleicht dem oben beschriebenen.

Bei Suse Linux gelangen Sie im laufenden Betrieb ebenfalls an das Partitionierungswerkzeug: Starten Sie YaST aus dem Startmenü über System / Yast, wählen Sie links den Bereich System und dann rechts Partitionieren. Nach der (sehr sinnvollen) Warnung, dass alle nachfolgenden Änderungen gefährlich sind, startet Festplatte vorbereiten im Expertenmodus. Die Bedienung gleicht der während der Systeminstallation.

Fazit

Die Binsenweisheit, dass sich Linux um die Sicherheit der Daten und ihrer Benutzer sorgt, bestätigt sich in den umfangreichen Verschlüsselungstechniken. Egal ob Sie nur eine einzelne Datei, einen Verzeichnisbaum oder eine ganze Partition vor Dieben und anderen fremden Zugriffen schützen wollen -- für jeden Fall liefern die Distributionen ein geeignetes Programm mit. (fjl/amü)

Infos
[1] Carsten Schnober, "Dateien und Rechte -- Grundlagen der Linux-Dateisysteme", EasyLinux 01/2005, S. 12.
[2] Max Werner, "Scheibenwelt -- Festplatten nachträglich an die eigenen Bedürfnisse anpassen", EasyLinux 06/2005, S. 46
[3] EasyLinux Starter Kit 9, Mandrake Linux 10.2, Mai-Juli 2005
[4] Andrea Müller, "Digitales Schlüsselbrett -- GnuPG-Frontend KGpg", EasyLinux 09/2003, S. 21
[5] Clemens Fruhwirth und Markus Schuster, "Geheime Niederschrift -- Festplattenverschlüsselung mit DM-Crypt und Cryptsetup-LUKS", Linux-Magazin 08/2005, S. 28.

Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.

Druckerfreundliche Version | Feedback zu dieser Seite | Datenschutz | © 2012 Linux New Media AG | Last modified: 2007-04-05 11:10

[Linux-Magazin] [LinuxUser] [Linux-Community] [Admin-Magazin] [Ubuntu User] [Smart Developer] [Linux Events] [Linux Magazine] [Ubuntu User] [Admin Magazine] [Smart Developer] [Linux Magazine Poland] [Linux Community Poland] [Linux Magazine Brasil] [Linux Magazine Spain] [Linux Technical Review]