Ceph OSD Verschlüsselung mit manueller Key-Eingabe

maibua

New Member
Jul 14, 2020
3
0
1
50
Hallo,

wir evaluieren derzeit eine Umstellung auf Proxmox im Enterprise-Bereich. Eine Verschlüsselung sämtlicher sensitiven Daten ist für uns unumgänglich. Ja, cold boot attacks sind uns bekannt, allerdings wollen wir die Hürden weiter erhöhen, im Falle eines physischen Diebstahls der Server.

In unserer Testinstallation sind die OSDs bereits verschlüsselt. Ich habe aber noch nicht herausgefunden, wo die eigentlichen Keys zum Entschlüsseln der OSDs abgelegt werden. Grundsätzlich möchten wir die Keys gerne nach einem Reboot händisch eingeben, damit diese nirgendwo lesbar auf einem physischen Speicher abgelegt werden.

Ablauf eines Neustarts wäre dann wie folgt:
1. Proxmox-Node bootet
2. Manuelle Key-Eingabe zum Entschlüsseln des OSD
3. Ceph OSD steht dem Pool zur Verfügung

BG
 

Alwin

Proxmox Staff Member
Staff member
Aug 1, 2017
4,062
373
88
In unserer Testinstallation sind die OSDs bereits verschlüsselt. Ich habe aber noch nicht herausgefunden, wo die eigentlichen Keys zum Entschlüsseln der OSDs abgelegt werden. Grundsätzlich möchten wir die Keys gerne nach einem Reboot händisch eingeben, damit diese nirgendwo lesbar auf einem physischen Speicher abgelegt werden.
Das ist sehr unpraktikabel, denn jede OSD hat seinen eignen Key und Secret. Die Keys landen auf den MONs, wenn die Disken auf der die MON DB liegt verschlüsselt sind, dann ist das eine extra Hürde. Aber es muss ohnehin das ganze Cluster geklaut werden.

  • cephx_secret : The cephx key used to authenticate
  • dmcrypt_key : The secret (or private) key to unlock encrypted devices
  • cephx_lockbox_secret : The authentication key used to retrieve the dmcrypt_key. It is named lockbox because ceph-disk used to have an unencrypted partition named after it, used to store public keys and other OSD metadata.
https://docs.ceph.com/docs/nautilus/ceph-volume/lvm/encryption/
https://ceph.io/planet/how-to-verify-that-an-encrypted-osd-is-really-encrypted/
 

maibua

New Member
Jul 14, 2020
3
0
1
50
Hallo Alwin,

den Diebstahl eines Mini-Clusters mit 3 Systemen á 2 HE können wir nicht ausschließen, daher wäre eine manuelle Entschlüsselung nach dem Reboot schon wünschenswert. Security ist nun leider auch immer etwas unbequem.

Die Mon DB liegt doch irgendwo auf der Proxmox root Partiton richtig? Wäre beispielsweise eine Verschlüsselung des betroffenen Verzeichnisses denkbar (z.B. via ecryptfs)?
Welches Verzeichnis wäre das dann?
Wie wird der jeweilige Monitor nach dem Systemstart und Entschlüsseln des Verzeichnisses dann händisch gestartet?

Würden wir für solch eine Lösung bei einer Subscription überhaupt technischen Support von euch erhalten?
 

Alwin

Proxmox Staff Member
Staff member
Aug 1, 2017
4,062
373
88
Die Mon DB liegt doch irgendwo auf der Proxmox root Partiton richtig? Wäre beispielsweise eine Verschlüsselung des betroffenen Verzeichnisses denkbar (z.B. via ecryptfs)?
Welches Verzeichnis wäre das dann?
/var/lib/ceph/mon/ceph-<id>/
Wie wird der jeweilige Monitor nach dem Systemstart und Entschlüsseln des Verzeichnisses dann händisch gestartet?
Die Ceph Services werden per Systemd gestartet. Hier gilt es eine Abhängigkeit der Dienste auf das Entschlüsseln einzurichten.

Würden wir für solch eine Lösung bei einer Subscription überhaupt technischen Support von euch erhalten?
Das ist eine gute Frage. Aber wenn Ceph nicht geht, weil die MON DB sich nicht entschlüsseln lässt, ist es ohnehin dunkel.
 
  • Like
Reactions: Stoiko Ivanov

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE and Proxmox Mail Gateway. We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get your own in 60 seconds.

Buy now!