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.