Ansätze für die Verschlüsselung von Linux-Serverfestplatten

7

Welche Ansätze stehen zur Verfügung, um eine Festplatte auf einem Remote-Server vollständig zu verschlüsseln (z. B. in einem Rechenzentrum)? Unter Windows können wir Bitlocker einfach mit einem TPM aktivieren. Dann kann der Server neu gestartet werden. Für Angriffe muss der Computer entweder live geschaltet und der Arbeitsspeicher entleert oder das TPM beschädigt werden. Was ist unter Linux verfügbar?

Bisher habe ich eine IBM "Blaupause" gefunden, die beschreibt, wie dm-crypt-Schlüssel im TPM gespeichert werden. Ist das der beste Ansatz?

http://publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/topic/liaai/tpm/liaaitpm_pdf.pdf

MichaelGG
quelle

Antworten:

4

Um die beste Lösung für Ihr Problem zu verstehen, müssen Sie klarstellen, was Sie erreichen möchten. Mit anderen Worten, was ist Ihr Bedrohungsmodell? Wer ist dein Angreifer? Sie erwähnen, dass zur Umgehung der Verschlüsselung "die Maschine live nehmen" muss (womit Sie meinen, dass Sie sie hacken), aber das ist das wahrscheinlichste Szenario für einen kolokalisierten Server. Die Festplattenverschlüsselung wird hauptsächlich bei physischem Diebstahl verwendet.

Sie müssen auch überlegen, welche Daten Sie schützen. Sie erwähnen "eine Festplatte vollständig verschlüsseln", aber erfordert dies eine Verschlüsselung, z. B. / usr? Wenn Sie eine Standarddistribution betreiben, gibt es dort nichts Interessantes. Ohne mehr darüber zu wissen, was der Server enthalten wird, ist es schwierig, Empfehlungen abzugeben.

Um einen konkreteren Vorschlag zu machen, betrachten Sie den folgenden hypothetischen Server. Es enthält Folgendes:

  • Eine einfache Website mit einigen Produkten
  • Eine grundlegende CRUD-Bestellanwendung, geschrieben in Rails / Django / was auch immer
  • Eine Postgres-Datenbank für Kundeninformationen und Bestellungen

Von diesen Komponenten muss nur die Datenbank wirklich geschützt werden. So würde ich das angehen:

  • Lassen Sie den größten Teil des Computers unverschlüsselt (machen Sie den FS jedoch so schreibgeschützt wie möglich).
  • Erstellen Sie eine separate Partition für die Datenbank und verschlüsseln Sie sie mit einem sicheren Kennwort unter Verwendung eines der verfügbaren Linux-Verschlüsselungssysteme (ecryptfs usw.).
  • Melden Sie sich nach jedem Neustart an und mounten Sie die Partition mit dem Schlüssel, der an anderer Stelle gespeichert ist.
  • Lassen Sie mich bei einem Neustart vom Server benachrichtigen

Sie erwähnen TPM, aber TPM hilft Ihnen in einigen Fällen nicht, z. B. wenn ein Angreifer Administratorrechte erhält. TrueCrypt hat aus diesem Grund die Unterstützung für TPM abgelehnt .

Steve Smith
quelle
Gute Antwort. Eine weitere Anforderung: Muss der Computer automatisch gestartet werden oder können Sie es sich leisten, (über die Remote-Konsole) eine Passphrase einzugeben?
AndreasM
3

Sie können TPM auch mit dm-crypt verwenden :
https://github.com/shpedoikal/tpm-luks
http://code.google.com/p/cryptsetup/wiki/FrequentlyAskedQuestions#2._Setup

Bei Integration auf der initrd-Ramdisk ermöglicht ein SSH-Server mit geringem Platzbedarf die Remote-Eingabe des Kennworts zum Entsperren des Laufwerks.

Bitte beachten Sie, dass keine der oben genannten Lösungen einen qualifizierten Angreifer mit physischem Zugriff auf den Server angemessen schützt.

JOAT
quelle