LUKS über Dropbear per SSH automatisiert entschlüsseln

jimbolo

Profi
Thread Starter
Mitglied seit
14.04.2021
Beiträge
63
Hi,

mein Homeserver ist mit LUKS verschlüsselt. Nach dem Booten nutze ich einen Dropbear SSH Server um das LUKS Passwort einzugeben und damit den Server zu booten. Nun möchte ich den Server nachts ausschalten und natürlich vermeiden, dass er morgens nach dem Passwort fragt. Er soll automatisiert booten (auch wenn ich ihn händisch früher anschalte). Das Herunterfahren und Booten habe ich per CRON gescriptet, kein Problem. Aber wie bekomme ich den Key am besten auf den Server und vermeide, dass der Key im Falle eines Einbruchs mitgestohlen wird?

Per USB-Stick usw. scheidet daher aus. Per Wireguard den Key irgendwo anders herholen? Ich bin ratlos.

Vielen Dank vorab für eure Hilfe!
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Per USB-Stick usw. scheidet daher aus. Per Wireguard den Key irgendwo anders herholen? Ich bin ratlos.
Die Anforderung ist sehr schwierig zu lösen. Wenn man sich die Mühe macht, einen Server zu verschlüsseln und dann automatisch booten möchte, dann ist das meistens keine gute Idee...

Ich habe mir mal ne Zeit lang über sowas Gedanken gemacht, weil ich früher auch solche Schnapsideen hatte ;-) Das was mir eingefallen ist:

Man hosted den Key in verschlüsselter Form irgendwo (z.B. https://example.com/my-encrypted.key), dann lädt man den beim Starten des Systems runter, entschlüsselt ihn mit einem fest hinterlegten key und "piped" ihn dann an LUKS. Wenn der Server dann geklaut wird, nimmt man den Key offline und das System ist "geschützt". Wenn man da aber grade zufällig in Urlaub ist und nicht mitkriegt, dass der Server weg ist oder den key nicht offline nehmen kann, hat man Pech gehabt. Ist der Server einmal gestartet, ist der Schutz dahin. Wenn die Domain nicht erreichbar oder offline ist, geht der Autoboot dann halt nicht.

Eine alternative wäre, einen anderen verschlüsselten Server ständig laufen zu lassen (z.B. nen Raspi), dort den Key zu hinterlegen und via cron den Hauptserver zu entschlüsseln. (das muss ja dann nur einmal am Tag stattfinden). Vorteil: Es bleibt alles lokal, wenn der Raspi den Strom verliert, startet der server nicht und außerhalb deines netzwerks kann mit dem Server keiner was anfangen.


Dennoch: Es ist quatsch... mach lieber ein Verschlüsseltes "dataset" und spare dir die root-Verschlüsselung, wenn du sowas machen willst. Eine Lösung ohne ZFS mit LUKS wäre z.B. eine verschlüsselte Partition (non-root) oder ein loop device.
 
Zuletzt bearbeitet:
Das Grundkonstrukt mit Key auf anderem Server könnte man umsetzen, aber dann darf man man das nicht auf einem public Server hosten, der von überall erreichbar ist, sondern muss z.B. einen zu Hause versteckten Rhaspberry machen. Der könnte den Key auch nur im Ram vorhalten, ist aber 24/7 online und nur aus dem lokalen LAN erreichbar.
 
Wenn man den key extern hostet, dann sollte man sicherstellen, dass der access nur von der erlaubten site möglich ist. Also entweder die keysite ins lokale Netz (VPN) hängen (dann kann man den auch direkt lokal hosten) oder aber anders rum, dass die key site nen VPN Srv hat oder aber, dass es eben ne whitelist der local site auf der key site gibt. (wobei dann der Storageserver nicht selber den Access haben sollte, sondern eben wirklich site gebunden ist)

Man muss irgendwie verhindern, dass der Server von jeder anderen site, außer der eigenen lokalen, Zugriff auf den Key bekommt.
 
Ich sehe das wie ihr alle.

Ebenso verstehe ich nicht, wieso ein verschlüsseltes Dataset das Problem lösen sollte.

Vermutlich ist es am saubersten, wenn irgendeine andere Hardware an einem anderen Standort über VPN WOL den Server aufweckt und dann per SSH den LUKS eingibt (somit sind alle Schlüssel auf der anderen Seite). Wenn die andere Seite geklaut wird kommt der Dieb ins VPN (lässt sich leicht abstellen => erstmal alle Stecker aus der Steckdose und dann nach und nach kontrolliert an). Wenn die Server-Seite geklaut wird passiert erstmal gar nix. Dropbear geht halt an und fragt nach dem LUKS Key.

Selbst wenn der Server mit Akkupack im "an" Zustand geklaut werden sollte (was mich sehr wundern würde, bin 08/15), müsste man erstmal per Proxmox GUI rein um root Zugriff zu bekommen, und die ist ja auch passwortgeschützt. SSH auf dem Proxmox-Host selber ist aus und die Services laufen nur in VMs bzw. in unprivileged LXCs.

Oder habe ich einen Denkfehler bzw. etwas vergessen?
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh