Checkliste

Check-Identity-01: Ist Benutzer/Gruppenbesitz von Konfigurationsdateien auf Keystone 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. Thus user and group ownership of such critical configuration files must be set to that component owner. 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/keystone/keystone.conf | egrep "keystone keystone"
$ stat -L -c "%U %G" /etc/keystone/keystone-paste.ini | egrep "keystone keystone"
$ stat -L -c "%U %G" /etc/keystone/policy.json | egrep "keystone keystone"
$ stat -L -c "%U %G" /etc/keystone/logging.conf | egrep "keystone keystone"
$ stat -L -c "%U %G" /etc/keystone/ssl/certs/signing_cert.pem | egrep "keystone keystone"
$ stat -L -c "%U %G" /etc/keystone/ssl/private/signing_key.pem | egrep "keystone keystone"
$ stat -L -c "%U %G" /etc/keystone/ssl/certs/ca.pem | egrep "keystone keystone"
$ stat -L -c "%U %G" /etc/keystone | egrep "keystone keystone"

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

Fail: Wenn die oben genannten Befehle keine Ausgabe zurückgeben, da der Benutzer- oder Gruppeneigentum auf einen anderen Benutzer als keystone eingestellt ist.

Empfohlen in: Intern implementierte Authentifizierungsmethoden

Check-Identity-02: Sind die Berechtigungen für Identitätskonfigurationsdateien 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/keystone/keystone.conf
$ stat -L -c "%a" /etc/keystone/keystone-paste.ini
$ stat -L -c "%a" /etc/keystone/policy.json
$ stat -L -c "%a" /etc/keystone/logging.conf
$ stat -L -c "%a" /etc/keystone/ssl/certs/signing_cert.pem
$ stat -L -c "%a" /etc/keystone/ssl/private/signing_key.pem
$ stat -L -c "%a" /etc/keystone/ssl/certs/ca.pem
$ stat -L -c "%a" /etc/keystone

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.

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

Empfohlen in: Intern implementierte Authentifizierungsmethoden

Check-Identity-03: Ist TLS für Identity 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. So müssen alle Komponenten mit einem gesicherten Kommunikationsprotokoll wie HTTPS miteinander kommunizieren.

Wenn Sie den HTTP/WSGI-Server für Identity verwenden, sollten Sie TLS auf dem HTTP/WSGI-Server aktivieren.

Pass: Wenn TLS auf dem HTTP Server aktiviert ist.

Fail: Wenn TLS auf dem HTTP-Server nicht aktiviert ist.

Empfohlen in: Sichere Kommunikation.

Check-Identity-04: (Obsolete)

Check-Identity-05: Ist ``max_request_body_size``auf Standard gesetzt (114688)?

Der Parameter max_request_body_size definiert die maximale Körpergröße pro Anfrage in Bytes. Wenn die maximale Größe nicht definiert ist, könnte der Angreifer eine beliebige Anforderung von großer Größe erstellen, die den

Pass: Wenn der Wert des Parameters ``max_request_body_size``in ``/ etc/keystone/keystone.conf``auf Standard (114688) oder einen angemessenen Wert basierend auf Ihrer Umgebung eingestellt ist.

Fail: Wenn der Wert des Parameters ``max_request_body_size``nicht gesetzt ist.

Check-Identity-06: Deaktivieren Sie das Admin-Token in /etc/keystone/keystone.conf

Das Admin-Token wird generell verwendet, um Identity zu booten. Dieses Token ist das wertvollste Identitäts-Asset, das verwendet werden könnte, um Cloud-Admin-Privilegien zu gewinnen.

Pass: Wenn admin_token``im ``[DEFAULT] ``Abschnitt in der ``/etc/keystone/keystone.conf deaktiviert ist. Und AdminTokenAuthMiddleware im [filter:admin_token_auth]``Abschnitt aus der /etc/keystone/keystone-paste.ini``gelöscht wird

Fail: Wenn admin_token im [DEFAULT] Abschnitt gesetzt ist und AdminTokenAuthMiddleware in der ``keystone-paste.ini``existiert.

Tipp

Deaktivieren von admin_token bedeutet er hat einen Wert von <none>.

Check-Identity-07: insecure_debug false in /etc/keystone/keystone.conf

If insecure_debug is set to true, then the server will return information in HTTP responses that may allow an unauthenticated or authenticated user to get more information than normal, such as additional details about why authentication failed.

Pass: If insecure_debug under [DEFAULT] section in /etc/keystone/keystone.conf is false.

Fail: If insecure_debug under [DEFAULT] section in /etc/keystone/keystone.conf is true.

Check-Identity-08: Benutzt Fernet-Token in /etc/keystone/keystone.conf

OpenStack Identity Dienst stellt uuid und fernet als Token-Dienstleister. Die uuid Token müssen persistiert sein und gelten als unsicher.

Pass: Wenn der Wert des Parameter provider unter [token] Sektion in /etc/keystone/keystone.conf auf fernet gesetzt ist.

Fail: Wenn der Wert des Parameter provider unter [token] Sektion auf uuid gesetzt ist.