Aus gegeben Anlass ( an dieser Stelle nochmal dank an den Ubuntu-Server-Installer) ein kleinen hinweis was man machen kann, wenn einem der CryptHeader zerstörrt wurde.
Zuerst muss man Ruhe bewahren. Dann sich die Fakten klar machen. Bei modernen Verschlüsslungsverfahren wird nicht gesamte Platte mit einmal verschlüsselt sondern immer häppchenweise. Eine zerstörte verschlüsselte Partition lässt sich genauso wieder herstellen wie eine normale Partition. Mit einem Unterschied: der CryptHeader. Dieser enthällt den Hauptschlüssel, ohne diesen hat man verloren. Sowohl ein eventuell eingerichtetes KeyFile als auch das Password leifern nur zugriff auf diesen Schlüssel. Ist dieser Schlüssel im eimer, so bleibt nur noch das Entschlüsseln per BruteForce… wie Erfolgversprechend das ist, hängt von der Schlüssellänge ab… Wenn man ein Backup einpsielen kann, ist es jetzt aber der richtige Zeitpunkt dies zu tun….
Meine Lektion vom Wochenende, ohne CryptoHeader hat man kaum eine Chance. Eventuell kann man noch wie hier beschrieben versuchen zu retten, was zu retten ist und den Header selber „neu schreiben“. Das funktioniert allerdings nur, solange der Schlüssel selber noch intakt ist. Die chancen dafür stehen gar nicht schlecht. Der eigendliche Schlüssel wird relativ weit hinten „versteckt“. Bei mir erst ab Byte 4096 (wenn ich die Daten richtig interpretiere).[1. Wiki: LUKS-Header-Format]
Um einem solchen Stress aber aus dem weg zu gehen gibt es eine ganz einfache Methode: einfach den Luks-Header sichern! War das früher nur über dd un der Kenntniss der HeaderLength möglich, geht das ganze jetzt komfortabel über das cryptsetup-Kommando. Dazu muss man die gewünschte Partition unmount und das CryptDevice schließen, anschließend kann man folgenden Befehl ausfürhen:
sudo cryptsetup luksHeaderBackup --header-backup-file=header.backup /dev/sdXN
Um im Falle eines Fehlers den Header wieder herzustellen braucht es folgenden Befehl:
sudo cryptsetup luksHeaderRestore --header-backup-file=header.backup /dev/sdXN
Wichtig dabei anzumerken ist, dass das HeaderFile auf keinen fall in der verschlüsselten Partition liegen sollte. Das bringt wenig. Es macht auch keinen sinn, dieses File irgendwo aufzubewahren, wo man ohne weiteres keinen Zugriff drauf bekommt. Von diesem File geht in erster linie keine Sicherheitsrisiko aus. Da es ein Angreifer eh ohne weiteres von der Platte ausgelesen werden kann und dies tun wird, um so das Password zu schneller brechen. Man sollte dieses file aber auch nicht unbedingt bei Facebook einstellen 😉
Danke, genau diese Anleitung habe ich gesucht.
Der Befehl stimmt aber nicht ganz
Die Partition und ein Name für den Header müssen noch angegeben werden
So sollte er zb. lauten
sudo cryptsetup luksHeaderBackup /dev/sd* –header-backup-fil header-Backup
Kleine Korrektur:
1) es muss heißen beispielsweise:
sudo cryptsetup luksHeaderBackup –header-backup-file=header.backup /dev/sda1
Wobei sda1 die verschlüsselte Parition ist, keine eingebundene/“offene“ in /dev/mapper/
2) Es ist egal ob die Partition gerade eingebunden („offen“) ist oder nicht – gerade getestet, es geht beides fehlerlos und es kommen die gleichen Files raus (md5sum gleich). Es muss eben nur das verschlüsselte Device sein 😉
Danke! Gute Beschreibung. Leider sieht man die Berichtigung in den Kommentaren nicht sofort und dann steht im Blog eben der nicht vollständige Befehl.
Viele Grüße, Richard.
Erledigt
Wie immer super hilfreich!
Ich muss das nochmal aufwärmen:
Es fehlt folgender Hinweis:
Wenn mir deine alte Header-Sicherung in die Hände fällt und mir irgendwie die zugehörige (alte) Passphrase bekannt wird, kann ich deinen aktuellen Platteninhalt mit dem alten Header entschlüsseln, auch wenn du mittlerweile eine neue Passphrase gesetzt hast. Das ist natürlich eher für Mehrbenutzersysteme interessant, wenn ein Passphrasen-Slot gelöscht wird, aber eine Sicherung des alten Zustands existiert.
Bin ich froh, dass ich vor einem halben Jahr den header aufgrund dieses Beitrags gesichert habe! Jetzt habe ich ihn gebraucht und es hat funktioniert!
Vielen Dank dafür!
Das Laufwerk lässt sich leider noch nicht mounten, ein Beitrag, wie man bspw. das XFS unter dem Crypt wieder hinbekommt wäre super.
Einen solchen Betrag gibt es schon im UbuntuUsers-Wiki . Die Herangehensweisen sind zu vielfälltig und mein Wissen zu beschränkt, als dass ich das hier so abhandeln könnte.