【VMware Cloud Director】security

セキュリティガイド

 

適当な抜粋&翻訳

 

・Protecting Sensitive Files After Installation 

$VCLOUD_HOME/etc配下のglobal.propertiesとresponses.propertiesはサーバーを追加するときに利用する必要があり、機密情報が含まれている。

responses.properties ファイルには、構成スクリプトの実行時に管理者から提供された応答が含まれます。
このファイルには、VMware Cloud Director データベースのパスワードとシステム キーストアのパスワードの暗号化されたバージョンが含まれています。

このファイルへの不正アクセスにより、攻撃者はVMware Cloud Directorデータベースにアクセスできるようになります。

global.properties ファイルには、暗号化された認証情報も含まれています。

セル管理者以外がアクセスできないようにする必要があります。

respons.properties ファイルは、$VCLOUD_HOME/data/transfer にマウントされている NFS 共有転送サービス ストレージにもコピーされます。

そのため、Director が使用する NFS 共有転送サービス ストレージへのアクセスも保護する必要があります。

 

・Administrative Credentials

rootアカウントは1年の有効期限が設定されている。

同じサーバーグループ内の VMware Cloud Director アプライアンスは、最初のデプロイ時に同じルート認証情報を使用する必要があります。

アプライアンスの初期構成後には、各アプライアンスのルートパスワードを変更して、パスワードを一意にすることができます。

 

・Accounts

rootユーザーによるsshアクセス有効化/無効化

 

非rootアカウントであるvcloudとpostgresユーザーはともにパスワードはなく、有効期限もない。
vcloudユーザーはログインできない。
VMware Cloud Director サービスとアプライアンス管理 UI は vcloud ユーザーとして実行されます。
su - postgres を使用して、root アカウントから postgres ユーザーに切り替えることができます。
組み込みの データベースはpostgres ユーザーとして実行されます。

 

・Network Security Requirements

VMware Cloud Directorをパブリックインターネットに直接接続しないでください。
ポート 443 (HTTPS) だけをオープンにしてください。

通信ポートは以下を参照


テナントがアクセスできない内部ホストの拒否リストを構成可能

・Certificates

証明書は、インストールされるサーバの完全修飾ドメイン名(FQDN)と一致するコモン・ネーム (CN)フィールドを持つ必要がある。

証明書には、ホストのIPアドレスに一致するsubjectAltNameフィールドが含まれていなければならない。

 

・Supported Protocols and Cipher Suites

TLS v1.0およびv1.1 は既知の脆弱性があるため、デフォルトではサポートされていません。

有効化方法

・Updating Certificates and Keys for VMware Cloud Director Cells

VMware Cloud Director サーバーには、Java キーストア ファイルに HTTP サービス用とコンソール プロキシ サービス用の 2 つの SSL 証明書が必要です。


・Firewalls 

プロバイダが許可されたサブネットからのみログインできるように、ログインURLパスをファイアウォールで制限する。

以下のファイアウォール制限

/provider
/oauth/provider
/cloudapi/1.0.0/sessions/provider
/login/oauth?service=provider
/login/org/SYSTEM

 

サービス・プロバイダーがそれぞれの企業ネットワークからのみログインできるようにするには、設定フラグを使用します。

/api/sessions を制限すると、システム管理者は、/cloudapi/1.0.0/sessions/provider 経由でのみ VMware Cloud Director にアクセスできるようになります。

Control System Admin Access to VMware Cloud Director

 

[機能フラグ]セクションにて“レガシーログインの削除”を有効にできる。

この機能を有効にすると、テナントとプロバイダーの両方でレガシーログインが無効になりますが、VCD 10.3.3.1の場合、アルファAPIバージョン(を使用する場合は、37.0.0-alpha-1652216327 )です。したがって、これは、特定のAPIバージョンの使用を強制できる独自のツールをテストする場合にのみ役立ちます。UIとサードパーティのツールは、レガシーエンドポイントが引き続き機能するメインの(サポートされている) APIバージョンを使用します。

 

プロバイダーのコンテキストでは強制的に無効にすることができます。

/opt/vmware/vcloud-director/bin/cell-management-tool manage-config -n vcloud.api.legacy.nonprovideronly -v true

プロバイダーはcloudapi/1.0.0/providers/session endpointのみを使用する必要があります。

 

・Securing MQTT

プロパティをtrueまたはfalseに設定することで、MQTT通知を有効または無効にできます。
/opt/vmware/vcloud-director/etc/global.properties
system.setting.allowMqtt

 

・Securing RabbitMQ AMQP

JMX Authentication 

JMX インターフェイスには、VMware Cloud Director システム管理者のみがアクセスできます。

管理者は、VMware Cloud Director へのアクセスに使用するのと同じ認証情報を使用して JMX を認証する必要があります。

 

・Limiting Connections to JMX

デフォルトでは、VMware Cloud Director JMX コネクタは、システム構成中に指定されたプライマリ IP アドレスにバインドされる。

次のプロパティを挿入することで、このデフォルトをオーバーライドできます。
/opt/vmware/vcloud-service-director/etc/global.properties
vcloud.cell.ip.management=IP or hostname

最もセキュアな設定
vcloud.cell.ip.management=127.0.0.1 

管理ネットワークに割り当てられたIPアドレスJMXポート(デフォルト=8999)は、インターネットや組織ユーザーへのネットワーク境界の通過を許可されるべきではありません。

 

・Securing JMX Communications
管理要件がこの構成の使用を許可せず、JMXVMware Cloud Director セルの外部に公開する必要がある場合は、JMXHTTPS で保護する必要があります。

export VCLOUD_JAVA_OPTS="-Dcom.sun.management.jmxremote.ssl=true \
-Djavax.net.keyStore=pathTokeystore \
-Djavax.net.sll.keyStorePassword=password \
-Djavax.net.ssl.keyStoreType=storeType" 

 

・Using Syslog with VMware Cloud Director 

初期インストール時にロギング用のsyslogを設定しなかった場合、後で各セ ルで$VCLOUD_HOME/etc/global.propertiesファイルを編集して設定することができる。

診断ログを一元的に収集・管理することも有益である。このようなログを収集する方法は様々ある。
log4j.propertiesファイル($VCLOUD_HOME/etc/log4j.properties)に追加のロガーを設定する。

 

・Limitations of Local User Accounts 

ローカルユーザーアカウントは、VMware Cloud Director データベースで作成および管理されます。
パワード管理機能は提供されません。
ブルートフォース攻撃を阻止するために、ローカルアカウントは、パスワードの再試行制限とアカウントのロックアウトルールを適用する必要があります。

デフォルトの構成では、VMware Cloud Director は少なくとも1 つのローカルシステム管理者アカウントを必要とします。

ローカル システム管理者アカウントなしで動作するようにする。
1 vSphere SSO サービスまたは LDAP で、システム管理者用のアカウントを 1 つ以上作成します。
2 これらのアカウント アカウントをシステム組織にインポートします。
3 セル管理ツールの manage-config コマンドを実行して、ローカルシステム管理者アカウントがシステムに認証できないように、システムを再構成します。
./cell-management-tool manage-config -n local.sysadmin.disabled -v true 

 

・Password Management

VCDにはユーザがパスワードを忘れた場合に対応する機能はない。

ローカルシステム管理者用にはrecover-passwordがある。

 

・Password Strength

VMware Cloud Directorは、ローカルユーザに少なくとも6文字のパスワードを要求します。
この要件は設定可能ではなく、パスワードの複雑さや履歴の制御はありません。