Kurzanleitungen/Howtos

/home mit LUKS verschlüsseln

04.08.2018

Datentresor

Möchte man nachträglich ein Verzeichnis verschlüsseln und dieses automatisch beim Hochfahren des Rechners – nach Eingabe des Paßwortes – einhängen lassen, so bietet sich diese Kurzanleitung an. In dieser wird beispielhaft das /home-Verzeichnis verschlüsselt. Da die verschlüsselten Daten nicht in einer separaten Partition, sondern in einer mitwachsenden Sparse-Datei landen, entfällt auch eine nachträgliche Neupartitionierung. Die folgenden Schritte werden als root ohne angemeldete Benutzer, die ihre Heimatverzeichnisse unter /home haben, durchgeführt.

1. Benötigte Software installieren

Zum Verwenden von LUKS wird das Kommandozeilenprogramm cryptsetup benötigt:

apt-get update
apt-get install cryptsetup

2. LUKS einrichten

Hier wird ein LUKS-Container, der auf maximal 8GB anwächst, erstellt, formatiert und eingehängt:

dd if=/dev/zero of=/home.img seek=8192 count=1 bs=1M
cryptsetup luksFormat -c aes-xts-plain64 -s 512 -h sha512 -y /home.img
cryptsetup luksOpen /home.img home
mkfs.ext4 /dev/mapper/home

3. Daten kopieren

Nun können die Dateien aus der alten Heimatverzeichnisse aus /home-old in das neue nach /home kopiert werden:

mv /home /home-old
mkdir /home
mount /dev/mapper/home /home
chmod 777 /home

cd /home-old
cp -rav . /home

4. Mounten beim Booten konfigurieren

Damit beim Booten nach dem Paßwort gefragt wird, muß die Abrage in /etc/crypttab konfiguriert werden. Nach erfolgreicher Abfrage wird das Gerät /dev/mapper/home angelegt, welches die entschlüsselten Daten repräsentiert:
echo "home /home.img none luks" >> /etc/crypttab
Das automatische Einhängen geschieht durch den Eintrag in /etc/fstab:
echo "/dev/mapper/home /home ext4 defaults 0 2" >> /etc/fstab
Anschließend den Rechner neu starten und überprüfen, ob das Mounten funktioniert:
reboot
Nach ausgiebigem Testen kann /home-old gelöscht werden.
Achtung! Achtung! Die folgenden Anweisungen richten sich ausschließlich an fachkundige Personen. Bei jedem Schritt kann es zum kompletten Datenverlust kommen. Alle Angaben ohne Gewähr! Die Anweisungen, Skripte, etc. sind ausschließlich für Lernzwecke auf Lernsystemen und nicht für Produktivumgebungen bestimmt!