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 .
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.
quelle