Ich richte einige neue Ubuntu-Server ein und möchte deren Daten gegen Diebstahl sichern. Das Bedrohungsmodell sind Angreifer, die die Hardware wünschen, oder eher naive Angreifer, die die Daten wünschen.
Bitte beachten Sie diesen Abschnitt.
Das Bedrohungsmodell enthält keine intelligenten Angreifer, die die Daten wünschen. Ich gehe davon aus, dass sie eine oder mehrere der folgenden Aktionen ausführen:
Verbinden Sie eine USV mit einem Netzkabel, um den kontinuierlichen Betrieb der Maschine zu gewährleisten.
Fügen Sie ein Paar Ethernet-Brücken zwischen dem Computer und dem Netzwerkabschlusspunkt ein, die den Datenverkehr über ein drahtloses Netzwerk mit einer ausreichenden Reichweite überbrücken, damit der Host die Netzwerkkonnektivität aufrechterhält.
Öffnen Sie die Box und verwenden Sie eine Sonde auf dem Speicherbus, um interessante Dinge zu erfassen.
Verwenden Sie TEMPEST-Geräte, um zu prüfen, was der Host tut.
Verwenden Sie legale Mittel (z. B. eine gerichtliche Anordnung), um mich zur Offenlegung der Daten zu zwingen
Usw. usw.
Ich möchte also, dass sich einige oder im Idealfall alle Daten auf der Festplatte auf einer verschlüsselten Partition befinden, mit dem Schlüsselmaterial, das für den Zugriff auf externe Medien erforderlich ist. Zwei Methoden, die ich mir vorstellen kann, um das Schlüsselmaterial zu speichern, sind:
Speichern Sie es auf einem Remote-Host, auf den über das Netzwerk zugegriffen werden kann, und konfigurieren Sie ausreichend Netzwerk, um es während des Startvorgangs abzurufen. Das Abrufen ist nur für die IP-Adresse zulässig, die dem gesicherten Host zugewiesen wurde (sodass beim Booten über eine andere Netzwerkverbindung kein Zugriff auf die verschlüsselten Daten möglich ist). Das Abrufen kann von Administratoren deaktiviert werden, wenn festgestellt wird, dass der Computer gestohlen wurde.
Speichern Sie es auf einem USB-Speichergerät, dessen Diebstahl auf irgendeine Weise erheblich schwieriger ist als der des Hosts. Die Entfernung zum Host, beispielsweise am Ende eines fünf Meter langen USB-Kabels, das in eine andere Ecke des Raums oder sogar in einen anderen Raum führt, würde die Wahrscheinlichkeit, dass Angreifer darauf zugreifen, wahrscheinlich erheblich verringern. Es auf irgendeine Weise zu sichern, zum Beispiel indem man es an etwas Unbewegliches kettet oder es sogar in einen Safe legt, würde noch besser funktionieren.
Welche Optionen habe ich, um dies einzurichten? Wie ich bereits sagte, würde ich es vorziehen, alles (abgesehen von einer kleinen Boot-Partition, die / etc nicht enthält) verschlüsselt zu haben, damit ich mich nicht darum kümmern muss, wo ich Dateien ablege oder wo sie sich befinden. Sie landen versehentlich.
Wir verwenden Ubuntu 9.04, wenn es einen Unterschied macht.
quelle
Antworten:
Ich kenne eine clevere Variante von Option 1 namens Mandos.
Es verwendet eine Kombination aus einem GPG-Schlüsselpaar, Avahi, SSL und IPv6, die alle zu Ihrer ursprünglichen RAM-Festplatte hinzugefügt wurden, um das Schlüsselkennwort der Root-Partition sicher abzurufen. Wenn der Mandos-Server nicht im LAN vorhanden ist, handelt es sich bei Ihrem Server um einen verschlüsselten Baustein, oder der Mandos-Server hat für einen bestimmten Zeitraum keinen Heartbeat von der Mandos-Client-Software erhalten. In diesem Fall werden zukünftige Anforderungen für dieses Schlüsselpaar und den Server ignoriert ist ein verschlüsselter Baustein, wenn er das nächste Mal gestartet wird.
Mandos Homepage
Mandos README
quelle
ip=
und dermandos=connect
Parameter zu verwenden. Weitere Informationen finden Sie in dieser E-Mail: mail.fukt.bsnet.se/pipermail/mandos-dev/2009-February/… Clients versucht , nur an den angegebenen Server zu verbinden , sobald und unwiderruflich anders ausfallen. Die empfohlene Konfiguration erfolgt über das LAN. Ich kann auch erwähnen, dass Mandos seit 9.04 in Ubuntu verfügbar ist (und auch in Debian-Tests)Wenn Sie sich nur vor nicht-technischen Angreifern schützen möchten, ist die physische Sicherheit Ihrer Meinung nach die beste Wahl.
Mein Denken ist also:
Wenn Sie nach einem Schuh suchen, für den keine menschlichen Eingriffe erforderlich sind, um Schlüsselmaterial einzugeben, dann werden Sie keine Lösung finden, die selbst vor zufälligem Diebstahl durch einen Anhanger mit irgendwelchen technischen Fähigkeiten (oder besser gesagt, den) sicher ist Fähigkeit, jemanden mit technischen Fähigkeiten zu bezahlen).
Das Einfügen von Schlüsselmaterial in so etwas wie ein USB-Stick würde keine wirkliche Sicherheit bieten. Der Angreifer konnte den Schlüssel einfach vom USB-Stick ablesen. Der USB-Stick kann nicht erkennen, ob es sich bei dem Computer, an den er angeschlossen ist, um den Servercomputer oder den Laptop des Angreifers handelt. Der Angreifer muss sich nur vergewissern, dass er entweder alles mitnimmt oder im Falle eines USB-Sticks am Ende eines 3 m langen USB-Verlängerungskabels, das sich in einem Safe befindet, das Verlängerungskabel in seinen PC einstecken und lesen der Schlüssel.
Wenn Sie den Schlüssel über das Netzwerk übertragen, werden Sie ihn wahrscheinlich "verschlüsseln". Der Angreifer muss lediglich den Verschlüsselungsprozess abhören, den Server stehlen und anschließend die "Verschlüsselung", die Sie beim Senden des Schlüssels über das Netzwerk vorgenommen haben, rückentwickeln. Per Definition muss der Servercomputer, der einen "verschlüsselten" Schlüssel über das Netzwerk empfängt, diesen Schlüssel "entschlüsseln" können, um ihn zu verwenden. Sie verschlüsseln den Schlüssel also nicht - Sie verschlüsseln ihn nur.
Letztendlich benötigen Sie eine (künstliche?) Intelligenz, um den Schlüssel in den Server einzugeben. Einer, der sagen kann: "Ich weiß, dass ich den Schlüssel nur an den Server-Computer weitergebe, und ich weiß, dass er nicht gestohlen wurde." Ein Mensch kann das tun. Ein USB-Stick kann nicht. Wenn Sie eine andere Intelligenz finden, die das kann, haben Sie vermutlich etwas Marktfähiges. > lächeln <
Es ist sehr wahrscheinlich, dass Sie den Schlüssel verlieren und Ihre Daten zerstören, ohne Sicherheit zu erlangen. Anstelle Ihrer Strategie bei Verschlüsselungsspielen ist es meines Erachtens besser, eine stärkere physische Sicherheit zu haben.
Bearbeiten:
Ich denke, wir arbeiten vielleicht an unterschiedlichen Definitionen des Begriffs "Bedrohungsmodell".
Wenn es sich bei Ihrem Bedrohungsmodell um Hardwarediebstahl handelt, wird bei der vorgeschlagenen Lösung für die Festplattenverschlüsselung meines Erachtens nichts unternommen, um der Bedrohung entgegenzuwirken. Ihre vorgeschlagene Lösung sieht aus wie eine Gegenmaßnahme gegen den Diebstahl der Daten und nicht gegen den Diebstahl der Hardware.
Wenn Sie verhindern möchten, dass die Hardware gestohlen wird, müssen Sie sie verriegeln, verschließen, in Beton einschließen usw.
Ich habe bereits gesagt, was ich zu Diebstahl der Daten sagen wollte, daher werde ich nicht noch einmal darauf zurückgreifen, außer zu sagen: Wenn Sie den Schlüssel in ein physisches Gerät stecken und nicht schützen können Wenn der Server vor Diebstahl geschützt ist, können Sie das Schlüsselgerät auch nicht vor Diebstahl schützen.
Ich denke, Ihre beste "billige" Lösung besteht darin, eine Art netzwerkbasierten Schlüsselaustausch zu manipulieren. Ich würde einen oder mehrere Personen in die Schleife einbinden, um die "Freigabe" des Schlüssels im Falle eines Neustarts zu authentifizieren. Es würde Ausfallzeiten verursachen, bis der Mensch den Schlüssel "freigegeben" hat, aber zumindest könnten Sie herausfinden, warum ein Schlüssel "freigegeben" angefordert wurde, und entscheiden, ob Sie dies tun oder nicht.
quelle