チェックリスト¶
Check-Identity-01: 設定ファイルのユーザー/グループの所有権が keystone に設定されていますか?¶
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.
以下のコマンドを実行します。
$ 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"
成功: これらのすべての設定ファイルのユーザーおよびグループ所有者が keystone に設定されている場合。上のコマンドは keystone keystone を表示します。
失敗: 上のコマンドが、ユーザー所有者とグループ所有者として何も返さない場合。keystone 以外のユーザーに設定されている可能性があります。
内部実装認証方式 に推奨事項があります。
Check-Identity-02: Identity の設定ファイルに厳しいパーミッションが設定されていますか?¶
前のチェックと同じように、そのような設定ファイルに厳しいアクセス権限を設定することを推奨します。
以下のコマンドを実行します。
$ 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: If permissions are not set to at least 640/750.
内部実装認証方式 に推奨事項があります。
Check-Identity-03: Identity の TLS を有効化していますか?¶
OpenStack のコンポーネントは、さまざまなプロトコルを使用して、相互に通信しています。通信が重要な秘密情報を取り扱っているかもしれません。攻撃者は、秘密情報にアクセスするために、通信経路を盗聴しようとしているかもしれません。そのため、すべてのコンポーネントが、HTTPS のような安全な通信プロトコルを使用して、相互に通信する必要があります。
Identity に HTTP/WSGI サーバーを使用する場合、HTTP/WSGI サーバーにおいて TLS を有効化すべきです。
成功: TLS が HTTP サーバーにおいて有効化されている場合。
失敗: TLS が HTTP サーバーにおいて有効化されていない場合。
セキュア通信 に推奨事項があります。
Check-Identity-04: (Obsolete)¶
Check-Identity-05: max_request_body_size
がデフォルト (114688) に設定されていますか?¶
The parameter max_request_body_size
defines the maximum body size
per request in bytes. If the maximum size is not defined, the attacker
could craft an arbitrary request of large size causing the service to
crash and finally resulting in Denial Of Service attack. Assigning the
maximum value ensures that any malicious oversized request gets blocked
ensuring continued availability of the component.
Pass: If value of parameter max_request_body_size
in
/etc/keystone/keystone.conf
is set to default (114688) or some
reasonable value based on your environment.
失敗: max_request_body_size
パラメーターの値が設定されていない場合。
Check-Identity-06: /etc/keystone/keystone.conf
において管理トークンを無効化していますか?¶
The admin token is generally used to bootstrap Identity. This token is the most valuable Identity asset, which could be used to gain cloud admin privileges.
Pass: If admin_token
under [DEFAULT]
section in
/etc/keystone/keystone.conf
is disabled. And,
AdminTokenAuthMiddleware
under [filter:admin_token_auth]
is deleted
from /etc/keystone/keystone-paste.ini
Fail: If admin_token
under [DEFAULT]
section is set and
AdminTokenAuthMiddleware
exists in keystone-paste.ini
.
Tip
Disabling admin_token
means it has a value of <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: Use fernet token in /etc/keystone/keystone.conf
¶
OpenStack Identity service provides uuid
and fernet
as token providers.
The uuid
tokens must be persisted and is considered as insecure.
Pass: If value of parameter provider
under [token]
section in /etc/keystone/keystone.conf
is set to fernet.
Fail: If value of parameter provider
under [token]
section is set to uuid.