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