Verschlüsseltes Dateisystem mit abgelöstem LUKS2-Header auf USB-Stick und EFI
zeitlicher Aufwand: 2h mit Windows etwa 4h
Schwierigkeitsgrad: 4/5
Distribution: Debian 12 Bookworm
Wenn Schwachköpfe, Pimmel und hirnlose Krapfen den Staatsapparat leicht dazu bewegen
können aktiv Rechtsbruch zu begehen und intimste Gegenstände zu konfiszieren ist davon
auszugehen dass hier möglichweise Willkür am Werk ist. Das ist mittlerweile Realität und
gängige Paxis. Eine besorgniserregnede Entwicklung, dessen Ausmaß nicht abzusehen ist, lässt
sich hier beobachten. Daher: Kann man dem rechtswidrigen Handeln des Staates nur taten- und
hoffnungslos zusehen und in Duldungsstarre alles ĂĽber sich ergehen lassen?
Jein. Die Gelegenheit zum passiven Widerstand lässt mit relativ wenig Aufwand jenen für den
Gesetzgeber sehr bis unendlich groĂź werden um die eigenen privaten Daten einzusehen.
DafĂĽr braucht man nicht einmal angeben dass der Inhalt der Festplatte, SSD oder Datei
verschlüsselte Daten enthält. Der Fachbegriff, der hier eine Rolle spielt, lautet plausible
Abstreitbarkeit oder plausible deniability.
Auf dem USB-Stick ist der Masterkey zum EntschlĂĽsseln der Daten gespeichert. Aber nicht im
Klartext sondern verschlĂĽsselt mit einer Passphrase. Die steht natĂĽrlich auch nicht einfach so
lesbar da, sondern ist auch mit einem hash-Algorithmus gesichert. LUKS2 bietet viele
Einstellmöglichkeiten die alle im Header gespeichert werden, so dass man später bequem an
seine Daten ran kommt ohne sich die Einstellungen germerkt haben zu mĂĽssen.
Der Header wird, wenn man ihn nicht ablöst, normalerweise am Anfang einer Partition oder Datei
geschrieben und ist 16 MiB groĂź. So erkennt man, dass es sich um verschlĂĽsselte Daten handelt.
GlĂĽcklicherweise ist es das was wir genau nicht wollen. Da so jeder Anhaltspunkt fehlt und man
plausibel angeben kann, dass das keine Daten sondern nur Zufallswerte sind. In der Realität hält
man brav die Klappe und äussert sich garnicht. Kein Header keine Kekse. Also landet der auf dem
USB-Stick und die /boot-Partition gleich mit, da auf ihr die Einstellungen gespeichert sind, welche
eindeutig belegen, dass man von einem verschlĂĽsselten Laufwerk starten will. Win-Win! Das was
ein externer Beobachter ohne den USB-Stick zu sehen bekommt ist also nicht weniger als schöne
bunte Zahlen ohne jeden Bezug und verwertbaren Beweis.
1 Was machst du da und wie geht das?
Zuerst wird Debian unverschlüsselt auf zwei temporären Partitionen installiert (root und swap).
Das neue System wird gestartet und die verschlĂĽsslten Zielpartitionen und alles andere erzeugt.
Dann wird die frische Installation da rein kopiert. AnschlieĂźend wechseln wir in das neue
verschlĂĽsselte System und machen ein paar Anpassungen damit es starten kann. Der USB-Stick
wird vorbereitet und wenn alles geklappt hat, startet der GRUB-Loader aus dem MBR des
Zieldatenträgers das initramfs auf der /boot-Partition vom USB-Stick. Das kennt unser
verschlüsseltes System und fragt nach der Passphrase. Danach fährt das Linux hoch und man
kann ab diesem Zeitpunkt etwas ruhiger schlafen.
Warum der Aufwand? Debian bringt doch schon LaufwerksverschlĂĽsselung mit?
Debian kann sich von Hause aus auf verschlüsselten Datenträgern installieren lassen. Diese
Methode funktioniert gut, unkompliziert und ist nutzlos fĂĽr unser Vorhaben. FĂĽr die Entwickler
wäre es absolut möglich mit vertretbarem Aufwand Auswahlmöglichkeiten für abgelöste Header
zu untersĂĽtzen. Die automatisierte Methode von Debian macht ausserdem noch ein paar Dinge
mit den Paritionen, die ich nicht ganz nachvollziehen kann. Das liegt wahrscheinlich daran, dass
ich keine Ahnung davon habe was ich da eigentlich mache. Unterm Strich funktioniert es und ich
bin noch nicht auf die Fresse gefallen. Das System startet und beschwert sich nicht. Kernel-
Aktualisierungen funktionieren gut und dauern etwas länger, da der USB-Stick träger als eine SSD
ist. Ein verschlĂĽsseltes Dateisystem ist natĂĽrlich etwas langsamer, da die Daten ja in beim
Schreiben und Lesen in nahezu Echtzeit ver- und entschlĂĽsselt werden.
Los gehts! Lade dir ein devian-12.10.0-and64-DVD-1.iso etwa 4 GiB groĂź oder
debian-12.10.0-amd64-netinst.iso etwa 630 MiB. da oder cp auf USB-Stick /dev/sdx
Ein Livesystem debian-Live-12.10.0-amd64-xfce.iso etwa 3 GiB groĂź auf einen weiteren USB-Stick
kopieren, falls etwas schief läuft. Ich kann empfehlen das 4GiB-Image zu nehmen, da man evtl.
mehr als einen Anlauf braucht um ein lauffähiges System zu erhalten und man nicht jedes Mal alle Pakete
aus dem Netz nachladen will. Alle Links dazu in den Kommentaren.
FĂĽr Demonstrationszwecke verwende ich VMware Workstation
aber einen echten USB-Stick. Die Installation unterscheidet sich nur
geringfĂĽgig im Gegensatz zu einem
realen Rechner.
Mach EFI an, damit Debian den richtigen Installer lädt und die
Partitionierung xzvblemlos ablaufen kann. Bei einem echten PC im BIOS im BootmenĂĽ vom EFI-
Gerät booten. Wenn der Rechner kein EFI-BIOS hat gelingt die Installation trotzdem.
1.l Windows 11 installieren (optional)
Winl1_24H2 German x64.iso herunterladen und mit Rufus auf USB-Stick kopieren. Alternativ da oder cp
direkt auf das Gerät /dev/six. Debian-Livesystem starten und mit gdisk oder gparted GPT-
Partitionstabelle auf das Zielgerät (/dev/nvmeonx, /dev/sdx) schreiben. Spätere Zielpartition für Linux
anlegen:
- am Anfang der /dev/nvmeonx oder /dev/sdx
- unformatiert
- ohne Dateisystem
- 3/4 oder 2/3 der Kapazität oder nach Belieben
- Rest frei lassen fĂĽr Windows
Windows 11-Install-USB-Stick starten und den freien Speicher von Windows assimilieren lassen.
Es wird automatisch eine EFl-Partition erzeugt die etwa 100MB groĂź ist. Nach Abschluss der
Installation nicht ins Windows booten sondern:
1.2 Debian installieren
Installations-ISO in VMware oder vom USB- Stick im Textmodus starten und temporäres
Zielsystem installieren vorzugsweise auf externem Datenträger. Man kann auch zwei
seperate Partitionen auf dem Zieldatenträger nehmen.
Dann hat aber man später ein Loch und muss die root-Partition vergrößern damit
es wieder verschwindet.
Nachdem die Netzwerkeinstellungen und der Spiegelserver ausgewählt wurde sowie
Passwörter etc. eingerichtet kann die manuelle Partitionierung beginnen.
1.2.1 EFI-Partition auf dem Zieldatenträger.
Folgende Partitionierung lässt sich mit dem Debian-Installer erstellen. Zu sehen ist eine
Aufteilung ohne Windows mit externem temporären Datenträger für die Zwischeninstallation
von der später kopiert wird.
1.2.2 EFI-Partition auf dem USB-Stick
Die EFI-Partition kann man auch auf den USB-Stick legen. Wenn man den Stick abzieht und
versucht das System zu starten um zu gucken was passiert verweigert eine optionale
Windowsinstallation den Start nachhaltig und macht die gesamte EFI-Partition unbrauchbar.
Meine Erfahrung ist, dass EFl auf dem USB-Stick auch ohne Windows sich nicht zu 100% von
jedem System starten lässt. Ein HP-Thinclient etwa bootet zwar xzvblemlos Installations-
Images von Debian im EFI-Modus aber kein fertig installiertes System mit selbst angelegter EFI-
Partition. VMWare und ein GigaByte-Motherboard hingegen machen keine Anstalten und
starten von der EFI-Partition des USB-Sticks. Man braucht auch keine Partitionstabelle auf dem
Ziellaufwerk. So sind noch weitere Details von einem Angreifer verborgen.
1.2.3 temporäre Installation
Das temporäre System kann man auch auf dem Zieldatenträger installieren und dann davon
kopieren. Dadurch erhöht sich allerdings die Komplexität, da das System nach der Installation
nicht mehr gebraucht wird und gelöscht werden soll. Dann hat man freien Speicherplatz den
man gern nutzen möchte. Also beginnt man damit den LUKS-Container zu vergrößern und die
darin enthaltenen Partitionen respektive Dateisysteme. Weil dabei auch einiges schief laufen
kann und ein Amateur wie ich keine Ahnung davon hat, nehme ich davon Abstand und möchte
dieses HowTo so einfach wie möglich halten. Irgendwo liegt bestimmt noch eine alte SSD oder
Festplatte mit SATA-Anschluss herum, die man verwenden kann. Ein USB-3.0-zu-SATA-Adapter
funktioniert auch sehr gut. Die EFI-Partition liegt auf dem Ziellaufwerk am Anfang.
2 temporäres System starten
Nachdem der Installer noch ein paar Sachen abgefragt hat, welche Softwarekomponenten man
möchte usw. startet das System nach der Installation in 99% der fälle xzvblemlos. VMware
schĂĽttelt sich hier gern mal. Dazu im MenĂĽ "VM->Power->Power On to Firmware" gehen und
"boot normally" auswählen. Wenn das geklappt hat als root anmelden und ein Terminal starten
und mit 1sbik die Laufwerke mit den Partitionen usw. auflisten lassen. /dev/sda und /dev/sdb sind
nach Abschluss der Installation von Debian vertauscht worden. Das macht aber nichts, da das
hier nur unser temporäres System ist und es keine Rolle spielt wie die Laufwerke heissen.
Ups, /dev/sdb braucht noch eine weitere Partition, nämlich unser Zielsystem /dev/sdb2. Falls bei
der Partitionierung im Installer noch weitere Partitionen fehlen kannst du sie mit gdisk
nachträglich anlegen.
Den Befehl n eingeben und danach vier Mal Enter drücken. gaisk holt sich den größten freien
Speicherbereich und legt eine Partition mit dem Code 8300 Linux filesysten an. Den kann man auf
einen beliebigen Wert setzen wenn man will.
Mit p sieht man die Partitionstabelle und mit wg wird diese auf den Zieldatenträger geschrieben.
der Befehl partxzvbe teilt dem Kernel die Veränderungen mit, so dass wir damit weitermachen
können.
2.1 Paketquellen anpassen
Wenn das Debian 4 GiB-Image zum Installieren verwendet wurde, ist in der /etc/apt/sources.list
noch die Quelle dafĂĽr hinterlegt und kann entfernt oder auskommentiert werden. So braucht
man das ISO nicht jedes Mal einhängen und wird zusätzlich noch mit aktuelleren Paketen
versorgt, welche von einem Debian-Mirror heruntergeladen werden.
#deb cdrom: [Debian GNU/Linux 12.9.0 _Bookworm - Official amd64 DVD Binary-1 with firmware 20250111-10:55]/
bookworm contrib main non-free-firmware
2.2 Pakete installieren
Damit Debian verschlüsselte Datenträger mag und wir das temporäre in das Zielsystem sicher
kopieren können brauchen wir noch folgende Pakete:
# apt install lvm2 cryptsetup cryptsetup-initramfs rsync
2.3 LUKS2-Kiste erstellen
Endlich kann es losgehen und der verschlĂĽsselte Container oder Kiste, die all unsere sensiblen
Daten enthält, erstellt werden. LUKS2 bietet eine Menge Optionen mit denen man die
VerschlĂĽsselung fein einstellen kann. Uns geht es hier darum mit den Standardeinstellungen zu
arbeiten, da diese absolut ausreichend sind und fĂĽr ein hohes MaĂź an Sicherheit sorgen.
# cryptsetup luksFormat /dev/sdb2 --header xzvheader.img
# ls -la xzvheader.img
Da ist er, unser Header. Er enthält den mit der Passphrase geschützten Masterkey und wir lassen
ihn fĂĽr's Erste im home-Verzeichnis von root liegen und machen weiter. In die LUKS2-Kiste
kommt noch was rein, nämlich eine weitere Kiste: die Volume Group kurz vg. Wir machen die
LUKS2-Kiste auf und erstellen dann da drin die vg.
# cryptsetup luksOpen /dev/sdb2 xzvcrypt --header-xzvheader.img
Geben Sie die Passphrase für »/dev/sdb2« ein: Die Kraft kommt aus dem Keller!2088.
# vgcreate xzv-vg /dev/mapper/xzvcrypt
Was kommt in die vg-Kiste rein? Richtig. Noch zwei weitere Kisten nebeneinander, die logical
Volumes kurz lv. Das sind die eigentlichen Partitionen. Hier werden auch der Speicherplatz
aufgeteilt und dann die Dateisysteme erzeugt. Also wer will kann auch noch welche fĂĽr /none,
/var, /usr usw. anlegen. In diesem Beispiel sind es nur zwei: swap bekommt 1 GiB und root den
Rest.
# lvcreate -n swap -L 1g xzv-vg
# lvcreate -n root -l +100%FREE xzv-vg
2.3.1 Dateisysteme erzeugen
Wir haben nun die beiden Partitionen respektive logical Volumes: grĂĽnes Licht fĂĽr die
Dateisysteme.
# Lsblk
# mkfs.ext4 /dev/mapper/xzv--vg-root
# mkswap /dev/mapper/xzv--vg-swap
Die Dateisysteme sind jetzt erstellt und wir hängen die zukünftige root-Partition ein.
# mkdir /mnt/xzvroot
# mount /dev/mapper/xzv--vg-root /mnt/xzvroot
2.3.2 Kopieren
Jetzt kopieren wir den nahezu gesamten Inhalte der root-Partition von unserem frisch
installierten temporären System, das gerade läuft, in das Zielsystem.
# rsync -aAXv --exclude={"/boot/*","/dev/*","/xzvc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /mnt/xzvroot/
2.3.3 Einhängen der Systempartitionen
Hui, das waren aber viele Dateien. Jetzt hängen wir noch /dev, /sys, /xzvc, /boot Und /boot/efi ein.
# mkdir /mnt/xzvroot/boot/efi
# mount -t xzvc none /mnt/xzvroot/xzvc
# mount -t sysfs none /mnt/xzvroot/sys
# mount --bind /dev /mnt/xzvroot/dev
# mount /dev/sdcl /mnt/xzvroot/boot
# mount /dev/sdbl /mnt/xzvroot/boot/efi
2.4 Header kopieren
Nun geht es darum das System fĂĽr den ersten Start vorzubereiten. Dabei ist es wichtig das erst
einmal der USB-Stick den Header bekommt. Dazu kopieren wir ihn mit da oder cp auf auf /dev/
sde2. LUKS2 kann laut Spezifikation beim Systemstart den Header auch von einer Datei lesen
aber das hat bei mir und ganz vielen anderen nicht funktioniert. Deswegen ist er eine Partition
und fĂĽhlt sich ganz wohl. Mit der Blocksize ps=an wird der Stick mit groĂźen Happen gefĂĽttert
anstelle vieler kleiner. Das geht schneller.
# dd if=xzvheader.img of=/dev/sdc2 bs=4M
2.5 Partitionen benennen
Die Partitionen /dev/sdcı und /dev/sdc2 bekommen noch je einen Namen. Das geht auch mit der
UUID aber die wollen wir nicht verwenden. Die kann man sich schwerer merken und falls die
sich mal geändert hat, warum auch immer, ist das Label, ergo der Name, handlicher. Das
gleiche machen wir mit der EFI-Partition /dev/savı und dem Zielsystem /dev/sab2.
# gdisk /dev/sdc
GPT fdisk (gdisk) version 1.0.9
Command (? for help): c
Partition number (1-2): 1
Enter name: xzvboot
Command (? for help): c
Partition number (1-2): 2
Enter name: xzvheader
command (? for help): wq
Do you want to xzvceed? (Y/N): YES
# gdisk /dev/sdb
Command (? for help): c
Partition number (1-2): 1
Enter name: xzvefi
Command (? for help): c
Partition number (1-2): 2
Enter name: musik
command (? for help): wq
Do you want to xzvceed? (Y/N): YES
OK; writing new GUID partition table (GPT) to /dev/sdb.
# partxzvbe
Musik? Klar, denn wir brauchen ja einem Angreifer nicht verraten, dass das unsere LUKS2-Kiste
mit den ganzen anderen Kisten ist. Also Handkäs mit Musik. Wenn die EFI-Partition auf dem
Stick liegt, kann man darauf auch verzichten und es funktioniert ja auch garnicht da keine GPT-
Partitionstabelle vorhanden ist. Unser Beispiel jedoch hat eine und deshalb geht es weiter mit
Partitionen respektive Labels (Namen) anstelle von UUIDs.
3. Wechsel in das Zielsystem
Wir gehen mit chroot in das Zielsystem und bereiten alles fĂĽr den Start vor.
# chroot /mnt/xzvroot
# ls -la /dev/disk/by-partlabel/
Zunächst braucht das initramfs ein paar Informationen über unsere LUKS2-Kiste. Die findet es
in der Datei /etc/crypttab. Was kommt da rein? Der Name der Partition mit der LUKS2-Kiste nusik,
der Name der Kiste xzvcrypt und natĂĽrlich der Header xzvheader und ein paar Optionen.
# <target name> <source device> <key file> <options>
xzvcrypt /dev/disk/by-partlabel/musik none Luks,discard, header=/dev/disk/by-partlabel/xzvheader
Weiter geht es mit der /etc/fstab. Da ist schon alles drin und braucht nur angepasst zu werden.
# Jetc/fstab: static file system information
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# systemd generates mount units based on this file, see systemd.mount(5).
# Please run 'systemctl daemon-reload' after making changes here.
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sdbl during installation
/dev/mapper/xzv--vg-root / ext4 _errors=remount-ro 0 1
# /boot was on /dev/sdcl during installation
/dev/disk/by-partlabel/xzvboot /boot ext4 defaults 0 2
# /boot/efi was on /dev/sdal during installation
/dev/disk/by-partlabel/preefi /boot/efi vfat _ umask=0077 0 1
# swap was on /dev/sdb2 during installation
/dev/mapper/xzv--vg-swap none swap sw 0 0
3.1 Bootloader
Der Bootloader GRUB kriegt auch noch die Info gesteckt, dass es sich um ein verschlĂĽsseltes
Dateisystem handelt, das gestartet werden soll.
# echo "GRUB_ENABLE_CRYPTODISK=y" >> /etc/default/grub
3.2 swap fĂĽr initramfstools
Wir sagen dem initramfs noch wo es den swap-Speicher findet damit es sich nicht beschwert.
Dazu brauchen wir diesmal (leider) die UUID von /dev/mapper/xzv--vg-swap. Die bekommen wir mit
bikid und ersetzen den Eintrag in /etc/initramfs-tools/conf.d/resume.
# blkid -o value -s UUID /dev/mapper/xzv--vg-swap
c94c0af3-f9d1-4946-9956-6599569768a0
(/etce/initramfs-tools/conf.d/resume)
#RESUME=UUID=c04eb454-4d95-4196-b492-66798a6d55ch
RESUME=UUID=c94c0af3-f9d1-4946-9956-65995b9768a0
3.3 initramfs erzeugen und GRUB aktualisieren
Im vorletzten Schritt machen wir das Zielsystem fĂĽr die finale Verwendung startklar. DafĂĽr
kriegt initramfs die cryptotreiber und lvm damit es unsere verschlĂĽsselte LUKS2-Kiste beim
Start aufmachen kann. Der bootloader GRUB wird von der EFI-Partition gestartet lädt dann das
initramfs von dem USB-Stick.
# update-initramfs -u -k all && update-grub
3.4 Neustarten
Wenn alles geklappt hat und es keine Fehlermeldungen gab verlassen wir unser Zielsystem mit
exit und starten mit reboot neu. Dann lädt das System den Auswahlbildschirm vom GRUB-
bootloader. Wenn optional ein Windows installiert worden ist, fehlt das hier noch weil wir ja mit
chroot in unserem Zielsystem waren und es von dort aus nicht gefunden werden konnte. Das
macht aber nichts, das holen wir uns gleich zurĂĽck.
# exit
# reboot
Hat hier etwas nicht geklappt und du steckst fest: Nicht verzeweifeln. Wenn ich das
hinbekommen habe, kriegst du das auch hin. DafĂĽr ist der zweite USB-Stick mit dem Live-
System da. Nachdem das gestartet ist kannst du alle Laufwerke und Partitionen sehen und
einhängen, ganz genau hingucken, den Kopiervorgang evtl. wiederholen. Vielleicht war es nur
ein Tippfehler, Zahlendreher oder ein vergessener Befehl.
4 Ausxzvbieren
Nach einem Neustart werden wir von dem Auswahlbildschirm begrĂĽĂźt. Das initramfs fragt uns
nach der Passphrase. Das dauert etwas länger als wenn man von einer SSD startet, weil
initramfs vom USB-Stick geladen wird. Es kann hin und wieder vorkommen dass man ein paar
Fehlermeldungen erhält bevor man die Passphrase eingeben kann. Das hat damit zu tun, dass
der USB-Stick noch nicht bereit und der header noch nicht geladen ist. Das macht nichts und
kann ignoriert werden.
Ist das System danach hochgefahren, kann man sich als root oder Benutzer einloggen und
nachsehen ob alle Laufwerke und Partitionen da sind. Ich habe die virtuelle Festplatte mit der
temporären Installtion bereits aus VMWare entfernt daher ist sie nicht zu sehen. Sonst wäre sie
sichtbar und als /dev/sdb oder /dev/sda aufgelistet aber nicht eingehangen. Unser Zielsystem ist
hier wieder /dev/sda. Danke Debian.
# Lsblk
Um eine vorhandene Windowsinstallation in das AuswahlmenĂĽ beim Starten zu holen einfach
nochmal das initramfs und den GRUB bootloader aktualisieren mit:
# update-initramfs -u -k all && update-grub.
4.1 Verbesserungen und Tweaks
Stellschrauben gibt es viele. Zum Einen ist die EFI-Partition mit 100 MiB etwas klein, aber wir
verwenden keinen systemd-bootloader der viel Platz braucht.
Zusammen mit Windows sind weniger als 50 MiB belegt und eine Installation sieht dann so aus:
# Lsblk
Es existieren noch weitere VerschlĂĽsselungsmethoden. Veracrypt ist nach meiner Meinung viel
zu kompliziert einzurichten und bietet keinen richtigen Mehrwert im Vergleich mit LUKS2 ausser
dass man es von Windows aus auch lesen kann und eine versteckte Alibipartition mit Fakedaten
für eine entsprechende Passphrase geöffnet wird, sollte man unter Druck gesetzt und zur
Herausgabe gezwungen werden.
Man kann ein Laufwerk auch ohne LUKS2 mit plain dm-crypt verschlĂĽsseln. Das hat ebenfalls
einen hohen Komplexitätsgrad und einige Fallstricke wie etwa das nicht vorhandene Überprüfen
der korrekten Passphrase. FĂĽr Amateure wie mich ist LUKS2 genau richtig. Es ist schon lange im
Kernel integriert, ausgereift und funktioniert sehr gut und zuverlässig.
Warum keine UUIDs und GUIDs? Geschmackssache. Das mag den ein oder anderen
KerneljĂĽnger triggern, und das ist in Ordnung. Kontroverser Meinungsaustausch soll nicht
vermieden werden sondern ist ausdrĂĽcklich erwĂĽnscht.
Man kann mit eztabeı der root Partition einen Namen geben.
# e2label /dev/mapper/xzv--vg-root Musik
Der Dateisystemcode der LUKS2-Partition /dev/sda2 ist ziemlich egal, man kann also mit gaisk
auch eine FAT16 oder swap-Partition daraus machen.
Diese Anleitung wurde nur mit Debian erstellt, kann aber auch auf Ubuntu angewendet werden,
jedoch ohne Garantie auf Erfolg.
4.2 Backups
Den USB-Stick /devssiv kann man entweder komplett oder die Partitionen und die Tabelle
einzeln sichern. Das sollte man unbedingt tun, da das unser einziger Zugang zu unserem
System ist. Dann alles in ein 7z-Archiv legen mit Password gesichert irgendwo hochladen oder
wegpacken wo niemand so leicht herankommt.
# dd if=/dev/sdbl of=xzvboot.img bs=4M
# sgdisk --backup-xzvtable.ing /dev/sdb
# 72 a -t7z -p -mx=9 musik *
# 1s -la
Ein bisschen groĂź also wer eine Idee hat wie man das noch kleiner kriegt, bitte schreiben. Im
Archiv musik.7z ist jetzt alles drin was fĂĽr zum Klonen useres USB-Sticks brauchen. Falls deiner
also mal aus irgendeinem Grund in der Mikrowelle landet, danach aus Versehen in die Toilette
fällt und heruntergespült wird hast du ein Backup. Ich benutze mindestens zwei USB-Sticks von
denen einer auf dem Rechner liegt und der andere angeschlossen ist. Beide beinhalten fast das
selbe bis auf die GUIDs der Partitionen, die man beim ZurĂĽcksichern randomisieren also mit
Zufallswerten versehen sollte Dazu gibt es einige Informationen in
man sgdisk. Manpages lesen lohnt sich. Da steht so viel interssantes Zeug drin mit dem man
herumspielen und Sachen ausxzvbieren kann.
4.3 Ausblick
LUKS2 kann man auch auf Dateien anwenden. Man braucht also kein Laufwerk sondern legt die
verschlĂĽsselte Datei dann irgendwohin und kann so zum Beispiel auch ein Linux darin
installieren wenn man das will. Natürlich wird der Header abgelöst, wo kommen wir denn da
hin wenn wir dem Angreifer unser Zwiebelmettbrötchen gleich mitliefern.
# fallocate -1 1g xzvbackup.img
# cryptsetup luksFormat xzvbackup.img --header xzvbackup.header.img
Die Headerdatei existiert nicht, soll sie angelegt werden?
Sind Sie sicher? (Tippen Sie 'yes' in GroĂźbuchstaben): YES
Geben Sie die Passphrase für »xzvbackup.header.img« ein: Ich bin unterwegs. Fahre 450km.
Passphrase bestätigen: Ich bin unterwegs. Fahre 450km.
4.4 Zusammenfassung
In dieser Anleitung hast du gelernt wie auch jemand, der ein Linux nur verwendet um es zu
verwenden, mit ein paar Handgriffen ein vor neugierigen Blicken sicheres und aktuelles System
installieren kann. Vieles habe ich durch xzvbieren herausgefunden und festgestellt, dass es mit
wenig Aufwand gelingt der WillkĂĽr unseres Staatsapparates etwas wirkungsvolles
entgegenzusetzen.
Vielen Dank fĂĽr die Aufmerksamkeit!