dm-crypt und dropbear: cryptsetup failed, aber entschlüsselt trotzdem?

Alles rund um sicherheitsrelevante Fragen und Probleme.
Antworten
simonszu
Beiträge: 52
Registriert: 29.02.2012 09:20:06

dm-crypt und dropbear: cryptsetup failed, aber entschlüsselt trotzdem?

Beitrag von simonszu » 15.06.2020 12:54:05

Hallo zusammen,

ich habe bei der Installation meines Heimservers eine Plattenverschlüsselung im Installationsprogramm aktiviert. Ich möchte die Platte bei Rebootvorgängen übers Netzwerk mittels Passwort entschlüsseln, also habe ich die Methode mit dropbear im initramfs eingerichtet. Das klappt auch eigentlich gut, aber:

- Gebe ich das Passwort auf der lokalen Tastatur ein, wird die Platte entschlüsselt und der Rechner fährt hoch
- Gebe ich das Passwort in der Dropbear-Konsole über SSH ein, kommt ein Fehler "cryptsetup: cryptsetup failed, bad password or options?" und auf dem angeschlossenen Bildschirm gibts einen Fehler, dass kein Key zu der Passphrase gefunden wird

OK, erster Ansatzpunkt: Ich habe ein y im Passwort, und vielleicht hat der Dropbear nur US-Layout. Ich habe also versucht, das Passwort im US-Layout einzugeben, also y und z vertauscht. Kein Erfolg.
Nächster Ansatz: Ich habe das Passwort in der "US-Schreibweise" in den zweiten Keyslot des zu entschlüsselnden Volumes geschrieben. Nun wird es richtig kurios:

- Wenn ich in der Dropbear-Konsole das Passwort eingebe, kommt weiterhin der Fehler "cryptsetup: cryptsetup failed, bad password or options?"
- Offenbar ist es aber nicht das falsche Passwort, die Platte wird nämlich entschlüsselt und der Rechner fährt hoch.

Ich kann mir da absolut keinen Reim drauf machen. Ihr vielleicht? Was ich ebenfalls interessant finde: Ich habe die gleiche Methodik mit dem selben Passwort mal auf einem anderen Server eingerichtet, auf dem ebenfalls Debian installiert war, und dort hat es trotz des "nicht-eindeutigen" y problemlos beim ersten Mal geklappt.

Falls es euch hilft, hier die relevanten Config-Files

/etc/initramfs-tools/initramfs.conf

Code: Alles auswählen

#
# Use busybox shell and utilities.  If set to n, klibc utilities will be used.
# If set to auto (or unset), busybox will be used if installed and klibc will
# be used otherwise.
#

BUSYBOX=auto

#
# KEYMAP: [ y | n ]
#
# Load a keymap during the initramfs stage.
#

KEYMAP=n

#
# COMPRESS: [ gzip | bzip2 | lz4 | lzma | lzop | xz ]
#

COMPRESS=gzip

#
# NFS Section of the config.
#

#
# DEVICE: ...
#
# Specify a specific network interface, like eth0
# Overridden by optional ip= or BOOTIF= bootarg
#

DEVICE=enp3s0

#
# NFSROOT: [ auto | HOST:MOUNT ]
#

NFSROOT=auto

#
# RUNSIZE: ...
#
# The size of the /run tmpfs mount point, like 256M or 10%
# Overridden by optional initramfs.runsize= bootarg
#

RUNSIZE=10%

# deprecated
#DROPBEAR=y
#DROPBEAR_OPTIONS="-p 21 -s -j -k -I 60"

IP=":::::enp3s0:dhcp"
/etc/dropbear-initramfs/config

Code: Alles auswählen

#
# Configuration options for the dropbear-initramfs boot scripts.
# You must run update-initramfs(8) to effect changes to this file (like
# for other files under the '/etc/dropbear-initramfs' directory).

#
# Command line options to pass to dropbear(8)

DROPBEAR_OPTIONS="-p 21 -s -j -k -I 60"

#
# On local (non-NFS) mounts, interfaces matching this pattern are
# brought down before exiting the ramdisk to avoid dirty network
# configuration in the normal kernel.
# The special value 'none' keeps all interfaces up and preserves routing
# tables and addresses.
#
#IFDOWN=*

/etc/dropbear-initramfs/authorized_keys

Code: Alles auswählen

no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="/bin/cryptroot-unlock" ssh-rsa AAA....
/etc/crypttab

Code: Alles auswählen

sda3_crypt UUID=93492093-cf3a-40d0-bfb4-7218b5d94652 none luks,discard
Wie gesagt, meine beiden Fragen wären:
1. Wieso wurde das Passwort initial auf der Tastatur akzeptiert, aber nicht auf der SSH-Konsole, selbst wenn ich die US-Schreibweise in betracht ziehe?
2. Nachdem ich die US-Schreibweise in den zweiten Keyslot gelegt habe, wieso meldet mir cryptroot-unlock auf der SSH-Konsole, dass das Encrypting nicht erfolgreich war, aber die Entschlüsselung dennoch erfolgreich ist, und die Kiste bootet?

Antworten