Checkliste

Check-Shared-01: Ist User/Group Besitz von Konfigurationsdateien auf root/manila 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 resulting in a denial of service to the other end users. Thus user ownership of such critical configuration files must be set to root and group ownership must be set to manila. 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/manila/manila.conf | egrep "root manila"
$ stat -L -c "%U %G" /etc/manila/api-paste.ini | egrep "root manila"
$ stat -L -c "%U %G" /etc/manila/policy.json | egrep "root manila"
$ stat -L -c "%U %G" /etc/manila/rootwrap.conf | egrep "root manila"
$ stat -L -c "%U %G" /etc/manila | egrep "root manila"

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

Fail: Wenn die obigen Befehle keine Ausgabe zurückgeben, da der Benutzer- und Gruppeneigentum auf einen anderen Benutzer als root oder eine andere Gruppe als manila eingestellt ist.

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

Ähnlich wie bei der vorherigen Prüfung empfiehlt es sich, strenge Zugriffsberechtigungen für solche Konfigurationsdateien festzulegen.

Führen Sie die folgenden Befehle aus:

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

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 translates into owner r/w, group r, and no rights to others i.e. „u=rw,g=r,o=“. Note that with Check-Shared-01: Ist User/Group Besitz von Konfigurationsdateien auf root/manila gesetzt? and permissions set to 640, root has read/write access and manila has read access to these configuration files. The access rights can also be validated using the following command. This command will only be available on your system if it supports ACLs.

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

Fail: Wenn die Berechtigungen nicht auf mindestens 640 festgelegt sind.

Check-Shared-03: Wird OpenStack Identity 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 benutzt wird, können Benutzer ohne irgendeine Authentifizierung mit den OpenStack Diensten interagieren. Dies könnte ein potentielles Risiko darstellen, da ein Angreifer einen unbefugten Zugriff auf die OpenStack-Komponenten erhalten könnte. So wird dringend empfohlen, dass alle Dienste mit Keystone mit ihren Servicekonten authentifiziert werden müssen.

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

Fail: Wenn der Wert des Parameters auth_strategy in der [DEFAULT] Sektion auf noauth gesetzt ist.

Check-Shared-04: Ist TLS für die Authentifizierung aktiviert?

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: If value of parameter www_authenticate_uri under [keystone_authtoken] section in /etc/manila/manila.conf is set to Identity API endpoint starting with https:// and value of parameter insecure under the same [keystone_authtoken] section in the same /etc/manila/manila.conf is set to False.

Fail: If value of parameter www_authenticate_uri under [keystone_authtoken] section in /etc/manila/manila.conf is not set to Identity API endpoint starting with https:// or value of parameter insecure under the same [keystone_authtoken] section in the same /etc/manila/manila.conf is set to True.

Check-Shared-05: Gemeinsame Dateisysteme kontaktieren sich mit Compute über TLS?

Bemerkung

This item only applies to OpenStack releases Train and before as auth_strategy was deprecated in Ussuri.

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. Somit müssen alle Komponenten mit einem gesicherten Kommunikationsprotokoll miteinander kommunizieren.

Pass: Wenn der Wert des Parameters nova_api_insecure unter `` [DEFAULT]``Abschnitt in manila.conf auf False gesetzt ist.

Fail: Wenn der Wert des Parameters nova_api_insecure``unter `` [DEFAULT]``Abschnitt in ``manila.conf auf ``True``gesetzt ist.

Check-Shared-06: Gemeinsame Dateisysteme kontaktieren sich mit Networking über TLS?

Bemerkung

This item only applies to OpenStack releases Train and before as auth_strategy was deprecated in Ussuri.

Ähnlich wie bei der vorherigen Prüfung (Check-Shared-05: Gemeinsame Dateisysteme kontaktieren sich mit Compute über TLS?) empfiehlt es sich, dass alle Komponenten über ein gesichertes Kommunikationsprotokoll miteinander kommunizieren müssen.

Pass: Wenn der Wert des Parameters neutron_api_insecure``unter `` [DEFAULT]``Abschnitt in ``manila.conf auf ``False``gesetzt ist.

Fail: Wenn der Wert des Parameters neutron_api_insecure unter `` [DEFAULT]``Abschnitt in manila.conf auf True gesetzt ist.

Check-Shared-07: Gemeinsame Dateisysteme kontaktieren sich mit Block Storage über TLS?

Bemerkung

This item only applies to OpenStack releases Train and before as auth_strategy was deprecated in Ussuri.

Ähnlich wie bei der vorherigen Prüfung (Check-Shared-05: Gemeinsame Dateisysteme kontaktieren sich mit Compute über TLS?) empfiehlt es sich, dass alle Komponenten über ein gesichertes Kommunikationsprotokoll miteinander kommunizieren müssen.

Pass: Wenn der Wert des Parameters cinder_api_insecure unter `` [DEFAULT]``Abschnitt in manila.conf auf False gesetzt ist.

Fail: Wenn der Wert des Parameters cinder_api_insecure unter `` [DEFAULT]``Abschnitt in manila.conf auf True gesetzt ist.

Check-Shared-08: Ist die maximale Größe für das Anforderungskörper auf den Standard eingestellt (114688)?

Wenn die maximale Körpergröße pro Anfrage nicht definiert ist, kann der Angreifer eine beliebige OSAPI-Anforderung von großer Größe erstellen, die den Dienst zum Absturz bringt und schließlich zu einem Denial Of Service-Angriff führt. Die Zuweisung des Maximalwertes stellt sicher, dass jede böswillige, überdimensionierte Anfrage gesperrt wird, um eine fortgesetzte Verfügbarkeit des Dienstes zu gewährleisten.

Pass: If value of parameter max_request_body_size under [oslo_middleware] section in manila.conf is set to 114688, or if value of parameter osapi_max_request_body_size under [DEFAULT] section in manila.conf is set to 114688. The parameter osapi_max_request_body_size under [DEFAULT] is deprecated and it is better to use [oslo_middleware]/max_request_body_size.

Fail: Wenn der Wert des Parameters max_request_body_size unter `` [oslo_middleware]``Abschnitt in manila.conf nicht auf 114688 gesetzt ist oder wenn Wert des Parameters ``osapi_max_request_body_size ist