Erstellen von LUKS-verschlüsselten Volumes
OpenStack ermöglicht die ruhende Verschlüsselung von Volumes mit LUKS. Auf NWS OpenStack wird die Volume-Typ-Option zur Verschlüsselung im Ruhezustand als LUKS bezeichnet. Weitere Informationen sowie Anleitungen zur Einrichtung verschlüsselter Volumes sind unten aufgeführt.
Wie verschlüsselt OpenStack Volumes?
Wenn man ein verschlüsseltes Volume über die Horizon UI oder die OpenStack CLI erstellt, generiert OpenStack automatisch den erforderlichen Verschlüsselungsschlüssel und speichert ihn in Barbican, dem Schlüsselmanager von OpenStack.
Alle LUKS-Verschlüsselungsschlüssel auf NWS OpenStack verwenden 256-Bit aes-xts-plain64-Verschlüsselung.
Da Secrets in NWS OpenStack pro Secret abgerechnet werden, verursacht jedes verschlüsselte Volume minimale zusätzliche Kosten (0,40 € pro Secret pro Monat, Stand 03/2024).
Beim Anhängen eines verschlüsselten Volumes an einen Server entschlüsselt OpenStack dieses automatisch im Hintergrund mithilfe des in Barbican gespeicherten Verschlüsselungsschlüssels. Das angehängte Volume kann auf dem Server wie jedes andere (unverschlüsselte) Volume genutzt werden.
Erstellen verschlüsselter Volumes in OpenStack
Verschlüsselte Volumes können entweder über die Horizon UI oder über das Terminal mit der OpenStack CLI erstellt werden.
Nutzung der Horizon UI
In der OpenStack Horizon UI wählt man zunächst das richtige Projekt aus und folgt dann diesen Schritten:
- Navigieren zu Volumes > Volumes
- Auf Volume erstellen klicken
- Das Volume konfigurieren
- [Erforderlich] Name festlegen
- [Optional] Beschreibung eingeben
- [Erforderlich] Volume-Quelle wählen
- [Erforderlich] LUKS als Volume-Typ festlegen
- [Optional] Volume-Größe anpassen
- [Optional] Volume-Gruppe auswählen
- Einstellungen bestätigen und das Volume durch Klicken auf Volume erstellen anlegen
OpenStack beginnt nun mit der Erstellung des Volumes, das nach dem Neuladen der Seite unter Volumes > Volumes aufgelistet wird.
Nutzung der OpenStack CLI
Zunächst muss die OpenStackRC.sh-Datei geladen und das richtige Projekt ausgewählt werden:
source nws-id-openstack-rc.sh
Authentifizierung testen und Projektliste abrufen ...
Bitte eines der OpenStack-Projekte auswählen:
1) 20631-openstack-04223 3) 5475-openstack-41b6b 5) 5475-openstack-8bdaf 7) 5475-openstack-a169e
2) 5475-openstack-1ccca 4) 5475-openstack-4745f 6) 5475-openstack-9d52e 8) 5475-openstack-c716d
Nummer eingeben: 1
Ausgewähltes Projekt: 20631-openstack-04223
Dann kann ein neues, verschlüsseltes Volume mit folgendem Befehl erstellt werden:
openstack volume create \
--type LUKS \
--size <size> \
--description <description> \
--image <image> \
<name>
Folgende Parameter können übergeben werden:
<size>: Größe des Volumes in GB, erforderlich, falls<image>nicht angegeben wird<description>: Beschreibung des Volumes, optional<image>: Referenz auf ein Image, falls das Volume auf einem Image basieren soll, optional<name>: Name des Volumes, erforderlich
Anhängen verschlüsselter Volumes an Server
Verschlüsselte Volumes können entweder über die Horizon UI oder über das Terminal mit der OpenStack CLI an Server angehängt werden, genau wie unverschlüsselte Volumes.
Nutzung der Horizon UI
In der OpenStack Horizon UI wählt man das richtige Projekt aus und folgt diesen Schritten:
- Navigieren zu Compute > Instanzen
- Den Server in der Liste identifizieren, an den das Volume angehängt werden soll
- Das Dropdown-Menü in der Aktionen-Spalte des Servers öffnen
- Auf Volume anhängen klicken und das gewünschte Volume auswählen
- Mit einem Klick auf Volume anhängen bestätigen
Nach wenigen Sekunden sollte das Volume auf dem Server unter /dev/sdX sichtbar sein.
Nutzung der OpenStack CLI
Zunächst muss die OpenStackRC.sh-Datei geladen und das richtige Projekt ausgewählt werden:
source nws-id-openstack-rc.sh
Authentifizierung testen und Projektliste abrufen ...
Bitte eines der OpenStack-Projekte auswählen:
1) 20631-openstack-04223 3) 5475-openstack-41b6b 5) 5475-openstack-8bdaf 7) 5475-openstack-a169e
2) 5475-openstack-1ccca 4) 5475-openstack-4745f 6) 5475-openstack-9d52e 8) 5475-openstack-c716d
Nummer eingeben: 1
Ausgewähltes Projekt: 20631-openstack-04223
Dann kann das Volume mit folgendem Befehl an einen Server angehängt werden:
Folgende Parameter müssen angegeben werden:
<device>: Interner Gerätename auf dem Server, z. B./dev/sdb, erforderlich<server>: Name oder UUID des Servers, an den das Volume angehängt werden soll, erforderlich<volume>: Name oder UUID des Volumes, das angehängt werden soll, erforderlich
Nach wenigen Sekunden sollte das Volume auf dem Server unter /dev/sdX sichtbar sein.
Weiterführende Links
Weitere detaillierte Anleitungen zur Erstellung und Einbindung verschlüsselter Volumes sowie allgemeine Informationen zu verschlüsselten Volumes in OpenStack sind unter den folgenden Links zu finden:
- NWS-Blogpost: LUKS Encrypted Storage on OpenStack
- OpenStack-Dokumentation: Volume encryption supported by the key manager