デフォルトでは、Management Server ノードの IP アドレスとポート 9000 を使用して、HTTP 経由で Edge UI にアクセスします。次に例を示します。
http://ms_IP:9000
または、Edge UI への TLS アクセスを構成して、次の形式でアクセスできるようにすることもできます。
https://ms_IP:9443
この例では、ポート 9443 を使用するように TLS アクセスを構成します。ただし、このポート番号は Edge で必須ではありません。Management Server を構成して、他のポート値を使用できます。唯一の要件は、ファイアウォールが指定されたポートを介したトラフィックを許可することです。
TLS ポートが開いていることを確認する
このセクションの手順では、Management Server でポート 9443 を使用するように TLS を構成します。使用するポートに関係なく、Management Server でポートが開いていることを確認する必要があります。たとえば、次のコマンドを使用して開くことができます。
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9443 -j ACCEPT --verbose
TLS の構成
管理 UI への TLS アクセスを構成するには、次の手順を行います。
- TLS 証明書と秘密鍵を含むキーストア JKS ファイルを生成し、Management Server ノードにコピーします。詳細については、Edge On Premises の TLS/SSL の構成をご覧ください。
- 次のコマンドを実行して TLS を構成します。
/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl
- HTTPS ポート番号(9443 など)を入力します。
- 管理 UI への HTTP アクセスを無効にするかどうかを指定します。デフォルトでは、管理 UI にはポート 9000 の HTTP 経由でアクセスできます。
- キーストア アルゴリズムを入力します。デフォルトは JKS です。
- キーストア JKS ファイルの絶対パスを入力します。
このスクリプトは、ファイルを Management Server ノードの
/opt/apigee/customer/confディレクトリにコピーし、ファイルの所有権を「apigee」に変更します。 - クリアテキストのキーストア パスワードを入力します。
- スクリプトは Edge Management UI を再起動します。再起動後、管理 UI は TLS 経由のアクセスをサポートします。
これらの設定は
/opt/apigee/etc/edge-ui.d/SSL.shで確認できます。
構成ファイルを使用した TLS の構成
上記の手順の代わりに、手順 2 のコマンドに構成ファイルを渡すこともできます。オプションの TLS プロパティを設定する場合は、この方法を使用する必要があります。
構成ファイルを使用するには、新しいファイルを作成し、次のプロパティを追加します。
HTTPSPORT=9443 DISABLE_HTTP=y KEY_ALGO=JKS KEY_FILE_PATH=/opt/apigee/customer/application/mykeystore.jks KEY_PASS=clearTextKeystorePWord
任意の名前を付けて、ファイルをローカル ディレクトリに保存します。 次のコマンドを使用して TLS を構成します。
/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile
ここで、configFile は保存したファイルのフルパスです。
ロードバランサで TLS が終端する場合に Edge UI を構成する
Edge UI にリクエストを転送するロードバランサがある場合は、ロードバランサで TLS 接続を終端し、ロードバランサから HTTP 経由で Edge UI にリクエストを転送できます。この構成はサポートされていますが、ロードバランサと Edge UI を適切に構成する必要があります。
ユーザーの作成時またはユーザーが紛失したパスワードのリセットをリクエストしたときに、Edge UI がユーザーにメールを送信してパスワードを設定する場合は、追加の構成が必要です。このメールには、ユーザーがパスワードを設定または再設定するために選択する URL が含まれています。デフォルトでは、Edge UI が TLS を使用するように構成されていない場合、生成されたメールの URL は HTTPS プロトコルではなく HTTP プロトコルを使用します。HTTPS を使用するメールアドレスを生成するように、ロードバランサと Edge UI を構成する必要があります。
ロードバランサを構成するには、Edge UI に転送されるリクエストに次のヘッダーが設定されていることを確認します。
X-Forwarded-Proto: https
Edge UI を構成するには:
- エディタで
/opt/apigee/customer/application/ui.propertiesファイルを開きます。ファイルが存在しない場合は作成します。vi /opt/apigee/customer/application/ui.properties
ui.propertiesで次のプロパティを設定します。conf/application.conf+trustxforwarded=true
- 変更を
ui.propertiesに保存します。 - Edge UI を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
オプションの TLS プロパティの設定
Edge UI は、次の設定に使用できるオプションの TLS 構成プロパティをサポートしています。
- デフォルトの TLS プロトコル
- サポートされている TLS プロトコルのリスト
- サポートされている TLS アルゴリズム
- サポートされている TLS 暗号
これらのオプション パラメータは、 構成ファイルを使用して TLS を構成するで説明されているように、構成ファイルで次の構成プロパティを設定した場合にのみ使用できます。
TLS_CONFIGURE=y
次の表でこれらのプロパティを説明します。
| プロパティ | 説明 |
|---|---|
TLS_PROTOCOL
|
Edge UI のデフォルトの TLS プロトコルを定義します。デフォルトでは TLS 1.2 です。有効な値は TLSv1.2、TLSv1.1、TLSv1 です。 |
TLS_ENABLED_PROTOCOL
|
有効なプロトコルのリストをカンマ区切りの配列として定義します。次に例を示します。 TLS_ENABLED_PROTOCOL=[\"TLSv1.2\", \"TLSv1.1\", \"TLSv1\"] 「"」文字をエスケープする必要があることに注意してください。
デフォルトでは、すべてのプロトコルが有効になっています。 |
TLS_DISABLED_ALGO
|
無効な暗号スイートを定義します。また、TLS handshake で小さな鍵サイズが使用されないようにするためにも使用できます。デフォルト値はありません。
TLS_DISABLED_ALGO=EC\ keySize\ <\ 160,RSA\ keySize\ <\ 2048 |
TLS_ENABLED_CIPHERS
|
使用可能な TLS 暗号のリストをカンマ区切りの配列として定義します。次に例を示します。 TLS_ENABLED_CIPHERS=[\"TLS_DHE_RSA_WITH_AES_128_CBC_SHA\", \"TLS_DHE_DSS_WITH_AES_128_CBC_SHA\"] 「"」文字をエスケープする必要があることに注意してください。
有効な暗号のデフォルト リストは次のとおりです。 "TLS_DHE_RSA_WITH_AES_256_CBC_SHA", "TLS_DHE_RSA_WITH_AES_128_CBC_SHA", "TLS_DHE_DSS_WITH_AES_128_CBC_SHA", "TLS_RSA_WITH_AES_256_CBC_SHA", "TLS_RSA_WITH_AES_128_CBC_SHA", "SSL_RSA_WITH_RC4_128_SHA", "SSL_RSA_WITH_RC4_128_MD5", "TLS_EMPTY_RENEGOTIATION_INFO_SCSV" 使用可能な暗号の一覧については、こちらをご覧ください。 |
TLS プロトコルの無効化
TLS プロトコルを無効にするには、構成ファイルを使用した TLS の構成で説明されているように、構成ファイルを次のように編集する必要があります。
- エディタで構成ファイルを開きます。
- 1 つの TLS プロトコル(TLSv1.0 など)を無効にするには、構成ファイルに次の行を追加します。
TLS_CONFIGURE=y TLS_DISABLED_ALGO="tlsv1"
複数のプロトコル(TLSv1.0 と TLSv1.1 など)を無効にするには、構成ファイルに次の行を追加します。
TLS_CONFIGURE=y TLS_DISABLED_ALGO="tlsv1, tlsv1.1"
- 変更を構成ファイルに保存します。
- 次のコマンドを実行して TLS を構成します。
/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile
configFile は、構成ファイルのフルパスです。
- Edge UI を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
セキュア Cookie を使用する
Apigee Edge for Private Cloud では、Edge UI からのレスポンスの Set-Cookie ヘッダーに secure フラグを追加できます。このフラグが存在する場合、Cookie は TLS 対応チャネル経由でのみ送信できます。この属性がない場合、Cookie は安全かどうかに関係なく、任意のチャネルを介して送信できます。
secure フラグのない Cookie を使用すると、攻撃者が Cookie をキャプチャして再利用したり、アクティブなセッションを乗っ取ったりする可能性があります。したがって、この設定を有効にすることをおすすめします。
Edge UI Cookie の secure フラグを設定するには:
- テキスト エディタで次のファイルを開きます。
/opt/apigee/customer/application/ui.properties
ファイルが存在しない場合は作成します。
- 次の例に示すように、
ui.propertiesファイルでconf_application_session.secureプロパティをtrueに設定します。conf_application_session.secure=true
- 変更を保存します。
- 次の例に示すように、
apigee-sericeユーティリティを使用して Edge UI を再起動します。/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
変更が機能していることを確認するには、curl などのユーティリティを使用して、Edge UI からのレスポンス ヘッダーを確認します。次に例を示します。
curl -i -v https://edge_UI_URL
ヘッダーには、次のような行が含まれている必要があります。
Set-Cookie: secure; ...
Edge UI で TLS を無効にする
Edge UI で TLS を無効にするには、次のコマンドを使用します。
/opt/apigee/apigee-service/bin/apigee-service edge-ui disable-ssl