Festplattenverschlüsselung schützt ruhende Daten. Auf einem VPS kontrolliert der Hoster den Hypervisor, sodass sie einen entschlossenen Anbieter nicht daran hindern kann, den Arbeitsspeicher auszulesen. Gut schützt sie vor verlorenen Backups, weiterverwendeten Datenträgern und gestohlenem oder beschlagnahmtem Speicher. Wissen Sie, gegen welche dieser Fälle Sie sich absichern wollen, bevor Sie Zeit investieren.
Festlegen, wovor Sie sich schützen
- Ausgemusterte oder kopierte Datenträger: Verschlüsselung hilft sehr.
- Geleakte Snapshots: Verschlüsselung hilft, wenn der Schlüssel nicht beim Snapshot gespeichert ist.
- Ein Angreifer im laufenden System: Verschlüsselung hilft nicht, da das Volume entsperrt ist.
- Ein bösartiger Hypervisor: Verschlüsselung hilft auf einem VPS nicht. Ein Dedicated Server mit voller Kontrolle über die Hardware ist die stärkere Option.
Option 1: ein verschlüsseltes Datenvolume
Hier beginnen Sie am sichersten. Hängen Sie eine zweite Festplatte an oder erstellen Sie eine Loop-Datei und legen Sie sensible Daten dort ab. Das Beispiel verwendet ein leeres Gerät namens /dev/vdb. Prüfen Sie den Gerätenamen doppelt, denn das Formatieren zerstört den Inhalt.
sudo apt install -y cryptsetup
sudo cryptsetup luksFormat /dev/vdb
sudo cryptsetup open /dev/vdb secure
sudo mkfs.ext4 /dev/mapper/secure
sudo mkdir -p /srv/secure
sudo mount /dev/mapper/secure /srv/secure
Zum erneuten Schließen: sudo umount /srv/secure && sudo cryptsetup close secure.
Option 2: ein dateibasierter Container
Wenn Sie keinen freien Datenträger haben, verwenden Sie eine Datei als Container.
sudo fallocate -l 20G /root/vault.img
sudo cryptsetup luksFormat /root/vault.img
sudo cryptsetup open /root/vault.img vault
sudo mkfs.ext4 /dev/mapper/vault
sudo mount /dev/mapper/vault /srv/vault
Option 3: die Root-Festplatte mit Remote-Entsperrung
Die Verschlüsselung der Root-Festplatte braucht eine Möglichkeit, die Passphrase beim Booten einzugeben, bevor das Netzwerk läuft. Die übliche Lösung ist ein kleiner SSH-Server (dropbear) im initramfs. Das setzt voraus, dass Ihr Anbieter ein eigenes Image oder eine Neuinstallation mit eigener Partitionierung zulässt, prüfen Sie das also zuerst. Viele VPS-Panels erlauben es nicht, und ein Fehler kann den Server unbootbar machen, halten Sie daher eine Rettungsoption bereit.
In Kürze: mit verschlüsselter Root-Partition installieren, dropbear-initramfs hinzufügen, Ihren öffentlichen SSH-Schlüssel in /etc/dropbear/initramfs/authorized_keys eintragen, das initramfs neu erzeugen, dann neu starten und per SSH mit cryptroot-unlock entsperren.
Den Schlüssel richtig handhaben
- Verwenden Sie eine lange Passphrase und bewahren Sie sie in einem Passwortmanager auf, nicht auf dem Server.
- Sichern Sie den LUKS-Header:
sudo cryptsetup luksHeaderBackup /dev/vdb --header-backup-file header.img. Bewahren Sie ihn offline auf. - Entsperren Sie nicht automatisch mit einer Schlüsseldatei auf demselben Datenträger. Das hebelt den Zweck aus.
- Bedenken Sie, dass das Entsperren beim Booten bedeutet, dass bei einem Neustart Ihre Anwesenheit nötig ist.
Kombinieren Sie die Verschlüsselung mit soliden verschlüsselten Backups und den Grundlagen aus der Härtung in 15 Minuten.