TLS / SSL の構成

Edge for Private Cloud v4.19.01

TLS(Transport Layer Security、前身は SSL)は、アプリから Apigee Edge を通じてバックエンド サーバーに至るまでの API 環境全体で暗号化された安全なメッセージングを実現する標準的なセキュリティ技術です。

Management API の環境構成に関係なく(たとえば、Management API の前でプロキシ、ルーター、ロードバランサなどを使用しているか否かに関係なく)、Edge では TLS を有効にして構成できます。これにより、オンプレミスの API 管理環境でメッセージの暗号化を制御できます。

Edge for Private Cloud のオンプレミス環境では、次のような複数の場所で TLS を構成できます。

  1. Router と Message Processor の間
  2. Edge Management API へのアクセス
  3. Edge 管理 UI へのアクセス
  4. New Edge エクスペリエンスへのアクセス
  5. アプリから API へのアクセス
  6. Edge からバックエンド サービスへのアクセス

Edge での TLS 構成の概要については、TLS / SSL をご覧ください。

JKS ファイルの作成

多くの TLS 構成では、キーストアとして JKS ファイルを使用します。このキーストアには TLS 証明書と秘密鍵が格納されます。JKS ファイルの作成方法はいくつかありますが、ここでは openssl と keytool ユーティリティを使用します。

たとえば、server.pem という PEM ファイルに TLS 証明書が含まれ、private_key.pem という PEM ファイルに秘密鍵が含まれているとします。次のコマンドを使用して、PKCS12 ファイルを作成します。

openssl pkcs12 -export -clcerts -in server.pem -inkey private_key.pem -out keystore.pkcs12

鍵のパスフレーズ(設定されている場合)とエクスポート パスワードを入力します。このコマンドにより、keystore.pkcs12 という名前の PKCS12 ファイルが作成されます。

次のコマンドを使用して、keystore.jks という名前の JKS ファイルに変換します。

keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks

JKS ファイルの新しいパスワードと PKCS12 ファイルの既存のパスワードを入力するように指示されます。JKS ファイルには PKCS12 ファイルと同じパスワードを使用してください。

キーのエイリアスが必要になる場合(Router と Message Processor 間で TLS を構成する場合など)には、-name オプションを指定して openssl コマンドを実行します。

openssl pkcs12 -export -clcerts -in server.pem -inkey private_key.pem -out keystore.pkcs12 -name devtest

次に、-alias オプションを指定して keytool コマンドを実行します。

keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks -alias devtest

難読化されたパスワードの生成

Edge で TLS を構成する手順で、構成ファイルに難読化されたパスワードの入力が必要になる場合があります。難読化されたパスワードは、パスワードをプレーン テキストで入力する場合よりも安全です。

難読化されたパスワードを生成するには、Edge Management Server で次のコマンドを使用します。

/opt/apigee/apigee-service/bin/apigee-service edge-management-server generate-obfuscated-password

新しいパスワードを入力します。確認のプロンプトが表示されたら、同じパスワードをもう一度入力します。セキュリティ上の理由から、パスワードのテキストは表示されません。このコマンドを実行すると、パスワードが次の形式で返されます。

OBF:58fh40h61svy156789gk1saj
    MD5:902fobg9d80e6043b394cb2314e9c6

TLS を構成する場合は、OBF で指定され、難読化されたパスワードを使用します。

詳細については、こちらの記事をご覧ください。