LUKS Remote Entsperrung über SSH / Dropbear

Der Vorteil bei der Verwendung von LVMs ist, dass für die Entsperrung aller Logical Volumes nur mehr ein Passwort eingegeben werden muss. Dadurch wird das Crypto-Device, in dem sich die Volume Group und die Logical Volumes für z.B. „/root“ und „/home“ befinden, entsperrt. Für das erfolgreiche Booten wird nur mehr eine unverschlüsselte boot-Partition benötigt. Beim Start des Servers wird anschließend nach dem Passwort für die Entsperrung des Crypto-Devices gefragt („Pre-boot Authentifizierung“). Da außer „/boot“ noch keine Dateisysteme zur Verfügung stehen, ist es nicht möglich das System über eine Remote-Verbindung zu entsperren. Das Passwort muss über eine angeschlossene Tastatur eingegeben werden, was für einen Server problematisch sein kann.

Mit Dropbear existiert ein SSH Server, der vor dem Entsperrungsdialog durch initramfs geladen wird und somit eine Remoteentsperrrung der LUKS Partitionen ermöglicht.



1.0 Installation

Der dropbear SSH-Server wird wie gewohnt über den Paketmanager installiert :

Zurück zur Übersicht


2.0 Konfiguration

Grundlegende Konfigurationen wie z.B. automatisierter Start werden in der Datei /etc/default/dropbear festgelegt. Der Eintrag „No_START=1“ muss für den automatisierten Start auf „NO_START=0“ gesetzt werden.

2.1 Konfiguration Netzwerk

Die Netzwerkkonfiguration für den Remote-Zugriff auf den Server wird über die Datei /etc/initramfs-tools/initramfs.conf vorgenommen. Hier werden systemspezifische Angaben wie das Netzwerkgerät und die IP angeben (In diesem Beispiel enp1s1 und DHCP Adressvergabe):

Für eine statische Adresse muss die Zeile wie folgt geändert werden:

Nun wird das Netzwerk-Device bereits vor der Abfrage des Passworts für das Crypto-Device konfiguriert. Wie die detaillierten Regeln zur Konfiguration der Geräte aussehen, kann unter nfsroot.txt nachgelesen werden.

2.2 Konfiguration SSH-Zugriff auf Dropbear

Dropbear erstellt mehrere Schlüssel bei der Installation. Der Host Key für die Identifikation des Servers befindet sich in:

Außerdem werden automatisch RSA-Schlüssel für die Public-Key-Authentifizierung erzeugt. Diese werden in folgendem Verzeichnis abgelegt:

Der Private-Key „id_rsa“ kann für den Zugriff auf den Server vom Client aus verwendet werden. Er muss dazu über einen gesicherten Weg auf den Client übertragen werden.

Achtung: Der Private-Key von Dropbear liegt unverschlüsselt vor, sollte die Datei „id_rsa“ von einem Angreifer entwendet werden, so hat dieser direkten Zugriff auf den Dropbear SSH-Server. Da Dropbear aber kompatibel zu openssh-Schlüssel ist, empfiehlt es sich am Client ein eigenes SSH-Schlüsselpaar zu erzeugen und dann den Public-Key zum „Authorized Keys“-File von Dropbear hinzuzufügen (s.a. SSH_Key_Login) (am Client):

Wichtig: Die Verwendung eines Passwortes sorgt für die Verschlüsselung des Private-Keys mittels AES-CBC 128-Bit-Key. Der Private-Key kann somit nur nach erfolgreicher Eingabe des Passworts verwendet werden, da die Datei „id_rsa_initram“ nicht im Klartext vorliegt. Der Public-Key kann nun auf den Server kopiert werden:

Um Zugriff auf den Server zu erhalten, wird der zuvor am Client erstellte Public Key dem „Authorized Keys“-File von Dropbear auf dem Server hinzugefügt:

Nun kann der Server neu gestartet werden und ein Verbindungstest mit dem soeben erstellten Schlüsselpaar durchgeführt werden.

Achtung: Jegliche Konfigurationen bezüglich des initramfs müssen via „update-initramfs“ aktualisiert werden:

Nach erfolgreichem Test erscheint am Server eine BusyBox-Shell. Diese Shell wird zu einem späteren Zeitpunkt für die Entsperrung des Crypto-Devices verwendet.

Zurück zur Übersicht


3.0 Entsperren des Crypto-Devices

Nach erfolgreichem Abschluss des Verbindungstests mit Dropbear besteht die Möglichkeit zur Durchführung der eigentlichen Entsperrung der verschlüsselten Logical Volume Manager (LVMs). Zu diesem Zweck wird erneut eine Verbindung zum Server über SSH (Dropbear) hergestellt, um anschließend zur BusyBox-Shell zu gelangen.

An dieser Stelle erfolgt die Entsperrung der verschlüsselten Logical Volume Manager (LVMs) mittels des nachstehenden Befehls. Dabei ist zu beachten, dass das Passwort „encryptiontest“ durch das individuell beim Anlegen des Crypto-Devices festgelegte Passwort zu ersetzen ist. Es stehen zwei Möglichkeiten zur Verfügung, um die Entsperrung vorzunehmen:

Die Variante ohne echo, und damit ohne dass das Passwort im Klartext zu sehen ist, sieht wie folgt aus:

Bei passphrase muss schließlich das Passwort eingegeben werden.

Dann werden die Devices entsperrt und der Server setzt den Bootvorgang fort. Läuft nun am Server ein weiterer, „herkömmlicher“ SSH-Server (meist openssh), kann man sich auf diesen wie gehabt verbinden. Ist bei der Installation von Dropbear bereits ein openssh-Server am laufen, beendet sich Dropbear automatisch nachdem der Server vollständig gebootet hat. Die Befehlssequenz kann dann auch in einem Schritt vollzogen werden:

Die Verwendung eines eigenen „Known Hosts“-File empfiehlt sich insofern, da Dropbear einen anderen Fingerprint als der openssh-Server verwendet. Werden für Dropbear und openssh keine unterschiedlichen „Known-Host“-Files verwendet, kommt es zur folgenden Warnung:

Diese Warnung hat ihren Ursprung darin, dass nun das Standard-File „~/.ssh/known_hosts“ verwendet wird, in dem sich der Fingerprint des openssh-Servers befindet. Es ist daher empfehlenswert für den Dropbear- und den openssh-Server verschiedene „Known Host“-Dateien zu verwenden.
Weiterführende Informationen


CC_BY_NC_SAby Speefak | www.thomas-krenn.com |

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Back To Top