管理 UI の TLS の構成

Edge for Private Cloud v4.19.01

デフォルトでは、Edge 管理 UI には、プロジェクトの IP アドレスを使用して HTTP Management Server ノードとポート 9000。例:

http://ms_IP:9000

または、TLS アクセスを設定して管理 UI にアクセスし、 次のフォームを使用します。

https://ms_IP:9443

この例では、ポート 9443 を使用するように TLS アクセスを構成します。ただし、このポート番号は 他のポート値を使用するように Management Server を構成できます。唯一の 要件は、指定したポートでトラフィックを許可することです。

TLS ポートが開いていることを確認する

このセクションの手順では、Management Server でポート 9443 を使用するように TLS を構成します。 使用するポートにかかわらず、Google Cloud 管理マシンでそのポートが できます。たとえば、次のコマンドを使用して開くことができます。

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9443 -j ACCEPT --verbose
<ph type="x-smartling-placeholder">

TLS の構成

管理 UI への TLS アクセスを構成するには、次の操作を行います。

  1. TLS 証明書と秘密鍵を含むキーストア JKS ファイルを生成し、 Management Server ノードにアタッチします。詳細については、オンプレミスの Edge での TLS/SSL の構成をご覧ください。
  2. 次のコマンドを実行して TLS を構成します。
    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl
  3. HTTPS ポート番号(9443 など)を入力します。
  4. 管理 UI への HTTP アクセスを無効にするかどうかを指定します。デフォルトでは、 UI にはポート 9000 の HTTP 経由でアクセスできます。
  5. キーストア アルゴリズムを入力します。デフォルトは JKS です。
  6. キーストア JKS ファイルの絶対パスを入力します。

    このスクリプトにより、ファイルが VM の /opt/apigee/customer/conf ディレクトリにコピーされます。 Management Server ノードで更新し、ファイルの所有権を「apigee」に変更します。

  7. 平文のキーストア パスワードを入力します。
  8. その後、スクリプトによって Edge 管理 UI が再起動されます。再起動すると、管理 UI に サポートしています。

    これらの設定は /opt/apigee/etc/edge-ui.d/SSL.sh で確認できます。

構成ファイルを使用した TLS の構成

上記の手順の代わりに、構成ファイルをコマンドに渡すこともできます。 します。複数の異なる IP アドレスを オプションの 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 プロトコルを使用します。 外部 IP アドレスを使用するメールアドレスが生成されるように、ロードバランサと Edge UI を構成する必要があります。 提供します。

ロードバランサを構成するには、転送されるリクエストに次のヘッダーが設定されていることを確認します。 次の操作を行います。

X-Forwarded-Proto: https

Edge UI を構成するには:

  1. /opt/apigee/customer/application/ui.properties を開きます。 見てみましょう。ファイルが存在しない場合は作成します。
    vi /opt/apigee/customer/application/ui.properties
  2. ui.properties で次のプロパティを設定します。
    conf/application.conf+trustxforwarded=true
  3. 変更を ui.properties に保存します。
  4. 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_DISABLED_ALGO に渡される値は、使用可能な値に対応しています。 jdk.tls.disabledAlgorithmsこちらをご覧ください。 ただし、TLS_DISABLED_ALGO を設定するときは、スペース文字をエスケープする必要があります。

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. エディタで構成ファイルを開きます。
  2. 単一の TLS プロトコル(TLSv1.0 など)を無効にするには、次の行を追加します。 次のように構成ファイルに追加します。
    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1"

    複数のプロトコル(TLSv1.0 と TLSv1.1 など)を無効にするには、 構成ファイルに以下を追加します。

    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1, tlsv1.1"
  3. 変更を構成ファイルに保存します。
  4. 次のコマンドを実行して TLS を構成します。
    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile

    ここで、configFile は構成ファイルのフルパスです。

  5. Edge UI を再起動します。
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

安全な Cookie を使用する

Apigee Edge for Private Cloud では、Set-Cookie ヘッダーに secure フラグを追加できます。 レスポンスを返します。このフラグが存在する場合、Cookie は TLS 対応チャネル。存在しない場合、Cookie はあらゆるチャネルを介して送信されます。 判断できます

secure フラグのない Cookie を使用すると、攻撃者によってキャプチャや 有効なセッションを乗っ取られたりそのため、この機能を有効にするのがベスト プラクティスです。 設定されます。

Edge UI の Cookie に secure フラグを設定するには:

  1. テキスト エディタで次のファイルを開きます。
    /opt/apigee/customer/application/ui.properties

    ファイルが存在しない場合は作成します。

  2. 次のコマンドで、conf_application_session.secure プロパティを true に設定します。 ui.properties ファイルをインポートします。
    conf_application_session.secure=true
  3. 変更を保存します。
  4. 次の例のように apigee-serice ユーティリティを使用して Edge UI を再起動します。 表示されます。
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

変更が機能していることを確認するには、次のコマンドを使用して Edge UI からレスポンス ヘッダーを確認します。 curl などのユーティリティ。次に例を示します。

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