Encryption at Rest: LUKS2, TPM Unlock und Key Management

Die Verschlüsselung von Daten auf Servern – bekannt als „Encryption at Rest“ – ist eine zentrale Sicherheitsmaßnahme, um sensible Informationen vor unbefugtem Zugriff zu schützen. Besonders in Linux-Umgebungen kommen dabei LUKS2, TPM-basierte Unlock-Mechanismen und strukturiertes Key Management zum Einsatz. In diesem Tutorial erklären wir praxisnah, wie LUKS2 eingerichtet, TPM zur Automatisierung des Bootprozesses genutzt und Schlüssel sicher verwaltet werden können.

LUKS2 – Grundlagen der Plattenverschlüsselung

LUKS2 (Linux Unified Key Setup) ist der Standard für die Verschlüsselung von Blockdevices unter Linux. Es bietet:

  • Transparente Verschlüsselung für Partitionen oder Volumes.
  • Unterstützung mehrerer Keyslots, sodass verschiedene Passwörter oder Schlüssel verwendet werden können.
  • Integrierte Mechanismen für Integrity und Key Management.

Erstellen eines verschlüsselten Volumes

Die Einrichtung eines LUKS2-Volumes erfolgt über cryptsetup:

# Partition verschlüsseln
sudo cryptsetup luksFormat --type luks2 /dev/sdb1

# LUKS-Volume öffnen
sudo cryptsetup luksOpen /dev/sdb1 securedata

# Dateisystem erstellen
sudo mkfs.ext4 /dev/mapper/securedata

# Mounten
sudo mount /dev/mapper/securedata /mnt/secure

Keyslots verwalten

LUKS2 erlaubt bis zu acht Keyslots, um mehrere Entsperrmethoden zu unterstützen:

# Neuen Key hinzufügen
sudo cryptsetup luksAddKey /dev/sdb1

# Key entfernen
sudo cryptsetup luksRemoveKey /dev/sdb1

TPM Unlock – Automatisiertes Booten

Trusted Platform Module (TPM) kann zur sicheren Speicherung von Verschlüsselungsschlüsseln genutzt werden. Damit lassen sich LUKS-Volumes automatisch beim Booten entschlüsseln, ohne dass ein Passwort manuell eingegeben werden muss.

TPM vorbereiten

  • TPM-Modul aktivieren und initialisieren.
  • Verwendung von tpm2-tools zum Erstellen eines Persistent Keys.
# TPM initialisieren
sudo tpm2_clear
sudo tpm2_pcrread

# Key im TPM erzeugen
sudo tpm2_createprimary -C o -g sha256 -G rsa -c primary.ctx

# Persistent handle sichern
sudo tpm2_evictcontrol -C o -c primary.ctx 0x81010001

LUKS mit TPM Key verbinden

Mittels clevis oder tpm2-tss kann der LUKS-Key im TPM gespeichert und beim Boot automatisch geladen werden:

# LUKS-Volume mit TPM binden
sudo clevis luks bind -d /dev/sdb1 tpm2 '{}'

# Test des automatischen Unlock
sudo cryptsetup luksOpen /dev/sdb1 securedata

Key Management Strategien

Ein strukturiertes Key Management ist essenziell für Sicherheit und Compliance. Wichtige Punkte:

  • Keys niemals unverschlüsselt auf dem Server speichern.
  • Backup der Schlüssel in einem sicheren, getrennten System.
  • Richtlinien für Rotation und Zugriffskontrolle definieren.

Key Rotation und Backup

  • Regelmäßige Erneuerung der LUKS-Schlüssel mit cryptsetup luksAddKey und luksRemoveKey.
  • Automatisierte Backups der TPM-Handles und verschlüsselten Schlüssel.
  • Dokumentation der Schlüsselvergabe und Berechtigungen für Audits.

Praktische Tipps für den Betrieb

  • Volumengröße und Performance beachten: Verschlüsselung kann CPU-Last erhöhen, daher ggf. AES-NI nutzen.
  • Für Datenbanken oder hohe I/O-Anforderungen empfiehlt sich die Nutzung von SSDs mit Hardware-Encryption-Unterstützung.
  • TPM-basierte Unlocks nur auf vertrauenswürdiger Hardware einsetzen.
  • Backup-Strategien und Disaster Recovery müssen den Zugriff auf verschlüsselte Daten berücksichtigen.

Sicherheitsrichtlinien

Die Kombination aus LUKS2, TPM Unlock und robustem Key Management erlaubt:

  • Vertraulichkeit der Daten bei Diebstahl oder Entwendung von Speichermedien.
  • Minimierung manueller Eingriffe beim Bootprozess, ohne die Sicherheit zu reduzieren.
  • Compliance-konforme Verschlüsselung nach Industriestandards.

Fazit

Mit LUKS2 als Basis, TPM-basiertem automatischem Unlock und sorgfältigem Key Management lässt sich ein Linux-Server so absichern, dass Daten im Ruhezustand vor unbefugtem Zugriff geschützt sind. Durch diese Kombination wird eine Balance aus Sicherheit, Automatisierung und Compliance erreicht, die für professionelle Produktionsumgebungen essenziell ist.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

  • Professionelle Konfiguration von Routern und Switches

  • Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen

  • Erstellung von Topologien und Simulationen in Cisco Packet Tracer

  • Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG

  • Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible

  • Erstellung von Skripten für wiederkehrende Netzwerkaufgaben

  • Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege

  • Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Related Articles