LUKS

Aus LOMSO
Zur Navigation springen Zur Suche springen
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:

  1. Basisformatierung mit LUKS
  2. 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.