Checkliste

Check-Compute-01: Ist User/Group Besitz von Konfigurationsdateien auf root/nova gesetzt?

Configuration files contain critical parameters and information required for smooth functioning of the component. If an unprivileged user, either intentionally or accidentally, modifies or deletes any of the parameters or the file itself then it would cause severe availability issues causing a denial of service to the other end users. User ownership of such critical configuration files must be set to root and group ownership must be set to nova. Additionally, the containing directory should have the same ownership to ensure that new files are owned correctly.

Führen Sie die folgenden Befehle aus:

$ stat -L -c "%U %G" /etc/nova/nova.conf | egrep "root nova"
$ stat -L -c "%U %G" /etc/nova/api-paste.ini | egrep "root nova"
$ stat -L -c "%U %G" /etc/nova/policy.json | egrep "root nova"
$ stat -L -c "%U %G" /etc/nova/rootwrap.conf | egrep "root nova"
$ stat -L -c "%U %G" /etc/nova | egrep "root nova"

Pass: Wenn Benutzer- und Gruppenbesitz aller dieser Konfigurationsdateien auf root``und ``nova``gesetzt ist. Die obigen Befehle zeigen die Ausgabe von ``root nova.

Fail: Wenn die oben genannten Befehle keine Ausgabe zurückgeben, kann das Benutzer- und Gruppeneigentum auf einen anderen Benutzer als root oder eine andere Gruppe als ``nova``eingestellt haben.

Empfohlen in:: doc:../ compute.

Check-Compute-02: Sind für Konfigurationsdateien strenge Berechtigungen festgelegt?

Ähnlich wie bei der vorherigen Prüfung empfehlen wir, strenge Zugriffsberechtigungen für solche Konfigurationsdateien festzulegen.

Führen Sie die folgenden Befehle aus:

$ stat -L -c "%a" /etc/nova/nova.conf
$ stat -L -c "%a" /etc/nova/api-paste.ini
$ stat -L -c "%a" /etc/nova/policy.json
$ stat -L -c "%a" /etc/nova/rootwrap.conf

A broader restriction is also possible: if the containing directory is set to 750, the guarantee is made that newly created files inside this directory would have the desired permissions.

Pass: If permissions are set to 640 or stricter, or the containing directory is set to 750. The permissions of 640/750 translates into owner r/w, group r, and no rights to others. For example, „u=rw,g=r,o=“.

Bemerkung

Wenn:ref:check_compute_01 und Berechtigungen auf 640 eingestellt sind, hat root Lese-/Schreibzugriff und nova hat Lesezugriff auf diese Konfigurationsdateien. Die Zugriffsrechte können auch mit dem folgenden Befehl validiert werden. Dieser Befehl ist nur auf Ihrem System verfügbar, wenn er ACLs unterstützt.

$ getfacl --tabular -a /etc/nova/nova.conf
getfacl: Removing leading '/' from absolute path names
# file: etc/nova/nova.conf
USER   root  rw-
GROUP  nova  r--
mask         r--
other        ---

** Fail: ** Wenn die Berechtigungen nich auf mindestens 640/750 festgelegt sind.

Empfohlen in:: doc:../ compute.

Check-Compute-03: Wird Keystone für die Authentifizierung verwendet?

Bemerkung

Dieser Punkt ist nur gültig für die OpenStack Releases Rocky und früher da auth_strategy in Stein als veraltet erklärt wurde.

OpenStack unterstützt verschiedene Authentifizierungsstrategien wie noauth und Keystone. Wenn die noauth-Strategie verwendet wird, können die Benutzer ohne Authentifizierung mit OpenStack-Diensten interagieren. Dies könnte ein potentielles Risiko darstellen, da ein Angreifer einen unbefugten Zugriff auf die OpenStack-Komponenten erhalten könnte. Wir empfehlen dringend, dass alle Dienste mit Keystone mit ihren Servicekonten authentifiziert werden müssen.

Bevor Ocata:

Pass: Wenn der Wert des Parameters ``auth_strategy``unter `` [DEFAULT] ``Abschnitt in ``/etc/nova/nova.conf``auf ``keystone` gesetzt ist.

Fail: Wenn der Wert des Parameters ``auth_strategy``unter `` [DEFAULT] ``Abschnitt auf ``noauth``oder ``noauth2``gesetzt ist.

Nach Ocata:

Pass: Wenn der Wert des Parameters auth_strategy``unter ``[api] oder ``[DEFAULT] ``Abschnitt in ``/etc/nova/nova.conf``auf ``keystone` gesetzt ist.

Fail: Wenn der Wert des Parameters auth_strategy``unter ``[api] oder ``[DEFAULT] ``Abschnitt auf ``noauth``oder ``noauth2``gesetzt ist.

Check-Compute-04: Wird ein sicheres Protokoll für die Authentifizierung verwendet?

OpenStack-Komponenten kommunizieren miteinander mit verschiedenen Protokollen und die Kommunikation kann sensible oder vertrauliche Daten beinhalten. Ein Angreifer kann versuchen, auf dem Kanal zu lauschen, um Zugang zu sensiblen Informationen zu erhalten. Alle Komponenten müssen über ein gesichertes Kommunikationsprotokoll miteinander kommunizieren.

Pass: Wenn der Wert des Parameters www_authenticate_uri``unter dem ``[keystone_authtoken] Abschnitt in /etc/nova/nova.conf``auf Identity API Endpunkt auf ``https:// und Wert des Parameters `` insecure``unter demselben [keystone_authtoken] ``Abschnitt in der gleichen ``/etc/nova/nova.conf auf ``False``gesetzt ist.

Fail: Wenn der Wert des Parameters www_authenticate_uri``unter dem ``[keystone_authtoken] Abschnitt in /etc/nova/nova.conf nicht auf Identity API Endpunkt gesetzt ist, mit https:// beginnt oder der Wert des Parameters insecure unter demselben [keystone_authtoken] `` Abschnitt in der gleichen ``/etc/nova/nova.conf auf True gesetzt ist.

Check-Compute-05: Ist Nova mit dem Blick sicher zu kommunizieren?

OpenStack-Komponenten kommunizieren miteinander mit verschiedenen Protokollen und die Kommunikation kann sensible oder vertrauliche Daten beinhalten. Ein Angreifer kann versuchen, auf dem Kanal zu lauschen, um Zugang zu sensiblen Informationen zu erhalten. Alle Komponenten müssen über ein gesichertes Kommunikationsprotokoll miteinander kommunizieren.

Pass: Wenn der Wert des Parameters api_insecure unter dem [glance] `` Abschnitt in ``/etc/nova/nova.conf``auf ``False und der Wert des Parameters api_servers unter dem [glace]` `Abschnitt in` `/ etc/nova/nova.conf auf einen Wert gesetzt ist, der mit` https: //` beginnt.

Fail: Wenn der Wert des Parameters api_insecure unter dem [glance] ``Abschnitt in ``/etc/nova/nova.conf auf True gesetzt ist oder der Wert von des Parameter api_servers``unter dem ``[glance] ``Abschnitt in ``/etc/nova/nova.conf auf einen Wert gesetzt ist, der nicht mit ``https:// ``beginnt.