LUKS – Verschlüsselte Datenfestplatte
LUKS – Verschlüsselte Datenfestplatte
LUKS (Linux Unified Key Setup) ist der Standard zur Festplattenverschlüsselung unter Linux. In diesem Artikel wird eine zweite Festplatte verschlüsselt eingebunden. Die Verschlüsselung erfolgt direkt auf der Partition – ohne LVM.
Szenario
- Zweite Festplatte:
/dev/sdb - Eine Partition:
/dev/sdb1(20 GB) - Mountpoint:
/mnt/data - Einhängen beim Systemstart mit Passwortabfrage
Voraussetzungen
- apt-get install cryptsetup
Partition anlegen
Falls /dev/sdb noch keine Partition hat:
- fdisk /dev/sdb
Im fdisk-Dialog:
n → neue Partition
p → primär
1 → Nummer 1
→ Enter (Standard-Start)
→ Enter (Standard-Ende, gesamte Disk)
w → schreiben und beenden
Ergebnis prüfen:
- fdisk -l /dev/sdb
Device Boot Start End Sectors Size Id Type /dev/sdb1 2048 33556479 33554432 16G 83 Linux
LUKS-Container erstellen
- cryptsetup luksFormat -c aes-xts-plain64 -s 512 -h sha512 /dev/sdb1
WARNING! ======== This will overwrite data on /dev/sdb1 irrevocably. Are you sure? (Type uppercase yes): YES Enter passphrase for /dev/sdb1: Verify passphrase:
| Option | Bedeutung |
|---|---|
aes-xts-plain64 |
AES-Verschlüsselung im XTS-Modus (Standard für Blockgeräte) |
-s 512 |
Schlüssellänge 512 Bit (ergibt effektiv AES-256) |
-h sha512 |
SHA-512 zur Schlüsselableitung aus dem Passwort |
LUKS-Container öffnen
- cryptsetup open /dev/sdb1 crypt-data
Enter passphrase for /dev/sdb1:
Der Container ist jetzt unter /dev/mapper/crypt-data verfügbar.
Dateisystem erstellen
- mkfs.ext4 /dev/mapper/crypt-data
Mountpoint erstellen
- mkdir /mnt/data
Manuell einhängen (Test)
- mount /dev/mapper/crypt-data /mnt/data
- df -h /mnt/data
Filesystem Size Used Avail Use% Mounted on /dev/mapper/crypt-data 16G 28M 15G 1% /mnt/data
Zum Testen wieder aushängen:
- umount /mnt/data
- cryptsetup close crypt-data
Automatisch einhängen beim Systemstart
UUID ermitteln
- blkid /dev/sdb1
/dev/sdb1: UUID="ed724c90-84e3-4236-8417-4fd34c760bdb" TYPE="crypto_LUKS"
/etc/crypttab
Trägt den LUKS-Container ein, damit er beim Booten geöffnet wird:
crypt-data UUID=ed724c90-84e3-4236-8417-4fd34c760bdb none luks
| Feld | Bedeutung |
|---|---|
crypt-data |
Name des Mappers unter /dev/mapper/
|
UUID=... |
UUID der verschlüsselten Partition |
none |
Passwort wird interaktiv beim Boot abgefragt |
luks |
Format-Typ |
/etc/fstab
Hängt das Dateisystem nach dem Öffnen ein:
/dev/mapper/crypt-data /mnt/data ext4 defaults 0 2
Systemstart
Beim nächsten Booten erscheint eine Passwortabfrage für /dev/sdb1.
Nach korrekter Eingabe wird /mnt/data automatisch eingehängt.
Ergebnis prüfen
- df -h /mnt/data
Filesystem Size Used Avail Use% Mounted on /dev/mapper/crypt-data 16G 28M 15G 1% /mnt/data
- cryptsetup status crypt-data
/dev/mapper/crypt-data is active and is in use. type: LUKS2 cipher: aes-xts-plain64 keysize: 512 bits key location: keyring device: /dev/sdb1
Nützliche Befehle
| Befehl | Bedeutung |
|---|---|
cryptsetup luksDump /dev/sdb1 |
LUKS-Header anzeigen (Slots, Algorithmen) |
cryptsetup luksAddKey /dev/sdb1 |
Weiteres Passwort hinzufügen (bis zu 8 Slots) |
cryptsetup luksChangeKey /dev/sdb1 |
Passwort ändern |
cryptsetup open /dev/sdb1 crypt-data |
Container manuell öffnen |
cryptsetup close crypt-data |
Container manuell schließen |