Alle Systeme betriebsbereit Amsterdam · Paris · Reykjavík +5 Zahlen mit Kryptowährung
Sicherheit & HärtungProfi18 Min. LesezeitAktualisiert: 2026-08-29

VPS mit LUKS verschlüsseln

Festplattenverschlüsselung beantwortet genau eine Frage: was passiert, wenn Ihre Festplatte ausgeschaltet in fremde Hände gerät. Hier erfahren Sie, wie Sie das auf einem gemieteten VPS richtig einrichten — und eine ehrliche Bestandsaufnahme der Bedrohungen, die sie nicht berührt.

VPS mit LUKS verschlüsseln
Auf dieser Seite
  1. Was Verschlüsselung ruhender Daten tatsächlich schützt
  2. Der Vorbehalt bei gemieteter Hardware, unverblümt gesagt
  3. Datenvolume oder Root-Dateisystem: entscheiden Sie, bevor Sie tippen
  4. Was Sie brauchen, bevor Sie anfangen
  5. Schritt für Schritt
  6. Keyslots, Header und die Passphrase, die Sie rotiert haben
  7. Performance: AES-NI, NVMe und die zwei Flags, die man kennen sollte
  8. Der Weg über das Root-Dateisystem, und Remote-Unlock per SSH
  9. Tag zwei: was sich ändert, und was nicht
  10. Häufige Fragen

Das Argument, einen gemieteten Server zu verschlüsseln, ist enger gefasst, als die Werbung glauben macht — und innerhalb dieses engen Rahmens deutlich stärker. NVMe-Laufwerke fallen aus und gehen an den Anbieter zurück, mit Ihren Daten noch darauf. Nodes werden stillgelegt und ihr Speicher weiterverkauft. Hardware wird abgebildet oder aus einem Rack getragen. In jedem dieser Fälle ist LUKS der Unterschied zwischen einem lesbaren Dateisystem — Ihren Schlüsseln, Ihrer Datenbank, Ihrem Mail-Spool — und einem Block aus Rauschen, mit dem niemand etwas anfangen kann.

Was es nicht ist: Schutz vor der Maschine, auf der es läuft. Diese Unterscheidung ist die ganze Anleitung, deshalb steht sie vor dem ersten Befehl. Dann die eigentliche Arbeit: ein korrekt eingerichtetes LUKS2-Volume, ein Header-Backup, verschlüsselter Swap, Remote-Unlock per SSH und der Wiederherstellungsplan für den Reboot, der nicht zurückkommt. Die Maschine darunter können Sie ohne Ausweis mieten und in Monero bezahlen; Verschlüsselung ist eine Schicht, die Sie darauf aufsetzen, kein Ersatz dafür.

Was Verschlüsselung ruhender Daten tatsächlich schützt

Festplattenverschlüsselung beantwortet eine Frage, und beantwortet sie vollständig: was passiert, wenn jemand anderes die Festplatte in die Hände bekommt, während sie ausgeschaltet ist? Auf gemieteter Infrastruktur ist das nicht hypothetisch. Laufwerke fallen aus und gehen an den Lieferanten zurück. Nodes werden ausgemustert und ihr Speicher weiterverkauft. Volumes werden im Rahmen einer Ermittlung abgebildet oder verlassen ein Gebäude in einer Kiste.

  • Abgedeckt. Eine ausgeschaltete Festplatte, ein Offline-Abbild Ihres Volumes, ein unter Garantie zurückgegebenes Laufwerk, eine stillgelegte Node, eine kopierte Snapshot-Datei. In jedem Fall hält der Angreifer Chiffretext und einen Header in Händen, und ohne Passphrase ist damit Schluss.
  • Nicht abgedeckt: eine laufende Maschine. In dem Moment, in dem das Volume geöffnet ist, liegt der Schlüssel im Kernel-Speicher, und das Dateisystem liegt offen für alles mit Root-Rechten.
  • Nicht abgedeckt: Ihr Traffic. Bytes auf der Leitung sind das Problem von TLS und WireGuard. LUKS bekommt sie nie zu Gesicht.
  • Nicht abgedeckt: ein kompromittiertes Root-Konto. Ein Eindringling, der bereits drin ist, liest Ihre Dateien über denselben Mount wie Sie. Dafür ist Härtung da, und die beiden Kontrollen sind nicht austauschbar.

Die Liste ist bewusst kurz. Verschlüsselung ruhender Daten ist eine günstige Kontrolle mit hohem Wert und präzise begrenztem Umfang, und fast die gesamte Enttäuschung, von der Anwender berichten, entsteht dadurch, dass sie stillschweigend erwartet hatten, sie würde auch die anderen drei Zeilen abdecken.

Der Vorbehalt bei gemieteter Hardware, unverblümt gesagt

Wenn Ihr verschlüsseltes Volume geöffnet ist, liegt der Schlüssel im RAM des Gasts — und auf jedem VPS, egal wo, befindet sich dieses RAM auf einer Maschine, die der Betreiber physisch kontrolliert. Ein Hypervisor kann den Speicher des Gasts lesen. Das ist kein Fehler in LUKS, in KVM oder in diesem Host im Besonderen; es ist schlicht, was das Mieten eines Computers bedeutet, und jeder Anbieter, der Ihnen etwas anderes erzählt, beschreibt ein Produkt, das es nicht gibt.

Die Bilanz ist deshalb nüchtern: Verschlüsselung ruhender Daten macht den Offline-Angriff unmöglich und lässt den Online-Angriff genau dort, wo er war. Ein Laufwerk, das das Rack verlässt, wird wertlos. Ein laufender Server ist so exponiert wie gestern. Beide Hälften dieses Satzes stimmen gleichzeitig, und eine Anleitung, die Ihnen nur die erste Hälfte erzählt, tut Ihnen keinen Gefallen.

Was die zweite Stellschraube bewegt, ist ein anderer Satz von Kontrollen, und sie summieren sich mit Verschlüsselung, statt sie zu ersetzen. Es gibt nichts Aktenkundiges offenzulegen, weil die Anmeldung hier ohne KYC auskommt — eine E-Mail-Adresse für die Zugangsdaten und sonst nichts. Die Zahlung wird on-chain abgewickelt statt über eine Bank. Und die Jurisdiktion, in der die Maschine steht, entscheidet, welche Anordnungen überhaupt etwas erzwingen können. Unsere ehrliche Aufschlüsselung dessen, was ein mit Krypto bezahlter VPS verbirgt arbeitet den Rest ab, und der Eintrag zu den Fourteen Eyes deckt die Seite des Geheimdienst-Datenaustauschs ab. Betrachtet als eine Schicht unter mehreren, ist LUKS sein Geld mehr als wert. Betrachtet als Schutzschild gegen den eigenen Host, ist es ein Missverständnis.

Datenvolume oder Root-Dateisystem: entscheiden Sie, bevor Sie tippen

Das kann zwei Formen annehmen, und die Wahl ist eine Frage des Risikos, nicht der Stärke.

  • Ein verschlüsseltes Datenvolume. Ein LUKS-Container neben dem Betriebssystem. Alles, was zählt — Datenbanken, Mail, Schlüssel, Uploads, Backups — liegt darin; das Betriebssystem selbst bleibt im Klartext. Zehn Minuten Arbeit, überhaupt kein Boot-Risiko, und jederzeit reversibel. Das ist es, was die meisten Leser bauen sollten, und genau das tun die Schritte weiter unten.
  • Ein verschlüsseltes Root-Dateisystem. Alles liegt darin, einschließlich Logs, Paketlisten und der Shell-History, die Sie vergessen haben. Strikt stärker, und wirklich schwerer auf eine bereits laufende Maschine zu bekommen.

Der Grund für diese Schwierigkeit ist es wert, ausgesprochen zu werden, weil kein Tutorial es je tut: Sie können kein Dateisystem verschlüsseln, das gerade read-write eingehängt ist und Ihre SSH-Sitzung bedient. Beide echten Methoden — Shrink-and-Copy oder cryptsetup reencrypt an Ort und Stelle — benötigen die Root offline. Auf einer Maschine mit Out-of-Band-Konsole booten Sie einen Installer, und das ist Routine. Auf einem VPS ohne Konsole pivotieren Sie das laufende System zunächst in eine RAM-Disk, und wenn dabei irgendetwas schiefgeht, kommt die Maschine nicht zurück, und der Wiederherstellungsweg ist eine Neuinstallation, die die Festplatte löscht.

Also: Bauen Sie das Datenvolume heute, legen Sie alles Wichtige darauf, und behandeln Sie eine verschlüsselte Root als Entscheidung, die Sie zum Deployment-Zeitpunkt auf einer Maschine treffen, die noch nichts zu verlieren hat. Der letzte Abschnitt behandelt diesen Weg, einschließlich dropbear-initramfs, um die Passphrase beim Boot über SSH einzugeben.

Was Sie brauchen, bevor Sie anfangen

Nicht viel, und das ist Teil des Grundes, warum es sich lohnt.

  • Ein Plan. Verschlüsselung stellt keine zusätzliche RAM-Anforderung und kostet fast keine CPU. Cub (1 vCPU / 2 GB / 40 GB NVMe, $5.00/mo) reicht aus; Scout (2 vCPU / 4 GB / 70 GB, $9.00/mo) ist die komfortable Größe, wenn die Maschine auch einen echten Dienst betreibt. Die eine Zahl, auf die es ankommt, ist die Diskgröße, weil Ihr verschlüsseltes Volume davon abgeht.
  • Debian 12 oder 13 aus der Template-Bibliothek, oder Ubuntu LTS — die Befehle unten sind Debian-typisch, und die Paketnamen unterscheiden sich anderswo. Das Deployment dauert etwa eine Minute, und vollständige KVM-Virtualisierung bedeutet einen echten Kernel mit vorhandenen dm-crypt-Modulen, kein Container, der sich einen fremden Kernel teilt.
  • Zehn Minuten grundlegende Härtung zuerst. Verschlüsselung auf einer Maschine, die noch Passwort-Logins akzeptiert, ist ein Schloss an einer Tür ohne Rahmen.
  • Eine Passphrase, die Sie nirgendwo sonst verwendet haben, generiert statt erdacht, und irgendwo gespeichert, das den Verlust dieser Maschine übersteht. Es gibt keine Wiederherstellung, kein Zurücksetzen und kein Support-Ticket, das hilft.
  • Einen Ort abseits der Maschine für das Header-Backup. Wöchentliche Snapshots sind bei jedem Plan enthalten, aber ein Snapshot eines verschlüsselten Volumes ist immer noch verschlüsselt — nützlich für ein Rollback, nutzlos, wenn die Passphrase weg ist.

Der Standort macht dabei keinen Unterschied, wählen Sie also nach Preis oder Jurisdiktion: Amsterdam, Paris, Bukarest und Sofia liegen zum Grundpreis, während Zürich, Reykjavik, Stockholm und Kuala Lumpur einen Aufschlag tragen.

Schritt für Schritt

  1. VPS deployen, absichern und AES-NI-Unterstützung der CPU bestätigen

    Deployen Sie Debian 13 aus der Template-Bibliothek und verbringen Sie zunächst zehn Minuten mit den Grundlagen: nur SSH-Keys, Root-Passwort-Login deaktiviert, nftables-Default-Deny, unbeaufsichtigte Sicherheitsupdates. Bestätigen Sie dann, dass die Hardware Sie das nicht bezahlen lässt:

    grep -o -m1 ' aes ' /proc/cpuinfo
    apt update && apt install -y cryptsetup
    cryptsetup benchmark

    Gesucht sind aes-xts-Werte im Bereich mehrerer Gigabyte pro Sekunde. Jede x86-64-Server-CPU des letzten Jahrzehnts hat AES-NI, sodass Verschlüsselung nicht Ihr Flaschenhals sein wird — das NVMe darunter wird es sein, genau wie vorher.

  2. Platz für das Volume schaffen

    Wenn die Festplatte Ihres Plans unpartitionierten Platz hat, nutzen Sie ihn — eine echte Partition ist das Sauberste, was man verschlüsseln kann:

    lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
    sgdisk -n 0:0:0 -c 0:secure /dev/vda
    partprobe /dev/vda

    Wenn das Template die Festplatte bereits gefüllt hat, kämpfen Sie nicht dagegen an. Ein dateibasierter Container ist hier gleichwertig, kostet auf NVMe nichts an Durchsatz und kann später vergrößert werden:

    fallocate -l 20G /var/lib/secure.img
    chmod 600 /var/lib/secure.img
    losetup --find --show /var/lib/secure.img

    Notieren Sie sich das ausgegebene Loop-Device — üblicherweise /dev/loop0. Im Folgenden steht überall /dev/disk/by-partlabel/secure; setzen Sie stattdessen Ihr Loop-Device ein, wenn Sie den Container-Weg gewählt haben.

  3. Als LUKS2 formatieren — und die Speicherkosten begrenzen

    Das ist der Befehl, der alles entscheidet, also lohnt es sich, ihn zu lesen statt nur einzufügen:

    cryptsetup luksFormat --type luks2 \
      --cipher aes-xts-plain64 --key-size 512 \
      --pbkdf argon2id --pbkdf-memory 262144 --iter-time 5000 \
      /dev/disk/by-partlabel/secure

    --key-size 512 bedeutet AES-256 im XTS-Modus, der den Schlüssel in zwei Hälften teilt — es ist nicht AES-512, das es nicht gibt. --pbkdf argon2id ist die speicherharte Schlüsselableitung, die einen Brute-Force-Angriff auf Ihre Passphrase sowohl im RAM als auch bei der CPU teuer macht.

    --pbkdf-memory 262144 begrenzt das auf 256 MB, und das ist die Zeile, die Leute weglassen und später bereuen. Sich selbst überlassen, passt cryptsetup die Speicherkosten an das RAM an, das zum Formatierungszeitpunkt verfügbar ist. Wird derselbe Header später anderswo mit weniger Speicher entsperrt — einem 1-GB-Plan, einer Rescue-Umgebung, einem initramfs —, kann das Entsperren rundheraus fehlschlagen. Begrenzen Sie es bewusst.

  4. Öffnen, ein Dateisystem anlegen, einhängen
    cryptsetup --perf-no_read_workqueue --perf-no_write_workqueue \
      --allow-discards open /dev/disk/by-partlabel/secure secure
    
    mkfs.ext4 -L secure /dev/mapper/secure
    mkdir -p /srv/secure
    mount -o noatime /dev/mapper/secure /srv/secure
    df -h /srv/secure

    Die beiden Workqueue-Flags spielen nur bei NVMe eine Rolle, sonst nirgends; --allow-discards hält TRIM am Laufen, auf Kosten dessen, dass es jedem, der die ausgeschaltete Festplatte in Händen hält, verrät, welche Blöcke in Gebrauch sind. Beide werden weiter unten besprochen — die Standardwerte oben sind die richtigen für einen Allzweck-Server.

  5. Das LUKS-Header-Backup außerhalb der Maschine sichern

    Tun Sie das jetzt, bevor irgendetwas Verlustwertes auf dem Volume liegt. Der Header besteht aus rund 16 MB Metadaten, die die Keyslots enthalten, und ein beschädigter Header bedeutet, dass der Chiffretext unwiederbringlich ist, egal wie gut Sie sich an die Passphrase erinnern:

    cryptsetup luksHeaderBackup /dev/disk/by-partlabel/secure \
      --header-backup-file /root/secure-header.img
    sha256sum /root/secure-header.img

    Kopieren Sie es woandershin — per scp herunterladen, in einen Passwort-Manager legen, den Hash ausdrucken — und löschen Sie dann die lokale Kopie. Behandeln Sie diese Datei als gleichwertig mit der Passphrase, denn in Kombination mit jeder Passphrase, die sie je kannte, ist sie es.

  6. Das Wichtige auf das Volume verschieben

    Ein verschlüsseltes Volume, auf das nichts schreibt, schützt nichts. Stoppen Sie zuerst den Dienst, verschieben Sie seinen Zustand, und binden Sie dann den alten Pfad per Bind-Mount ein, sodass nichts anderes neu konfiguriert werden muss:

    systemctl stop postgresql
    rsync -aHAX --info=progress2 /var/lib/postgresql/ /srv/secure/postgresql/
    mv /var/lib/postgresql /var/lib/postgresql.old
    mkdir /var/lib/postgresql
    echo '/srv/secure/postgresql /var/lib/postgresql none bind 0 0' >> /etc/fstab
    mount /var/lib/postgresql
    systemctl start postgresql

    Prüfen Sie, ob der Dienst gesund ist, bevor Sie es shred-en oder das .old-Verzeichnis entfernen — und denken Sie daran, dass auf einem Copy-on-Write-Dateisystem oder einem NVMe mit Wear-Levelling das Löschen des Klartexts nicht dasselbe ist wie sein Vernichten. Die saubere Version dieser Geschichte ist es, das verschlüsselte Volume anzulegen, bevor der Dienst existiert.

  7. Entscheiden, wie es entsperrt wird — und ehrlich dazu stehen

    Hier ist die Weggabelung, an die jeder kommt. Tragen Sie das Volume in /etc/crypttab mit noauto ein, sodass nichts den Boot blockiert, und entsperren Sie es von Hand per SSH, wenn Sie es brauchen:

    echo 'secure /dev/disk/by-partlabel/secure none \
      luks,noauto,discard,no-read-workqueue,no-write-workqueue' >> /etc/crypttab
    cryptdisks_start secure

    Das ist die ehrliche Konfiguration: Der Schlüssel existiert nur, während Sie anwesend sind, und ein Reboot lässt das Volume verschlossen, bis Sie etwas anderes sagen. Der Preis dafür ist, dass unbeaufsichtigte Reboots mit abgeschaltetem Dienst zurückkommen.

    Die Alternative ist eine Keyfile in /etc/crypttab, sodass sich das Volume automatisch öffnet. Wenn diese Keyfile auf derselben Festplatte liegt, haben Sie nichts verschlüsselt — wer das ausgeschaltete Laufwerk in Händen hält, hält den Schlüssel direkt neben dem Schloss. Das ist nur sinnvoll, wenn der Schlüssel von woanders kommt als von der Festplatte: über einen WireGuard-Tunnel beim Boot abgerufen, oder wie im letzten Abschnitt über SSH in ein initramfs eingetippt. Wählen Sie bewusst; die Standardeinstellung des manuellen Entsperrens ist diejenige, die das auch wirklich bedeutet.

  8. Den Swap verschlüsseln und das Ganze verifizieren

    Swap ist der Ort, an dem Arbeitsspeicher zu einem Festplatten-Artefakt wird, sodass ein verschlüsseltes Volume neben einem Klartext-Swap genau die Geheimnisse leakt, die Sie schützen wollten. Ein zufälliger Schlüssel pro Boot ist die richtige Antwort — nichts zu verwalten, nichts zu verlieren. Prüfen Sie zuerst swapon --show und setzen Sie Ihr eigenes Gerät ein; falls das Template Ihnen statt einer Partition eine Swap-Datei gegeben hat, löschen Sie diese und verwenden Sie stattdessen eine kleine Partition, weil ein Gerät mit Zufallsschlüssel ein Block-Device braucht:

    swapoff -a
    sed -i '/swap/s/^/#/' /etc/fstab
    echo 'swap /dev/vda3 /dev/urandom \
      swap,cipher=aes-xts-plain64,size=512' >> /etc/crypttab
    echo '/dev/mapper/swap none swap sw 0 0' >> /etc/fstab

    Rebooten Sie dann — solange ein Fehler noch billig ist — und prüfen Sie das Ergebnis ehrlich:

    lsblk -o NAME,FSTYPE,MOUNTPOINT
    cryptsetup status secure
    blkid /dev/disk/by-partlabel/secure   # should say crypto_LUKS
    swapon --show                          # should show /dev/mapper/swap

    Der Test, der zählt: Bestätigen Sie bei geschlossenem Volume, dass /srv/secure leer ist und der davon abhängige Dienst sich weigert zu starten. Wenn beides zutrifft, ist die Verschlüsselung echt und nicht nur Dekoration.

Keyslots, Header und die Passphrase, die Sie rotiert haben

LUKS2 verwaltet bis zu 32 Keyslots. Jeder enthält eine Kopie desselben Master-Keys, verpackt mit einer jeweils anderen Passphrase — weshalb Sie eine zweite Passphrase hinzufügen können, ohne irgendetwas neu zu verschlüsseln:

cryptsetup luksAddKey /dev/disk/by-partlabel/secure
cryptsetup luksDump /dev/disk/by-partlabel/secure | grep -A2 '^Keyslots'
cryptsetup luksKillSlot /dev/disk/by-partlabel/secure 1

Zwei Passphrasen von Anfang an sind die richtige Grundeinstellung: eine, die Sie benutzen, eine, die aufgeschrieben und anderswo aufbewahrt wird. Den alleinigen Zugriff auf ein Volume durch einen Tippfehler im Passwort-Manager zu verlieren, ist die mit Abstand häufigste Art, wie Menschen LUKS-Daten verlieren — weit vor allem, was ein Angreifer anstellt.

Jetzt die Falle. Ein Header-Backup, das vor einer Passphrase-Rotation erstellt wurde, öffnet das Volume weiterhin mit der alten Passphrase. Keyslots liegen im Header, also ist eine alte Kopie des Headers auch eine alte Kopie der Keyslots — der Master-Key darunter hat sich nie geändert. Wenn Sie rotieren, weil eine Passphrase möglicherweise durchgesickert ist, müssen Sie jedes vor der Rotation erstellte Header-Backup vernichten und ein frisches anlegen. Sonst hat die Rotation nichts erreicht, außer Ihnen ein besseres Gefühl zu geben.

Dieselbe Tatsache macht Header-Backups auch selbst zu einem sensiblen Objekt: Diese 16-MB-Datei plus jede Passphrase, die sie je kannte, genügt, um das Volume zu entschlüsseln. Bewahren Sie sie dort auf, wo Sie auch die Passphrase aufbewahren würden, nicht dort, wo Sie Ihre Snapshots aufbewahren.

Performance: AES-NI, NVMe und die zwei Flags, die man kennen sollte

cryptsetup benchmark verrät Ihnen in etwa fünfzehn Sekunden die Wahrheit für Ihre spezifische vCPU. Auf jeder CPU mit AES-NI — also praktisch jedem x86-64-Serverprozessor des letzten Jahrzehnts — sind mehrere Gigabyte pro Sekunde für aes-xts zu erwarten, deutlich schneller als das NVMe darunter. Der praktische Overhead bei echten Workloads liegt im niedrigen einstelligen Prozentbereich, und er betrifft die CPU, nicht die Latenz.

Zwei cryptsetup-Optionen zählen bei schnellem Storage, und nur dort:

cryptsetup --perf-no_read_workqueue --perf-no_write_workqueue \
  --allow-discards open /dev/disk/by-partlabel/secure secure

Die Workqueue-Flags umgehen die internen Queues von dm-crypt und reichen I/O direkt an das Gerät weiter. Auf einer rotierenden Festplatte ändern sie nichts; auf NVMe-RAID10 beseitigen sie einen echten Flaschenhals bei hoher Queue-Tiefe. Fügen Sie sie der Optionszeile in crypttab als no-read-workqueue,no-write-workqueue hinzu, um sie dauerhaft zu machen.

--allow-discards ist die Option mit einem Kompromiss. Sie leitet TRIM zum NVMe durch, was die Schreibleistung langfristig hochhält — und offenbart zugleich jedem, der die ausgeschaltete Festplatte in Händen hält, welche Blöcke in Gebrauch und welche frei sind. Das ist ein echtes, wenn auch bescheidenes Informationsleck: Es zeigt ungefähr, wie voll das Volume ist, und kann auf die Struktur des Dateisystems hindeuten. Auf einem Allzweck-Server nehmen Sie die Performance mit. Wenn beim Inhalt des Volumes schon dessen Größe sensibel ist, lassen Sie Discards aus.

Der Weg über das Root-Dateisystem, und Remote-Unlock per SSH

Wenn Sie alles verschlüsseln wollen, tun Sie das auf einer Maschine, auf der noch nichts liegt — deployen, konvertieren, dann aufbauen. Die Konvertierung selbst ist Standard: das Root-Dateisystem verkleinern, während es offline ist, einen LUKS2-Container im freigewordenen Platz anlegen, das System mit rsync -aHAX hinüberkopieren, /etc/fstab und /etc/crypttab auf das Mapper-Gerät zeigen lassen, dann update-initramfs -u -k all und GRUB neu installieren. Was das zu einem Problem auf einem VPS ohne Konsole macht, sind die Worte während es offline ist: Dorthin zu gelangen ohne Konsole bedeutet, das laufende System zunächst in eine RAM-Root zu pivotieren, und das ist der Schritt, der in einer Neuinstallation endet, wenn er schiefgeht.

Was eine verschlüsselte Root auf einer entfernten Maschine überhaupt erst nutzbar macht, ist dropbear-initramfs — ein rund 200 KB kleiner SSH-Server, eingebacken ins Boot-Image, der lauscht, während der Kernel auf die Passphrase wartet:

apt install dropbear-initramfs cryptsetup-initramfs

# Debian 12/13: /etc/dropbear/initramfs/
cp ~/.ssh/unlock_key.pub /etc/dropbear/initramfs/authorized_keys
chmod 600 /etc/dropbear/initramfs/authorized_keys

echo 'DROPBEAR_OPTIONS="-I 300 -j -k -p 2222 -s -c cryptroot-unlock"' \
  >> /etc/dropbear/initramfs/dropbear.conf

echo 'IP=:::::eth0:dhcp' >> /etc/initramfs-tools/initramfs.conf
update-initramfs -u -k all

Sie verbinden sich dann per ssh -p 2222 root@your-ip während des Boots, und der erzwungene cryptroot-unlock-Befehl fragt nach der Passphrase. Drei Dinge sind es wert, das zu wissen, bevor Sie sich darauf verlassen. Das initramfs hat seinen eigenen Host-Key, sodass Ihr Client bei Port 2222 vor einer Abweichung warnt — das ist erwartet und der Grund, ihm einen eigenen Port zu geben. Dieser Host-Key und Ihre authorized_keys liegen auf einer unverschlüsselten Boot-Partition, lesbar für jeden, der die Festplatte in Händen hält, verwenden Sie also einen Unlock-Key, der sonst nichts tut. Und -s deaktiviert Passwort-Logins im initramfs, was nicht optional ist.

Das andere Detail, das bei kleinen Plänen zubeißt, ist dasselbe wie aus Schritt drei, und hier beißt es am härtesten. Das initramfs läuft, bevor der Großteil Ihres RAM für irgendetwas Komfortables verfügbar ist, sodass ein Header, der mit hohen Argon2id-Speicherkosten formatiert wurde, ausgerechnet auf der Maschine, die ihn erstellt hat, nicht mehr entsperrt werden kann. Formatieren Sie mit begrenztem --pbkdf-memory, und testen Sie den Reboot, solange Sie noch nichts zu verlieren haben.

Tag zwei: was sich ändert, und was nicht

Sehr wenig, und genau das ist der Punkt. Ein geöffnetes LUKS-Volume ist ein gewöhnliches Block-Device; fsck, rsync, df und Ihr Backup-Tool verhalten sich exakt wie zuvor. Kernel-Upgrades sind unberührt, weil dm-crypt im Kernel-Baum steckt. Das Volume nach einem Plan-Upgrade zu vergrößern, ist mit zwei Befehlen erledigt — cryptsetup resize, dann die Größenänderung des Dateisystems selbst —, ganz ohne erneute Verschlüsselung.

Drei Gewohnheiten lohnen sich. Proben Sie den Reboot nach Plan, statt um drei Uhr nachts zu entdecken, dass eine nie aufgeschriebene Passphrase die einzige Kopie ist. Halten Sie die Backups unabhängig verschlüsseltrestic oder borg zu einem Offsite-Ziel, was eine von dem Volume getrennte Kontrolle ist und den kompletten Verlust der Maschine übersteht; das tägliche Offsite-Backup-Add-on kostet $2.00/mo, wenn Sie das nicht selbst aufbauen möchten. Und schließen Sie das Volume, bevor Sie aufhören, sich um die Maschine zu kümmern: cryptsetup close secure vor einem geplanten Shutdown, einer Migration oder Neuinstallation sorgt dafür, dass der Schlüssel aus dem Speicher ist, bevor die Festplatte aufhört, Ihnen zu gehören.

Bei der Richtlinie gibt es nichts zu verhandeln. Sie erhalten vollen Root-Zugriff auf einen KVM-Gast, und was Sie mit der Blockschicht anstellen, ist Ihre Sache; das eigene Volume zu verschlüsseln ist gewöhnliche Systemadministration, kein Grenzfall. Die Nutzungsrichtlinie betrifft Verhalten — die harte Grenze ist kein CSAM und kein Terrorismus — und hat nichts über dm-crypt zu sagen. Was Verschlüsselung ändert, ist die Gestalt eines hypothetischen schlechten Tages: Ein ausgeschaltetes Volume, das dieses Gebäude verlässt, ist Rauschen, und das ist Ihre zehn Minuten wert.

Häufige Fragen

Hält Festplattenverschlüsselung meinen Hosting-Anbieter davon ab, meine Daten zu lesen?

Nicht, solange der Server läuft. Sobald das Volume entsperrt ist, liegt der Schlüssel im RAM des Gasts, und auf jedem VPS befindet sich dieser Speicher auf Hardware, die der Betreiber kontrolliert — ein Hypervisor kann ihn lesen. Was LUKS vollständig leistet, ist die ausgeschaltete Festplatte wertlos zu machen: ein an den Anbieter zurückgegebenes Laufwerk, eine stillgelegte Node, ein Offline-Abbild. Wer Festplattenverschlüsselung als Schutz vor dem eigenen Host vermarktet, beschreibt etwas, das es nicht gibt.

Kann ich einen VPS ohne Konsole oder KVM-over-IP-Zugriff verschlüsseln?

Ein verschlüsseltes Datenvolume, ja — komplett per SSH, ohne Boot-Risiko, in etwa zehn Minuten. Ein verschlüsseltes Root-Dateisystem ist etwas anderes: Jede Methode braucht die Root offline, was auf einer Maschine ohne Konsole bedeutet, das laufende System zunächst in eine RAM-Disk zu pivotieren. Das funktioniert, und es ist auch die Art, wie Menschen Server verlieren. Konvertieren Sie zum Deployment-Zeitpunkt, wenn noch nichts auf der Maschine liegt, und verwenden Sie dropbear-initramfs, damit Sie die Passphrase beim Boot über SSH eingeben können.

Wie viel Performance kostet LUKS tatsächlich?

Einen niedrigen einstelligen Prozentsatz auf jeder CPU mit AES-NI, also auf jeder modernen x86-64-vCPU. Führen Sie cryptsetup benchmark aus, und Sie werden aes-xts im Bereich mehrerer Gigabyte pro Sekunde sehen — schneller als das NVMe darunter, sodass Storage der Flaschenhals bleibt. Auf schnellen Disks holen --perf-no_read_workqueue und --perf-no_write_workqueue das meiste vom Rest bei hoher Queue-Tiefe zurück.

Was passiert, wenn ich die Passphrase verliere?

Die Daten sind verloren. Es gibt keinen Wiederherstellungsmechanismus, keinen von jemand anderem gehaltenen Master-Key und kein Support-Ticket, das hilft — genau das war die Eigenschaft, die Sie gekauft haben. Beugen Sie im Voraus vor: Fügen Sie mit cryptsetup luksAddKey eine zweite Passphrase in einem separaten Keyslot hinzu, und bewahren Sie ein Header-Backup außerhalb der Maschine auf. Beachten Sie, dass ein vor einer Passphrase-Rotation erstelltes Header-Backup das Volume weiterhin mit der alten Passphrase öffnet, vernichten Sie also veraltete Kopien, wenn Sie rotieren.

Welchen VPS-Plan brauche ich, um ein verschlüsseltes Volume zu betreiben?

Verschlüsselung stellt keine zusätzliche RAM-Anforderung und kostet fast keine CPU, sodass die Stufe von Ihrer Workload bestimmt wird, nicht von LUKS. Cub (1 vCPU / 2 GB / 40 GB NVMe, $5.00/mo) betreibt ein verschlüsseltes Volume, ohne es zu merken; Scout (2 vCPU / 4 GB / 70 GB, $9.00/mo) ist die komfortable Größe, wenn die Maschine auch eine Datenbank oder einen Mailserver betreibt. Die eine echte Einschränkung ist die Diskgröße, da das Volume davon abgeht.

Ist es auf Ihren Plänen erlaubt, meinen Server zu verschlüsseln?

Ja — das ist gewöhnliche Systemadministration. Sie erhalten vollen Root-Zugriff auf einen KVM-Gast mit echtem Kernel, sodass dm-crypt, individuelle Partitionierung und alles andere auf der Blockschicht Ihnen zur Konfiguration offenstehen. Die Nutzungsrichtlinie regelt Verhalten, nicht Konfiguration, und die harte Grenze dort ist kein CSAM und kein Terrorismus.

Muss ich auch den Swap verschlüsseln?

Ja, und das ist der Schritt, den die meisten Anleitungen auslassen. Swap ist der Ort, an dem Kernel-Speicher — einschließlich Schlüsseln und entschlüsselten Puffern — als Festplatten-Artefakt landet, sodass ein Klartext-Swap neben einem verschlüsselten Volume genau das leakt, was Sie schützen wollten. Verwenden Sie einen zufälligen Schlüssel pro Boot über /etc/crypttab: nichts zu verwalten und nichts zu verlieren. Hibernation wird dadurch unmöglich, was auf einem VPS nichts kostet.

Offshore-VPS in rund einer Minute bereitstellen

No-KYC, Krypto-Zahlung, komplett NVMe. Tarif wählen, mit Monero oder einem anderen großen Coin zahlen — Root in rund 60 Sekunden.

Fenrir auf Wache