Partition verschlüsseln

4. Mai 2016, Tags:

Um Daten vor fremden Zugriffen zu schützen, sollte man diese Verschlüsseln. Ein recht effizienter und letztendlich sehr anwenderfreundlicher Weg dazu ist die Verschlüsselung einer ganzen Partition der Festplatte. Linux kann das mit Boardmitteln. Im Folgenden ist ‚X‚ die Festplatte und ‚a‚ die Zielpartition.

Vorarbeiten

Die notwendigen Pakete heißen ‚cryptsetup‘ und ‚lvm2‘. Sie werden wie folgt installiert:

sudo apt install cryptsetup lvm2

Da auf einer verschlüsselten Partition defekte Blöcke besonders blöd wären, sollte man vorweg die paar Minuten eines Tests investieren. Das übernimmt das Tool ‚badblocks‘:

sudo /sbin/badblocks -c 10240 -s -w -t random -v /dev/sdXa

Um das Knacken des Codes zu erschweren, wird die Partition mit zufälligen Werten vorbeschrieben. Das muss man nicht machen, ja nach eigener Paranoia wird es aber empfohlen ;-). ACHTUNG: Spätestens nach diesem Schritt sind alle bisher gespeicherten Daten auf der Platte weg!

sudo dd if=/dev/urandom of=/dev/sdXa

Verschlüsseln der Partition

Nun geht es an die eigentliche Verschlüsselung. Initilisiert (und auch endültig überschrieben!) wird die Partition mittels:

sudo cryptsetup --verify-passphrase --hash=sha256 --cipher=aes-cbc-essiv:sha256 --key-size=256 luksFormat /dev/sdXa

Die verschlüsselte Partition muss nun entsperrt und nutzbar gemacht werden. Hier kommt lvm2 ins Spiel. Zunächst wird die verschlüsselte Partition durch die Eingabe von …

sudo cryptsetup luksOpen /dev/sdXa home

… entsperrt und auf das Device „/dev/mapper/home“ gemappt. Dieses kann nun wie eine normale Partition genutzt werden:

# Formatieren
sudo mkfs.ext4 /dev/mapper/home
# Einbinden
sudo mount /dev/mapper/home /mnt

Automatisch Einbinden

Nun möchte man diese Aktion nicht bei jedem Systemstart durchführen. Hierzu automatisiert man das Entsperren durch einen Eintrag in der Datei „/etc/crypttab“ …

# <target device>   <source device>   <key file>   <options>
home                /dev/sdXa         none         luks

… und bindet das neue Device ganz normal über die „/etc/fstab„ein:

# <file system>    <mount point>   <type>   <options>   <dump>  <pass>
/dev/mapper/home   /home           ext4     defaults    1       2

Passwörter verwalten

Die LUKS-Verschlüsselung kennt 8 verschiedene Slots für Passwörter. Mit der oben angegebenen Erklärung wird das Passwort im Slot 0 gesetzt. Das Setzen weiterer oder Entfernen alter Passwörter erfolgt interaktiv per Aufruf von:

# neues Passwort setzen
sudo cryptsetup -y luksAddKey /dev/sdXa
# Passwort entfernen
sudo cryptsetup luksRemoveKey /dev/sdXa

Der Parameter „-y“ stellt dabei sicher, dass man das neue Passwort einmal bestätigen muss. Wichtig: Bevor man ein altes Passwort löscht, sollte man einmal probieren, ob das neue Passwort auch passt ;-).

Keine Antworten

Schreibe einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.