Debian Live USB Stick mit dauerhafter Speicherung (Persistenz) und Verschlüsselung

Debian Live USB Stick mit dauerhafter Speicherung (Persistenz) und Verschlüsselung

Ich wollte schon seit längerer Zeit einen Debian Live USB Stick, auf welchem Veränderungen dauerhaft gespeichert werden. Letztendlich hatte ich mich dann dazu entschiedenen einen Sandisk USB Stick mit USB3 und 128 GB zu verwenden.

Ich habe das iso File von Kali Linux mit allen Daten (also rund 14 GB) heruntergeladen und mit Balena Etcher unter Windows 11 auf den USB Stick geflasht. Kali Linux basiert auf Debian.

Danach habe ich ein anderes Debian Live Betriebssystem auf einem anderen USB Stick verwendet, um zu booten und nach dem vollständigen Bootvorgang, den neuen USB Stick mit Kali Linux angeschlossen

In dieser Kombination wird der neue USB Stick meist sdb sein, während das andere Live-System auf sda liegt. Überprüfen lässt sich das mit:

lsblk

Ist der Laufwersbuchstabe erkannt, kann (sdX ersetzen) mit der Verwendung des freien Speicherplatzes auf dem Stick begonnen werden. Die nachfolgenden Befehle formatieren den freien Speicherplatz auf dem USB Stick, verschlüsseln die Partition und aktivieren die Persistenz. Wie bereits vorher erwähnt muss das X mit dem richtigen Laufwerksbuchstaben ersetzt werden – ansonsten droht Datenverlust!

sudo fdisk /dev/sdX <<< $(printf "p\nn\np\n\n\n\np\nw")
sudo cryptsetup --verbose --verify-passphrase luksFormat /dev/sdX3
sudo cryptsetup luksOpen /dev/sdX3 my_usb
sudo mkfs.ext4 -L persistence /dev/mapper/my_usb
sudo mkdir -pv /mnt/my_usb
sudo mount -v /dev/mapper/my_usb /mnt/my_usb
echo "/ union" | sudo tee /mnt/my_usb/persistence.conf
sudo umount -v /mnt/my_usb
sudo cryptsetup luksClose /dev/mapper/my_usb

Danach kann neu gestartet, der alte Stick entfernt und vom neuen USB-Stick gebootet werden:

Kein WLAN unter Kali Linux

Das WLAN-Icon wird oben rechts nicht automatisch angezeigt, selbst wenn die passenden Treiber bereits vorhanden sind. Das erste WLAN-Netzwerk sollte daher über den Advanced Network Manager manuell hinzugefügt werden. Es ist daher meist KEINE Installation von Treibern oder anderen Paketen aus unsicheren Quellen notwendig.

PIM bei cryptsetup bzw. Zeit zur Schlüsselprüfung erhöhen

Wer es noch „sicherer“ haben möchte kann die Zeit für die Schlüsselprüfung erhöhen und verwendet statt dessen die nachfolgenden Befehle. Der Unterschied liegt hier nur in der angegebenen iter-time. Eine PIM wie bei VeraCrypt gibt es bei CryptSetup unter Linux jedoch nicht.

sudo fdisk /dev/sdX <<< $(printf "p\nn\np\n\n\n\np\nw")
sudo cryptsetup --verbose --verify-passphrase --iter-time 60000 luksFormat /dev/sdX3
sudo cryptsetup luksOpen /dev/sdX3 my_usb
sudo mkfs.ext4 -L persistence /dev/mapper/my_usb
sudo mkdir -pv /mnt/my_usb
sudo mount -v /dev/mapper/my_usb /mnt/my_usb
echo "/ union" | sudo tee /mnt/my_usb/persistence.conf
sudo umount -v /mnt/my_usb
sudo cryptsetup luksClose /dev/mapper/my_usb

Iterationen oder Passwort nachträglich ändern

Natürlich kann dies auch später nach einem Neustart (in das Live-System mit Persistenz) erledigt werden:

sudo cryptsetup luksChangeKey /dev/sdX3 --iter-time 60000

Mit diesem Befehl wird das Passwort wie auch die Zeit für die Schlüsselprüfung auf etwa 60000 ms erhöht.

Swapfile anlegen?

Theoretisch ist es möglich auch ein Swapfile anzulegen aber es kann zum Absturz führen, daher nein.

Fehler beim Update mit apt update / apt upgrade

Bei Updates kann es zu Fehlern kommen, denn das Live Image ist selbst als Quelle hinterlegt. Daher einfach die Quellenliste öffnen

sudo nano /etc/apt/sources.list

und den ersten Eintrag mit „#“ auskommentieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert