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 cryptsetup-initramfs
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 41943039 41940992 20G 83 Linux
LUKS-Container erstellen
- cryptsetup luksFormat /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:
LUKS-Container öffnen
- cryptsetup open /dev/sdb1 cryptdata
Enter passphrase for /dev/sdb1:
Der Container ist jetzt unter /dev/mapper/cryptdata verfügbar.
Dateisystem erstellen
- mkfs.ext4 /dev/mapper/cryptdata
Mountpoint erstellen
- mkdir /mnt/data
Manuell einhängen (Test)
- mount /dev/mapper/cryptdata /mnt/data
- df -h /mnt/data
Filesystem Size Used Avail Use% Mounted on /dev/mapper/cryptdata 20G 2.1M 19G 1% /mnt/data
Zum Testen wieder aushängen:
- umount /mnt/data
- cryptsetup close cryptdata
Automatisch einhängen beim Systemstart
UUID ermitteln
- blkid /dev/sdb1
/dev/sdb1: UUID="eab7be99-90d8-4986-88a7-bdfb9d7ff502" TYPE="crypto_LUKS" PARTUUID="89a985e7-01"
/etc/crypttab
- Eintragen des LUKS-Container ein, damit er beim Booten geöffnet wird:
crypt-data UUID=eab7be99-90d8-4986-88a7-bdfb9d7ff502 none luks,initramfs
| 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/cryptdata /mnt/data ext4 defaults 0 2
- Update Ramdisk
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/cryptdata 16G 28M 15G 1% /mnt/data
- cryptsetup status crypt-data
/dev/mapper/cryptdata 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 |