![]() |
|
||||||||||||||||||||
|
|||||||||||||||||||||
|
|||||||||||||||||||||
Hans-Georg Eßer, Achim Leitner
Die bisherigen Artikel dieser Titelstrecke hatten den Aspekt der Datensicherung vor Verlust im Blick, etwa durch Ausfallen der Festplatte oder versehentliches Löschen -- hier geht es nun um eine andere Art Sicherheit: den Schutz vor unerwünschten Zugriffen durch fremde Personen. Versuche, Ihre Dateien einfach geschickt an ungewöhnlichen Orten im Dateisystem zu verstecken, sind nur so erfolgreich wie es einem Angreifer an Kreativität und Ausdauer mangelt; den einzig sicheren Schutz erreichen Sie, indem Sie sensible Informationen verschlüsseln.
Geht es nur um einzelne Dateien, die Sie schützen wollen, ist das direkte Verschlüsseln dieser Dateien (z. B. mit gpg oder openssl) ein gangbarer Weg; bei größeren Verzeichnishierarchien mit vielen Dateien ist es aber viel zu umständlich, jede einzelne Datei vor dem Zugriff zu entschlüsseln und danach wieder zu verschlüsseln. Wir stellen Ihnen darum in diesem Artikel eine Möglichkeit vor, wie Sie ein komplettes verschlüsseltes Verzeichnis anlegen, in dem alle Dateien und Unterverzeichnisse automatisch gesichert sind.
Hier gibt es zwei Varianten: Sie können eine komplette Partition für Ihre geheimen Daten reservieren und diese verschlüsseln (müssen dafür aber eventuell neu partitionieren oder eine zweite Platte anschließen) oder eine Krypto-Datei erzeugen, die ein verschlüsseltes Dateisystem enthält: Dann ist keine Neupartitionierung nötig.
Eine komplette Partition zu verschlüsseln, hat hauptsächlich Performance-Vorteile: Lese- und Schreibzugriffe sind geringfügig schneller als beim Einsatz einer Krypto-Datei. Leider bietet Ubuntu kein grafisches Tool, das die Einrichtung einer verschlüsselten Partition erlaubt, weswegen wir hier nur Hinweise zu OpenSuse und Mandriva Linux geben -- Ubuntu-Anwender finden weiter hinten im Artikel eine Beschreibung zur Einrichtung eines verschlüsselten Dateisystems in einer Krypto-Datei.
Für die Einrichtung einer verschlüsselten Partition gehen wir davon aus, dass bereits eine freie Partition auf einer Ihrer Festplatten zur Verfügung steht und dass Sie den Gerätenamen dieser Partition kennen (z. B. /dev/hda7). Beachten Sie, dass Sie mit der folgenden Anleitung sämtliche Daten löschen, die sich noch auf dieser Partition befinden.
In der Übersicht mit den Partitionen (Abbildung 4) taucht nun am Ende ein neuer Eintrag für die verschlüsselte Partition auf. Dass es sich hier um eine verschlüsselte Partition handelt, erkennen Sie am C in der Statusspalte.
Klicken Sie auf Anwenden, damit YaST die Krypto-Datei einrichtet und den Partitionungsdialog schließt. Vorher erscheint noch ein Warnfenster, das alle Änderungen anzeigt (hier also nur das Anlegen der Krypto-Datei) und nochmals zum Bestätigen über einen Klick auf Anwenden auffordert.
YaST hat nun in der OpenSuse-spezifischen Datei /etc/cryptotab einen neuen Eintrag der Form
/dev/loop0 /dev/sdb1 /media/crypt ext3 twofish256 acl,user_xattr
angelegt, der beim nächsten Rechnerstart dafür sorgt, dass Sie Ihr Passwort eingeben und damit den Zugriff auf die Partition freischalten können (Abbildung 3). Das eingegebene Passwort sehen Sie nicht, und es erscheinen auch keine Sternchen.
Die Daten in der Datei cryptotab haben folgende Bedeutung:
Auch Mandriva Linux bietet im Drakconf-Modul DiskDrake die Möglichkeit, verschlüsselte Partitionen zu erzeugen. Gehen Sie folgendermaßen vor:
Beim Neustart gibt Ihnen Mandriva Linux nur wenige Sekunden, um schnell die Taste [J] zu drücken: Tun Sie das, können Sie anschließend das Passwort für die verschlüsselte Partition eingeben (Abbildung 6) und unmittelbar nach der Anmeldung auf die Daten zugreifen.
Wenn Sie den Aufwand des Neupartitionierens oder den Einbau einer zweiten Festplatte vermeiden wollen, führt die einfachste Lösung über den Einsatz einer Krypto-Datei: Das ist eine große Datei, die ähnlich wie ein ISO-Image ein vollständiges Dateisystem aufnimmt, also im Inneren Platz für eine Verzeichnishierarchie mit vielen Dateien bietet. Anders als bei einem ISO-Image, ist diese Datei verschlüsselt, so dass erst dann ein Zugriff möglich sein wird, wenn Sie die Krypto-Datei mit dem richtigen Passwort entsperrt haben.
Ein grafisches Konfigurations-Tool für die Einrichtung einer solchen Krypto-Datei bieten (bei den von EasyLinux unterstützten Distributionen) nur OpenSuse und Mandriva Linux -- unter OpenSuse funktioniert der Vorgang ähnlich wie beim Anlegen einer verschlüsselten Partition mit YaST, Mandriva Linux enthält ein spezielles Tool für diese Aufgabe.
Ubuntu-Anwender müssen aber nicht außen vorbleiben: Mit einem Ausflug auf die Konsole können Sie das gleiche Feature nutzen, müssen dafür allerdings eine Reihe von Shell-Befehlen eingeben. Wie das geht, beschreibt der Kasten Krypto-Datei mit Shell-Befehlen erzeugen auf Seite ##. Hier folgen zunächst die Beschreibungen für OpenSuse und Mandriva Linux.
In der Übersicht mit den Partitionen (Abbildung 9) taucht nun am Ende ein neuer Eintrag auf, bei dem unter Gerät die Gerätedatei /dev/loop0 (oder loop1, loop2 etc.) steht, der Typ ist Loop Device. Klicken Sie auf Anwenden, damit YaST die Krypto-Datei einrichtet und den Partitionungsdialog schließt. Vorher erscheint noch ein Warnfenster, das alle Änderungen anzeigt (hier also nur das Anlegen der Krypto-Datei) und nochmals zum Bestätigen über einen Klick auf Anwenden auffordert.
Unter Mandriva Linux verwenden Sie das Tool Drakloop. Dieses pfiffige Programm verdient das Prädikat "besonders praktisch", denn es kommt ohne Root-Rechte aus und richtet Ihnen in Ihrem Home-Verzeichnis einen verschlüsselten Unterordner ein, den Sie bei der grafischen Anmeldung aktivieren und beim Logout wieder deaktivieren -- im Test funktionierte genau letzteres Feature allerdings nicht. Wir zeigen Ihnen am Ende der Einrichtung, wie Sie das verschlüsselte Verzeichnis mit einem Shell-Befehl (de-) aktivieren.
Drakloop ist Teil des mountloop-Pakets, das Sie zunächst von der Mandriva-DVD nachinstallieren müssen:
Das Programm starten Sie über ein Schnellstartfenster ([Alt-F2]), in das Sie drakloop eingeben. Bevor das Drakloop-Fenster erscheint, müssen Sie noch das Root-Passwort eingeben. 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 10):
Das Drakloop-Übersichtsfenster zeigt nun einen Eintrag für das neue verschlüsselte Verzeichnis. Wenn Sie sich ausloggen, wird die Verzeichnis-Einbindung gelöst, und niemand kommt an die geschützten Daten heran. Prinzipiell aktivieren Sie das Verzeichnis über Drakloop, indem Sie im Hauptfenster des Programms den gewünschten Eintrag auswählen und auf Einhängen klicken -- das funktionierte aber im Test nicht.
So aktivieren Sie das geschützte Verzeichnis manuell: Öffnen Sie mit [Alt-F2] und Eingabe von konsole ein Terminalfenster und geben Sie den Befehl
cat .mountlooprc
ein. Sie sehen dann eine Zeile, welche die Konfigurationsdaten zu Ihrem verschlüsselten Verzeichnis enthält -- wenn Sie den Verzeichnisnamen crypt aus der obigen Beschreibung verwendet haben, sieht diese folgendermaßen aus:
aes128 crypt/encfile crypt yes
Von dieser Zeile benötigen Sie alle Teile bis auf das letzte Wort yes, und Sie setzen diese als Parameter hinter das Programm mountloop:
$ mountloop aes128 crypt/encfile crypt # /sbin/modprobe aes # /sbin/modprobe cryptoloop # chown 500 /dev/loop1 # /bin/mount -o loop=/dev/loop1,encrypted,encryption=aes128 crypt/encfile crypt Passwort: PASSWORT
Der Befehl zum Unmounten lautet umountloop, und er erhält nur den Verzeichnisnamen:
$ umountloop ~/crypt # /bin/umount /home/tommy/crypt
Die bisher beschriebenen Linux-Lösungen haben einen entscheidenden Nachteil: Auf die so gesicherten Daten können Sie nur unter Linux zugreifen, und Sie sollten diese auch (unverschlüsselt) sichern, bevor Sie eine neuere Linux-Version installieren, weil ein viel neuerer Kernel möglicherweise die mit dem alten Kernel verschlüsselten Daten nicht mehr erkennt.
Mit TrueCrypt [1] steht eine Alternative zur Verfügung, die ebenfalls ganze Partitionen verschlüsselt oder mit Krypto-Dateien arbeitet -- im Inneren legt die Software aber ein FAT-Dateisystem an, und darauf kann dann neben Linux auch Windows zugreifen, denn das Verschlüsselungsprogramm gibt es für beide Betriebssysteme, und die Formate sind zueinander kompatibel. Auf einmal eingerichtete verschlüsselte Bereiche (entweder eine ganze Partition oder eine Krypto-Datei auf einem Datenträger, den Sie unter Windows und Linux erreichen können) greifen Sie dann mit demselben Schlüssel zu.
Leider ist die TrueCrypt-Einrichtung nur unter Windows komfortabel -- die unter Linux nötigen Schritte sprengen für EasyLinux ein wenig den Rahmen: Hier ist es meist nötig, die Quelltexte mit einem Compiler zu übersetzen. Wenn Sie sich dafür interessieren und bereits Erfahrung im Umgang mit dem C-Compiler haben, finden Sie einen Installations-Workshop [2] aus dem LinuxUser auf unserer Heft-DVD im Verzeichnis programme/andere/truecrypt/installationsanleitung/.
Die Verschlüsselung ganzer Dateisysteme ist -- zumindest unter OpenSuse und Mandriva Linux -- schnell mit den grafischen Tools der Distributionen eingerichet, Ubuntu-Anwender kommen auf der Konsole aber auch in kurzer Zeit zum Ziel. Bevor Sie den so erstellten Datenbereichen wichtiges Material anvertrauen, sollten Sie das korrekte Funktionieren ausgiebig testen: Hier ist mindestens ein Rechnerneustart nötig, der Ihnen zeigt, ob der Zugriff auch nach dem Reboot funktioniert. (hge)
| Setup mit Shell-Befehlen |
|
Für die manuelle Einrichtung in der Shell sind drei Schritte notwendig, die wir hier zunächst skizzieren:
Nun im Detail: Für alle folgenden Schritte benötigen Sie eine Shell mit Root-Rechten. Öffnen Sie daher zunächst mit [Alt-F2] und Eingabe von konsole ein KDE-Terminalfenster. Unter Ubuntu geben Sie dann den Befehl sudo su ein und beantworten die Passwortabfrage mit Ihrem Benutzerpasswort; Anwender von Mandriva Linux oder OpenSuse verwenden stattdessen den Befehl su, auf dessen Passwortanforderung Sie das Root-Passwort eingeben. Jetzt haben Sie vollen Zugriff auf das System und können die folgenden Schritte nachvollziehen.
dd if=/dev/zero of=crypto bs=1G count=1
modprobe cryptoloop losetup -e blowfish /dev/loop0 crypto
mkfs.ext3 /dev/loop0
mount /dev/loop0 /media/crypt/
Zum Sperren des Zugriffs sind die Befehle umount /media/crypt; losetup -d /dev/loop0 ausreichend. Der nächste Mount-Vorgang wird übersichtlicher: Um die Krypto-Datei erneut einzubinden, geben Sie den etwas länglichen Befehl mount -o loop,encryption=blowfish /var/crypt/crypto /media/crypt/ ein -- danach erfragt mount Ihr Passwort. Zum Unmounten (und Deaktivieren der Entschlüsselung) reicht dann umount /mnt/crypt aus. Da es umständlich ist, sich diese Parameter zu merken, verwenden Sie eine Konfigurationsdatei. Ubuntu-Anwender legen einen neuen Eintrag in /etc/fstab an, der für obiges Beispiel folgenden Aufbau hätte: /var/crypt/crypto /mnt/crypt ext3 encryption=blowfish,acl,user_xattr Wollen Sie die Krypto-Datei nicht direkt beim Booten einbinden, ergänzen Sie am Ende (ohne Leerzeichen) noch ,user,noauto -- das verhindert das automatische Mounten und erlaubt auch "normalen" Anwendern, das Dateisystem einzubinden. OpenSuse legt Informationen über Krypto-Dateien in einer eigenen Tabelle (/etc/cryptotab) ab (siehe Einrichtung mit YaST), der passende Eintrag sieht wie folgt aus: /dev/loop0 /var/crypt/crypto /mnt/crypt ext3 blowfish acl,user_xattr Wenn Sie noch kein verschlüsseltes Dateisystem angelegt haben, existiert diese Datei noch nicht. (Ein zusätzlicher Eintrag in /etc/fstab ist nicht notwendig.) Den Aufbau dieser Zeile haben wir bereits bei der Einrichtung mit YaST erklärt. |
| Infos |
|
[1] Truecrypt: http://www.truecrypt.org
[2] TrueCrypt-Artikel: Thomas Leichtenstern, "Innere Werte", LinuxUser 12/2006, S. 65 ff., http://www.linux-user.de/ausgabe/2006/12/065-truecrypt/index.html (auch auf der Heft-DVD) |
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: 2008-11-05 17:26
[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]