Vollständige Festplattenverschlüsselung mit passwortloser Authentifizierung unter Linux

16

Ich habe in Debian 5.0.5 eine ziemlich standardmäßige Festplattenverschlüsselung eingerichtet: unverschlüsselte /bootPartition und verschlüsselt sdaX_crypt, die alle anderen Partitionen enthält.

Dies ist eine kopflose Serverinstallation und ich möchte sie ohne Tastatur booten können (im Moment kann ich sie nur mit angeschlossener Tastatur und angeschlossenem Monitor booten).

Bisher habe ich die Idee /boot, eine Partition auf ein USB-Laufwerk zu verschieben und geringfügige Änderungen vorzunehmen, um den Schlüssel automatisch einzugeben (ich glaube, askpassirgendwo im Boot-Skript gibt es nur einen Aufruf ). Auf diese Weise kann ich kopflos booten, muss nur ein Flash-Laufwerk beim Booten haben.

Das Problem dabei ist meines Erachtens, dass

  1. Ich muss Zeit investieren, um alles herauszufinden, damit es funktioniert.
  2. Wenn es ein Update gibt, das neu erstellt wird initrd, muss ich die Boot-Partition auf dem USB-Stick neu erstellen, was mühsam erscheint.

Die Frage: Gibt es eine einfache Standardlösung für das, was ich tun möchte? Oder sollte ich überhaupt woanders suchen?

Alex B
quelle

Antworten:

7

Sie können Ihr System so einrichten, dass anstelle eines Kennworts ein Schlüssel erforderlich ist, und einige Skripts so ändern, dass auf einem USB-Stick nach diesem Schlüssel gesucht wird. Ich habe eine ausführliche Erklärung für diesen Prozess bei Debian Lenny gefunden. Es gibt am Ende einige Hinweise, die notwendige Änderungen für neuere Versionen von Debian beschreiben.

Marcel Stimberg
quelle
Hört sich nach dem an, was ich brauche. Bevor ich die Antwort akzeptiere, muss ich erst sehen, wie viel Aufwand es ist, die Dinge zwischen den Updates am Laufen zu halten.
Alex B
OK, obwohl es keine "Standard" -Lösung gibt, scheint dies funktioniert zu haben.
Alex B
5

Aber wozu ist dann eine vollständige Festplattenverschlüsselung gut, wenn Sie nur die Schlüssel im Klartext herumliegen lassen?

Damit dies funktioniert, benötigen Sie so etwas wie die Trusted Computing-Plattform, bevor Microsoft und Big Media sie für ihre eigenen bösen Zwecke der Benutzerunterdrückung entführten.

Die Idee ist, einen Chip zu haben, der die Schlüssel auf dem Motherboard hält, und ihn die Schlüssel nur dann geben zu lassen, wenn überprüft wird, dass die ausgeführte Software von einer vertrauenswürdigen Stelle (Ihnen) ordnungsgemäß signiert wurde. Auf diese Weise behalten Sie die Schlüssel nicht im Blick und müssen den Server nicht interaktiv starten.

Es ist schade , ich habe noch nie Computing setzen auf jede Trusted gesehen gut gebrauchen , die eigentlich sein könnte nützlich für den Endverbraucher .


quelle
Der Schlüssel liegt nicht mehr im Klartext herum als Ihr SSH-Schlüssel, der im Klartext herumliegt ~/.ssh. Ich möchte nur in der Lage sein, einen kopflosen Server mit voller Festplattenverschlüsselung zu booten und den Schlüssel herauszunehmen. Mir ist klar, dass ein Angreifer die unverschlüsselte Startpartition ändern und den Schlüssel stehlen kann (wie bei einer softwarebasierten regulären Kennwortversion), aber ich schütze mich nur vor gelegentlichem Diebstahl.
Alex B
Tatsächlich ist das TPM in letzter Zeit von DRM zurückgekehrt und wird von Behörden und Unternehmen verwendet. Es gibt viele Betriebssysteme, die damit geheime Schlüssel speichern können, ich kenne keine, die Integritätsschutz bieten (dh einem Angreifer nicht erlauben, einen Keylogger einzufügen /boot).
Gilles 'SO- hör auf böse zu sein'
@AlexB: Verfügt Ihr Server über ein TPM? Wenn ja, können Sie mit Trusted Grub wahrscheinlich tun, was Sie wollen .
Gilles 'SO - hör auf böse zu sein'
Beachten Sie, dass es von Vorteil ist, Schlüssel im Klartext zu belassen. Dies bedeutet, dass Sie sensible Daten auf einer Festplatte vollständig löschen können, ohne die gesamte Festplatte auf Null zu setzen. Ja, Sie könnten den Superblock oder die Partitionstabelle auf Null setzen, aber wie wir alle wissen, können Daten mit diesen Vorgängen immer noch wiederhergestellt werden.
Strugee
@strugee: Wenn Sie LUKS verwenden, kann durch Nullsetzen des LUKS-Headers das gesamte Volume nicht wiederhergestellt werden. Wenn Sie "dm-crypt" ohne Header verwenden, können Sie es später noch mit einem Kennwort wiederherstellen.
Jay Sullivan am
5

Mandos (das ich und andere geschrieben haben) löst genau dieses Problem:

Mandos ist ein System, mit dem Server mit verschlüsselten Root-Dateisystemen unbeaufsichtigt und / oder remote neu gestartet werden können. Weitere Informationen, einschließlich einer FAQ-Liste, finden Sie in der Intro-Bedienungsanleitung .

Kurz gesagt, der Boot-Server erhält das Passwort auf sichere Weise über das Netzwerk. Einzelheiten finden Sie in der README.

Teddy
quelle
1
Selbst wenn Sie diese kostenlose Software verwenden, wird es Ihnen gefallen, wenn Sie angeben, dass dies Ihr Produkt ist , wenn dies nicht tatsächlich erforderlich ist . Ein besser lesbarer README / FAQ-Link und eine kurze Erklärung der Funktionsweise von Mandos sind ebenfalls willkommen.
Gilles 'SO- hör auf böse zu sein'
1
@ Gilles: Fertig.
Teddy