ZFS Verschlüsselung: Native Encryption richtig einrichten
ZFS hat seit OpenZFS 0.8 Native Encryption. Das ist nicht nur LUKS-on-ZFS, sondern echte Pro-Dataset-Verschlüsselung mit raw-send/receive-Support. Hier ist die Praxis 2026.
Die Kurzfassung
ZFS Native Encryption verschlüsselt pro Dataset (nicht pro Pool). Du kannst verschlüsselte und unverschlüsselte Datasets parallel im selben Pool haben. Backups via zfs send bleiben verschlüsselt – die Daten verlassen den Pool nie unverschlüsselt. Performance-Impact: 5-15% bei moderner CPU.
Setup auf TrueNAS Scale
- Storage → Pools → Add Dataset
- Encryption: Enabled
- Encryption Standard: AES-256-GCM (Default)
- Key Format: Hex oder Passphrase. Passphrase einfacher, Hex sicherer.
- Generate Key: download als JSON-Datei, sicher speichern (Bitwarden, Safe)
- Dataset ist sofort einsatzbereit
Setup via CLI (für Linux ZFS)
zfs create -o encryption=aes-256-gcm -o keyformat=passphrase tank/secret
# Passphrase wird abgefragt
zfs mount tank/secret # mountet nach unlock
zfs unmount tank/secret # bei Bedarf erneut sperren
zfs unload-key tank/secret # Schlüssel aus RAM entfernen
zfs load-key tank/secret # neu entsperren
Schlüssel-Management
Drei Ansätze:
Passphrase manuell. Beim Boot wird Passphrase abgefragt. Sicherste Variante, aber NAS muss manuell entsperrt werden nach Reboot.
Schlüssel-Datei. JSON-File mit AES-Key. Liegt z.B. auf USB-Stick, der nur zum Boot eingesteckt wird. Schwierig bei Headless-NAS.
Network unlock (Tang/Clevis). Bei Boot kontaktiert NAS einen Tang-Server im LAN, der den Schlüssel ausliefert. Auto-Unlock im LAN, aber Schlüssel weg wenn Tang offline. Setup komplex.
TPM-basiert. Bei moderner Hardware kann der Schlüssel im TPM 2.0 gespeichert werden, automatisch entsperrt. Nur lokales Boot. Hardware-Bindung – Plattenklau im fremden Rechner = entschlüsselbar nicht.
Performance-Impact
Bei modernen CPUs mit AES-NI: 5-15% IOPS-Reduktion. Bei alten ARM-CPUs ohne Hardware-Beschleunigung: 50-70% Reduktion (deshalb auf billigen Synology-Modellen oft langsam). Test mit fio vor produktivem Einsatz empfohlen.
Encrypted send/receive
Game-Changer: zfs send -w sendet das Dataset verschlüsselt, ohne Schlüssel-Wissen am Empfänger. Backup-Server sieht nur Ciphertext. Restore: Schlüssel laden auf Original-Pool oder neu erzeugten Pool.
zfs send -w tank/secret@snap | ssh backup zfs receive backup/secret
Cloud-Backups (Backblaze B2 via rclone) erhalten so verschlüsselte Daten direkt.
Häufige Fehler
- Schlüssel verloren = Daten verloren. Backup des Schlüssels Pflicht. Mehrere Kopien.
- Encryption inheritance: Sub-Datasets erben Encryption. Bewusst entscheiden bei Datasets-Hierarchie.
- Snapshots verschlüsselter Datasets sind verschlüsselt. Restore braucht Schlüssel.
Empfehlung
Für NAS mit sensiblen Daten (Steuern, Geschäftliches, Krypto): Native Encryption aktivieren. Schlüssel im Passwort-Manager + ausgedruckt im Safe. Test-Restore vierteljährlich.
Weiterführende Artikel
Weiterführende Artikel
Bitrot & ZFS Scrubbing: Wenn Daten still verfaulen
ZFS vs ext4 vs Btrfs: Welches Dateisystem für dein NAS?
Datenverlust verhindern: Backup-Strategien, die in der Praxis funktionieren
Btrfs RAID 5/6: Warum man es 2026 immer noch nicht produktiv nutzen sollte