LUKS
Du bist hier : | {{#youAreHere:LUKS}} |
Das Linux Unified Key Setup, kurz LUKS, ist ein System um Platten, Partitionen oder Dateicontainer zu Verschlüsseln.
Vorwort
- Alle folgenden Kommandos werden im Terminal als 'root' ausgeführt
- Partition ist
sda1
od.sdb2
oder ..., 3 x hinsehen, ob die richtige Partition ausgewählt wurde ! Fehler werden nicht verziehen ! - Es wird hier besonders auf die Verschlüsselung von ganzen Partitionen eingegangen, denn das ist der häufigste Anwendungsfall. Es können aber genauso gut ganze Festplatten (/dev/sda ...) oder aber reine Dateien dafür herangezogen werden.
- Entsprechend die Pfade in den Befehlen anpassen
Benötigte Software
cryptsetup mit apt-get installieren:
# apt-get install cryptsetup
Aufsetzen
Optional : Partition Löschen
Eine Formatierung der HD erhält die Daten in den Sektoren der Festplatte.
Daraus kann ein Angreifer u.U. sensible Informationen herauslesen.
Deswegen sollte auf einer HD, die zur Verschlüsselung vorgesehen ist, noch vor der ersten Verwendung LUKS eingerichtet werden. War die HD bereits in Benutzung hilft nur ein Überschreiben mit leeren Daten, Sektor für Sektor.
dd leistet das für uns.
# dd if=/dev/random of=/dev/Partition
Vorsicht, nicht die Zielpartition nach of= verwechseln. Es muss wirklich die mit LUKS zu formatierende Partition sein.
Das dauert u.U sehr lange, da der Zufallszahlengeneraor in /dev/random nicht sehr schnell ist.
Oft sind nur wenige 100 kB/sec erreichbar.
Alternativen werden auf der Diskussionsseite besprochen
Partition vorbereiten
Partition auswählen, die verschlüsselt werden soll und mit cryptsetup formatieren.
Alle Daten auf dieser Partition gehen verloren (Vorsicht!).
# cryptsetup -c aes-xts-plain -s 512 luksFormat /dev/Partition oder, wenn > 2TB # cryptsetup -c aes-xts-plain64 -s 512 luksFormat /dev/Partition
Man muss hier das Passwort angeben, dieses unbedingt handschriftlich notieren.
Ohne PW ist der Zugriff auf die LUKS-Partition nicht mehr möglich.
Es gibt keinen Trick oder Hintertüren, wenn das Passwort verloren geht!
LUKS ist sehr zuverlässig.
LUKS drauf mappen
Die so vorbereite Partition mit LUKS öffnen. Dabei bekommt die Partition einen unverwechselbaren Namen, mit dem diese dann eingebunden werden kann. Diese Name ist frei wählbar und kann jedes mal neu vergeben werden.
# cryptsetup luksOpen /dev/Partition unverwechselbarer_Name
Hier wird man nach dem PW gefragt...
Danach steht unter:
/dev/mapper/unverwechselbarer_Name
ein Device zur Verfügung, das wie ein ganz normales Device verwendet werden kann.
Alle Zugriffe auf dieses Device sind ab sofort verschlüsselt.
Filesystem
Es gibt aber dort noch kein Linux-Filesystem, daher jetzt eines anlegen, z.B. ext3 oder ext4
# mkfs.ext4 /dev/mapper/unverwechselbarer_Name -L "unverwechselbarer_Name"
Wieder aufpassen, dass wirklich die Partition verwendet wird, die über /dev/mapper erreichbar ist und den unverwechselbaren Namen trägt.
D.h. die Partition wird zweimal formatiert:
- Basisformatierung mit LUKS
- Formatierung des LUKS-Devices, mit einem Linux-Filesystem
Ist die Formatierung abgeschlossen, kann die Partition verwendet werden.
Benutzen
Zuerst muss das Device eingehängt werden :
# cryptsetup luksOpen /dev/Partition unverwechselbarer_Name # mkdir /mnt/encrypted # mount /dev/mapper/unverwechselbarer_Name /mnt/encrypted
Partition wieder aushängen:
# umount /dev/mapper/unverwechselbarer_Name # cryptsetup luksClose unverwechselbarer_Name
Partition auf externer HDD
Wenn die LUKS-Partition auf einer externen HD angelegt wurde, kann man automatisch die HD mit LUKS öffnen und mounten.
# apt-get install gdecrypt
Wir jetzt die HD über USB angesteckt, wird diese automatisch eingebunden. gdecrypt fragt nach dem Passwort. Der Schlüsselbund von Ubuntu kann das Passwort speichern.
Nach der Benutzung der externen HD, kann mit einem Rechtsklick auf das Icon diese sicher entfernt werden.
Passwort
Das verwendete Passwort kann deutlich länger sein als die üblichen 8 Buchstaben. Streng genommen ist es kein Wort mehr sondern es kann ein ganzer Satz sein, oder aber eine beliebige, auch binäre, Zeichenkette.
Es dürfen bis zu 8 Passwörter definiert werden, jedes für sich ermöglicht den Zugriff auf den vollen Inhalt. Daher ist es ratsam ein 2. Passwort zu definieren, welches nur im Notfall benutzt wird, und auch entsprechend aufbewahrt wird.
Wo das Passwort herkommt ist auch frei :
- Tastatureingabe des Benutzers
- Lesen aus Datei bzw. aus einem File (Keyfile bzw. Datenstrom)
- per Bluetooth vom Handy übertragen
- File auf einem USB Stick
Das komplette System verschlüsseln
Besonders bei Laptops kann es interessant sein, sein komplettes System (inklusive Swap-Bereich) zu verschlüsseln. Dadurch entsteht kein Datenleck bei Verlust des Laptops.
Es gibt verschiedene Anleitungen im Netz dazu
Zu beachten ist, dass der Kernel nicht verschlüsselt abgespeichert wird (Henne-Ei Problem : mit irgendwas unverschlüsseltem muss man ja Booten), daher ein mögliches Angriffsziel ist.