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

Edge for Private Cloud バージョン 4.17.05

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

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

Edge 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 からバックエンド サービスへのアクセス(上記の 5)に TLS を構成するには、Edge からバックエンドへの TLS の構成(Cloud、Private Cloud)をご覧ください。

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

JKS ファイルの作成

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

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

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