Checkliste

Check-Dashboard-01: Ist Benutzer/Gruppe von Konfigurationsdateien auf root/horizon gesetzt?

Konfigurationsdateien enthalten kritische Parameter und Informationen, die für ein reibungsloses Funktionieren der Komponente erforderlich sind. Wenn ein unprivilegierter Benutzer entweder vorsätzlich oder versehentlich irgendwelche Parameter oder die Datei selbst verändert oder löscht, dann würde es zu schweren Verfügbarkeitsproblemen führen, die den anderen Endbenutzern eine Denial-of-Service verursachen. So muss das Benutzereigentum an solchen kritischen Konfigurationsdateien auf root gesetzt sein und die Gruppeneigentümer müssen auf den horizon gesetzt sein.

Führen Sie die folgenden Befehle aus:

$ stat -L -c "%U %G"  /etc/openstack-dashboard/local_settings.py | egrep "root horizon"

Pass: Wenn Benutzer- und Gruppenbesitz der Konfigurationsdatei auf root und horizon gesetzt ist. Die obigen Befehle zeigen die Ausgabe des root horizon.

Fail: Wenn die oben genannten Befehle keine Ausgabe zurückgeben, da der Benutzer- und Gruppenbesitz auf einen anderen Benutzer als root oder eine andere Gruppe als den horizon eingestellt haben könnte.

Check-Dashboard-02: Sind strenge Berechtigungen für Horizon-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/openstack-dashboard/local_settings.py

Pass: Wenn die Berechtigungen auf 640 oder strenger eingestellt sind. Die Berechtigungen von 640 übersetzen in den Besitzer r/w, Gruppe r und keine Rechte an anderen dh „u=rw, g=r, o=“. Beachten Sie, dass mit Check-Dashboard-01: Ist Benutzer/Gruppe von Konfigurationsdateien auf root/horizon gesetzt? und Berechtigungen auf 640 gesetzt ist, hat root Lese-/Schreibzugriff und horizon 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/openstack-dashboard/local_settings.py
getfacl: Removing leading '/' from absolute path names
# file: etc/openstack-dashboard/local_settings.py
USER   root     rw-
GROUP  horizon  r--
mask            r--
other           ---

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

Check-Dashboard-03: Ist DISALLOW_IFRAME_EMBED``Parameter auf ``True gesetzt?

DISALLOW_IFRAME_EMBED can be used to prevent the OpenStack Dashboard from being embedded within an iframe.

Legacy-Browser sind immer noch anfällig für eine Cross-Frame Scripting (XFS) Sicherheitsanfälligkeit, so dass diese Option zusätzliche Sicherheitsverhärtung ermöglicht, wo iframes nicht in der Bereitstellung verwendet werden.

Die Standardeinstellung ist True.

Pass: Wenn der Wert des Parameters ``DISALLOW_IFRAME_EMBED``in ``/ etc/openstack-dashboard/local_settings.py``auf ``True``gesetzt ist.

Fail: Wenn der Wert des Parameters ``DISALLOW_IFRAME_EMBED``in ``/ etc/openstack-dashboard/local_settings.py``auf ``False``gesetzt ist.

Empfohlen in: HTTPS, HSTS, XSS und SSRF.

Check-Dashboard-07: Ist ``PASSWORD_AUTOCOMPLETE``auf ``False``gesetzt?

Gemeinsames Merkmal, das Anwendungen verwenden, um den Benutzern eine Bequemlichkeit zu bieten, besteht darin, das Passwort lokal im Browser (auf dem Client-Rechner) zwischenzuspeichern und es in allen nachfolgenden Anfragen vorangestellt zu haben. Während diese Funktion als äußerst freundlich für den durchschnittlichen Benutzer wahrgenommen werden kann, führt sie gleichzeitig einen Fehler ein, da das Benutzerkonto für jedermann, der das gleiche Konto auf dem Clientcomputer verwendet, leicht zugänglich ist und somit zu Kompromissen des Benutzerkonto.

Pass: Wenn der Wert des Parameters PASSWORD_AUTOCOMPLETE``in ``/ etc/openstack-dashboard/local_settings.py auf ``off``gesetzt ist.

Fail: Wenn der Wert des Parameters PASSWORD_AUTOCOMPLETE``in ``/ etc/openstack-dashboard/local_settings.py auf ``on``gesetzt ist.

Check-Dashboard-08: Ist ``DISABLE_PASSWORD_REVEAL``auf ``True``gesetzt?

Ähnlich wie bei der vorherigen Prüfung wird empfohlen, keine Passwortfelder zu veröffentlichen.

Pass: Wenn der Wert des Parameters DISABLE_PASSWORD_REVEAL``in `` / etc/openstack-dashboard/local_settings.py auf ``True``gesetzt ist.

Fail: Wenn der Wert des Parameters DISABLE_PASSWORD_REVEAL``in `` / etc/openstack-dashboard/local_settings.py auf ``False``gesetzt ist.

Bemerkung

Diese Option wurde im Kilo Release eingeführt.

Check-Dashboard-09: Ist ENFORCE_PASSWORD_CHECK auf ``True``gesetzt?

Wenn Sie ENFORCE_PASSWORD_CHECK auf True setzen, wird ein Feld ‚ Admin-Passwort‘ im Formular ‚Passwort ändern‘ angezeigt, um zu überprüfen, ob es sich um den angemeldeten Administrator handelt, der das

Pass: Wenn der Wert des Parameters ENFORCE_PASSWORD_CHECK in / etc/openstack-dashboard/local_settings.py auf ``True``gesetzt ist.

Fail: If value of parameter ENFORCE_PASSWORD_CHECK in /etc/openstack-dashboard/local_settings.py is set to False.

Check-Dashboard-10: Ist ``PASSWORD_VALIDATOR``konfiguriert?

Ermöglicht einen regulären Ausdruck, um die Komplexität des Benutzerpassworts zu überprüfen.

Pass: Wenn der Wert des Parameters ``PASSWORD_VALIDATOR``in ``/etc /openstack-dashboard/local_settings.py``auf einen beliebigen Wert außerhalb des Default gesetzt ist, erlaube alle `regex: ‚.*‘,

Fail: Wenn der Wert des Parameters ``PASSWORD_VALIDATOR``in ``/etc /openstack-dashboard/local_settings.py``gesetzt ist, um alle regex: ‚.*‘ zu erlauben.

Check-Dashboard-11: Ist ``SECURE_PROXY_SSL_HEADER``konfiguriert?

Wenn das OpenStack Dashboard hinter einem Proxy installiert ist und der Proxy ``X-Forwarded-Proto``Header aus allen eingehenden Anfragen entfernt oder den ``X-Forwarded-Proto``Header setzt und ihn an das Dashboard sendet, aber nur für Anfragen, die ursprünglich über HTTPS kommen, dann sollten Sie erwägen, ``SECURE_PROXY_SSL_HEADER``zu konfigurieren.

Weitere Informationen finden Sie in der Django Dokumentation.

Pass: Wenn der Wert des Parameters SECURE_PROXY_SSL_HEADER``in `` / etc/openstack-dashboard/local_settings.py``auf `` ``'HTTP_X_FORWARDED_PROTO', 'https' gesetzt ist

Fail: Wenn der Wert des Parameters SECURE_PROXY_SSL_HEADER``in `` / etc/openstack-dashboard/local_settings.py``nicht auf `` ``'HTTP_X_FORWARDED_PROTO', 'https' gesetzt oder auskommentiert ist.