チェックリスト

Check-Shared-01: 設定ファイルのユーザー/グループの所有権が root/manila に設定されていますか?

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.

以下のコマンドを実行します。

$ 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"

成功: これらのすべての設定ファイルのユーザーおよびグループ所有者がそれぞれ root と manila に設定されている場合。上のコマンドは root manila を表示します。

失敗: 上のコマンドが、ユーザー所有者とグループ所有者として何も返さない場合。ユーザーが root 以外に、グループが manila 以外に設定されている可能性があります。

Check-Shared-02: 設定ファイルに厳しいパーミッションが設定されていますか?

前のチェックと同じように、そのような設定ファイルに厳しいアクセス権限を設定することを推奨します。

以下のコマンドを実行します。

$ 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: 設定ファイルのユーザー/グループの所有権が root/manila に設定されていますか? 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        ---

失敗: パーミッションが 640 より緩くなっている場合。

Check-Shared-03: 認証に OpenStack Identity を使用していますか?

注釈

This item only applies to OpenStack releases Rocky and before as auth_strategy was deprecated in Stein.

OpenStack supports various authentication strategies like noauth and keystone. If the 'noauth' strategy is used then the users could interact with OpenStack services without any authentication. This could be a potential risk since an attacker might gain unauthorized access to the OpenStack components. Thus it is strongly recommended that all services must be authenticated with keystone using their service accounts.

成功: manilaconf[DEFAULT] にある auth_strategykeystone に設定されている場合。

失敗: [DEFAULT] にある auth_strategy パラメーターの値が noauth に設定されている場合。

Check-Shared-04: 認証に TLS を有効化していますか?

OpenStack components communicate with each other using various protocols and the communication might involve sensitive or confidential data. An attacker may try to eavesdrop on the channel in order to get access to sensitive information. All the components must communicate with each other using a secured communication protocol.

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: Shared File Systems が TLS で Compute と通信していますか?

注釈

This item only applies to OpenStack releases Train and before as auth_strategy was deprecated in Ussuri.

OpenStack のコンポーネントは、さまざまなプロトコルを使用して、相互に通信しています。通信が重要な秘密情報を取り扱っているかもしれません。攻撃者は、秘密情報にアクセスするために、通信経路を盗聴しようとしているかもしれません。そのため、すべてのコンポーネントが、安全な通信プロトコルを使用して、相互に通信する必要があります。

成功: manila.conf[DEFAULT] にある nova_api_insecureFalse に設定されている場合。

失敗: manila.conf[DEFAULT] にある nova_api_insecureTrue に設定されている場合。

Check-Shared-06: Shared File Systems が TLS で Networking と通信していますか?

注釈

This item only applies to OpenStack releases Train and before as auth_strategy was deprecated in Ussuri.

前のチェック (Check-Shared-05: Shared File Systems が TLS で Compute と通信していますか?) と同じように、すべてのコンポーネントがお互いにセキュアな通信プロトコルで通信することを推奨します。

成功: manila.conf[DEFAULT] にある neutron_api_insecureFalse に設定されている場合。

失敗: manila.conf[DEFAULT] にある neutron_api_insecureTrue に設定されている場合。

Check-Shared-07: Shared File Systems が TLS で Block Storage と通信していますか?

注釈

This item only applies to OpenStack releases Train and before as auth_strategy was deprecated in Ussuri.

前のチェック (Check-Shared-05: Shared File Systems が TLS で Compute と通信していますか?) と同じように、すべてのコンポーネントがお互いにセキュアな通信プロトコルで通信することを推奨します。

成功: manila.conf[DEFAULT] にある cinder_api_insecureFalse に設定されている場合。

失敗: manila.conf[DEFAULT] にある cinder_api_insecureTrue に設定されている場合。

Check-Shared-08: リクエストのボディーの最大サイズがデフォルト (114688) に設定されていますか?

If the maximum body size per request is not defined, the attacker can craft an arbitrary OSAPI 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 service.

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: If value of parameter max_request_body_size under [oslo_middleware] section in manila.conf is not set to 114688, or if value of parameter osapi_max_request_body_size under [DEFAULT] section in manila.conf is not set to 114688.