オンプレミスの Edge での TLS/SSL の構成

Edge for Private Cloud v4.18.05

TLS(Transport Layer Security)は、アプリ、Apigee Edge、バックエンド サービスといった API 環境全体で安全かつ暗号化されたメッセージングを実現するための標準セキュリティ テクノロジーです。

管理 API の環境構成(管理 API の前にあるプロキシ、ルーター、ロードバランサなど)に関係なく、Edge では TLS を有効にして構成し、オンプレミスの API 管理環境でメッセージの暗号化を制御できます。

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

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

最初の 3 つのアイテムに TLS を構成する方法については、以下で説明します。この手順はすべて、TLS 証明書と秘密鍵を含む JKS ファイルを作成していることを前提としています。

アプリから API にアクセスするための TLS を構成するには、Private Cloud 用 API への TLS アクセスの構成をご覧ください。Edge からバックエンド サービスへのアクセスの TLS を構成するには、上記 #5 の Edge からバックエンドへの TLS の構成(Cloud、Private Cloud)をご覧ください。

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

JKS ファイルの作成

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

たとえば、TLS 証明書を含む server.pem という名前の PEM ファイルと、秘密鍵を含む 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 の構成など、キーエイリアスを指定する必要がある場合は、openssl コマンドに -name オプションを含めます。

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

次に、keytool コマンドに -alias オプションを含めます。

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 で指定された難読化パスワードを使用します。

詳しくは、こちらの記事をご覧ください。