[[Vorlage(Getestet, )]] {{{#!vorlage Warnung Das in diesem Artikel verwendete Skript `decrypt_derived` ist nicht LUKS2 neuerer Ubuntu Installationen kompatibel. Werden die hier beschriebenen Befehle auf ein LUKS2 Laufwerk angewendet, landet eine unsichere Fehlermeldung als Passwort im Keyslot. Daher unbedingt die Ausgabe bzw. Fehlercode von `decrypt_derived` beachten. Fehlermeldung in Keyslot durch neues Passwort ersetzen: `cryptsetup --key-file=<(echo "/lib/cryptsetup/scripts/decrypt_derived: device root uses the kernel keyring") luksChangeKey /dev/sdX2` Die Schlüsselableitung lässt sich mit `decrypt_keyctl` einfach durch einen Passwort-Cache ersetzen. Alternativ können Keyfiles verwendet werden. Damit ist bei Systemstart weiterhin nur die einmalige Eingabe eines Passworts erforderlich. Siehe auch: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=919725#20 }}} {{{#!vorlage Wissen [:LUKS:Verschlüsselte Partitionen mit LUKS] [:Terminal: Ein Terminal öffnen] [:UUID#UUIDs-anzeigen: UUID anzeigen] [:Editor#Root-Rechte-Bearbeiten-von-Systemdateien: Einen Editor mit Root-Rechten öffnen] [:Skripte/Gerät_mit_Pseudozufallszahlen_überschreiben:Gerät mit Pseudozufallszahlen überschreiben] }}} {{{#!vorlage Hinweis Alle folgenden Befehle benötigen [:sudo: Root-Rechte]. Man sollte also entweder immer '''sudo''' vor das betreffende Kommando setzen oder mit '''sudo -s''' Root-Status erlangen! }}} [[Inhaltsverzeichnis]] Diese Anleitung geht auf die Konfiguration und Einbindung von verschlüsselten [:LUKS:LUKS-Datenträgern] mittels des Decrypted-Derived-Scripts ein. Es handelt sich um ein Skript, welches den Schlüssel aus einem bereits entschlüsselten LUKS-Gerät (dem Ursprungsgerät) generiert und es somit ermöglicht, mit einem Passwort mehrere verschlüsselte Datenträger zu öffnen. Der Vorteil ist, dass kein Passwort im Klartext auf der Festplatte gespeichert werden muss. = Vorbereitung = Die Vorbereitung ist identisch mit der des [:LUKS#Vorbereitung:LUKS-Artikels]. Dieser sollte zuerst einmal durchgearbeitet und verstanden werden. Mit `` ist im Folgenden der Mapper-Name gemeint. Also der, der unter '''/dev/mapper/''' angezeigt wird, z.B. '''root'''. Das Ursprungsgerät muss folglich vorher geöffnet werden. = Einrichtung = {{{#!vorlage Warnung Sollte das Ursprungs-LUKS-Gerät beschädigt oder gelöscht werden, könnten die davon abgeleiteten LUKS-Datenträger nicht mehr geöffnet werden. Deshalb sollte zu jedem ein zusätzliches, bekanntes Passwort hinzugefügt werden. Siehe dazu [#Sicherheitsschluessel-anlegen Sicherheitsschlüssel anlegen]. }}} == Neues LUKS-Gerät == {{{#!vorlage Hinweis Es ist aus Sicherheitsgründen empfehlenswert die Partition ein mal mit Zufallszahlen zu überschreiben, vor allen Dingen, wenn auf dieser vorher unverschlüsselte Daten gespeichert waren. [5] Ansonsten sind unter Umständen die alten Daten nach dem Verschlüsseln noch auslesbar. }}} Soll ein neues LUKS-Gerät mit einem abgeleiteten Schlüssel erzeugt werden, wird folgender Befehl eingesetzt [2]: {{{#!vorlage Warnung Alle bisherigen Daten auf dem betreffenden Gerät gehen verloren! }}} {{{#!vorlage Befehl /lib/cryptsetup/scripts/decrypt_derived | cryptsetup -c aes-xts-plain64 -s 512 luksFormat }}} == Bestehendes LUKS-Gerät == Soll einem bestehenden LUKS-Gerät ein abgeleiteter Schlüssel hinzugefügt werden, erfordert dies einen kleinen Umweg. Die Ausgabe des Skripts wird zur Befehlseingabe für den `luksAddKey`-Befehl umgeleitet, in der Form: <(/Pfad/zum/Befehl)\\ wobei darauf zu achten ist, dass zwischen spitzer und runder Klammer kein Leerzeichen folgt. Um den abgeleiteten Schlüssel hinzuzufügen gibt man den folgenden Befehl ein und wird nach einer aktuellen Passphrase zur Bestätigung gefragt: {{{#!vorlage Befehl cryptsetup luksAddKey <(/lib/cryptsetup/scripts/decrypt_derived ) }}} = Öffnen = Zum Öffnen der abgeleiteten LUKS-Geräte muss vorher das Ursprungsgerät freigeschaltet werden [1]. == Manuell == Mit diesem Befehl wird das abgeleitete LUKS-Gerät geöffnet [2]: {{{#!vorlage Befehl /lib/cryptsetup/scripts/decrypt_derived | cryptsetup luksOpen }}} Als muss hier der Name mit dem vollen Pfad angegeben werden (also z.B. '''/dev/mapper/dm_crypt-0''' bei einer Standard-Installation mit Verschlüsselung und LVM), da sonst die Entschlüsselung fehlschlägt. == Beim Startvorgang == Ab Ubuntu 15.04 sind unbedingt die zusätzlichen Hinweise unter [:System_verschlüsseln/Schlüsselableitung/#etc-crypttab-editieren:] im Abschnitt "/etc/crypttab editieren" zu beachten. Zum Öffnen eines abgeleiteten LUKS-Geräts beim Systemstart wird die folgende Zeile in angepasster Form [3] an die Datei '''/etc/crypttab''' angehängt [4]. {{{ UUID= luks,keyscript=/lib/cryptsetup/scripts/decrypt_derived }}} Anschließend müssen noch mit folgendem Befehl die Startdateien aktualisiert werden: {{{#!vorlage Befehl update-initramfs -u -k all }}} = Sicherheitsschlüssel anlegen = Damit im Falle einer Beschädigung der Ursprungspartition kein vollständiger Datenverlust droht, wird ein Sicherheitsschlüssel angelegt: {{{#!vorlage Befehl cryptsetup luksAddKey }}} Existiert für ein Gerät nur der abgeleitete Schlüssel, muss man für die Authentifizierung des Sicherheitsschlüssels wieder eine Umleitung benutzen. Nach Eingabe von {{{#!vorlage Befehl cryptsetup luksAddKey --key-file <(/lib/cryptsetup/scripts/decrypt_derived ) }}} wird man aufgefordert, eine weitere Passphrase einzugeben. = Entfernen = Um den abgeleiteten Schlüssel wieder zu entfernen, muss man dessen Speicherplatz löschen: {{{#!vorlage Befehl cryptsetup luksKillSlot }}} Das vorhandene Kennwort des LUKS-Gerätes ist jeweils einzugeben. #tag: System, Sicherheit, Installation