Enterprise Console用HTTPSサポート
自己署名キーストアファイルを使用する Enterprise Console では、組み込みの HTTPS がサポートされています。Enterprise Console は、新規インストールまたはアップグレード時の選択に基づいて、HTTP または HTTPS のいずれかをサポートします。HTTPS から HTTP に戻るか、またはその逆に元に戻すように、Enterprise Console をいつでも再設定することができます。
Enterprise Console の SSL と証明書について
Enterprise Console には HTTPS クライアント用として、標準的な証明書が含まれる Mozilla の最新のトラストストアである cacerts.jks がパッケージされています。Enterprise Console は、自己署名が含まれる keystore.jks ファイルを作成します。自己署名証明書はインストール時またはアップグレード時に cacerts.jks にインポートされます。
実稼働環境での使用においては、自己署名証明書をサードパーティの CA または独自の内部 CA により署名された証明書に置き換えることを推奨します。
このページでは以下について説明しています。
- Enterprise Console のインストールまたはアップグレード時に HTTPS を有効にする方法
- 証明書を署名済みのものに更新する方法
- キーストアの認証情報のカスタマイズ方法
デフォルトのキーストアから既存のアーティファクトを初めてエクスポートし、それを独自のキーストアにインポートする場合を除いては、キーストアの内容をすべて置き換えることは推奨されません。
自己署名証明書をご自身で作成することも推奨しません。
セキュリティを実装する正確な手順は、通常、組織のセキュリティポリシーにより異なります。たとえば、組織のドメインに使用するワイルドカード証明書など、使用する署名付き証明書が組織にすでに存在する場合は、Enterprise Console の update-certificate コマンドを使用してキーストアにインポートできます。それ以外の場合は、証明書署名要求とともに新しい証明書を取得できます。
はじめに
Linuxマシンでは、Enterprise Consoleはcurlを使用してアプリケーションのURLの、レスポンスの状態を確認します。そのためSSLを動作させるためにはNSSパッケージの最新版が必要になります。
たとえば、次のコマンドでCentOSのNSSパッケージを最新版に更新できます。
yum update nss
Enterprise Consoleの新規インストール時におけるHTTPSの有効化
Enterprise Console のインストール時に HTTPS を有効にするには、優先する接続タイプとして HTTPS を選択します。
サーバーで実行されているサービスに関する詳細情報を表示するには、次の手順を実行します。 type: simple connector: type: encrypted-https # encrypted-https は Enterprise Console でのカスタマイズされた HTTPS コネクタタイプであり、キーストアのパスワードは暗号化されています。 port: 9191 # 削除しないでください。代替は 8080 keyStorePath: /appdynamics/platform-admin/conf/keys/keystore.jks keyStorePassword: s_-001-12-v/yKyIweuGQ=iLpBEDTqfP7vj++WP+MKEg== trustStorePath: /appdynamics/platform-admin/conf/keys/cacerts.jks trustStorePassword: s_-001-12-hdLwJEOZbns=kDmS/pLvq2A43iCWLJEcTg== certAlias: ec-server # キーストアファイルの証明書エイリアス名を変更しないでください。 validateCerts: false supportedProtocols: [TLSv1.2] bindHost: 0.0.0.0 applicationContextPath: /
Enterprise Consoleのアップグレード時におけるHTTPSの有効化
バージョン4.4.3から4.5または4.5以降へのアップグレード時に、HTTPからHTTPSに切り替えることができます。既存のEnterprise Consoleインスタンスについては、Enterprise Consoleアプリケーションを再インストールすることでHTTPSを有効にすることもできます。
- 次の手順に従って、Enterprise Console をアップグレードします。
- アップグレードを完了させます。
- オプション:自己署名証明書は Enterprise Console によって作成され、SSL は新規インストールの場合と同様に構成されます。この自己署名証明書はサードパーティの CA が署名した証明書に置き換えることができます。「署名済み証明書への更新」を参照してください。
HTTPSをサポートするEnterprise Consoleを今後リリースされるバージョンにアップグレードする際、Enterprise Consoleには以下のような決まりごとがあります。
- 自己署名証明書を使用したアップグレード(Enterprise Console にインストールされた証明書):通常、Enterprise Console は、新しい自己署名証明書を使用して、新しい
keystore.jksを再作成し、<EC_installationDir>/conf/keysフォルダ内で新しい自己署名証明書を使用して、cacerts.jksファイルを更新します。 - 署名付き証明書を使用したアップグレード:Enterprise Console は署名付き証明書を変更しないため、アップグレード前の状態のままとなります。注:プライベート IP/ホスト名から管理者応答用 varfile 内の
serverHostNameをパブリック IP に変更しないでください(前の Enterprise Console 新規インストールまたはアップグレードのserverHostNameとしてプライベート IP/ホスト名を使用した場合)。それ以降、Enterprise Console では、署名付き証明書がサポートされなくなります。この制限は、署名付き証明書を使用したアップグレードにのみ適用されます。 -
カスタマイズされたキーストア/トラストストアのパスとパスワードを使用したアップグレード:Enterprise Console は、
.jksファイルが<EC_installationDir>/conf/keysフォルダ内にある場合にのみ .jks ファイルをバックアップします。.jksファイルを移動したりパスワードを変更したりした場合でも、Enterprise Console によって、アップグレード前のPlatformAdminApplicationl.yml内のキーストア/トラストストアのパスおよびパスワードが復元されます。警告: .jksファイルを別の場所に移すとEnterprise Consoleによってファイルがバックアップされなくなるため、保存場所の変更は推奨されません。
SAN 展開での Enterprise Console の HTTPS の設定
AWS でサブジェクト代替名(SAN)用に導入された Enterprise Console の HTTPS を設定するには、san.cnf ファイルからキーを生成する必要があります。次の手順では、Enterprise Console の複数のホスト名とエイリアスを san.cnf ファイルに入力し、それを使用してキーを生成する方法について示します。
キーストアの認証情報のカスタマイズ方法
キーストアの証明書をカスタマイズできます。カスタマイズしたキーストア/トラストストアのパスワードは、Enterprise Console で保持されます。
<EC_installationDir>/conf/keys ディレクトリにそのファイルを置きます。<EC_installationDir>/conf/keys 以外の場所にファイルを保存すると、バックアップされない場合があるため、推奨されません。Enterprise Console のキーストアコンテンツを変更する場合は、change-keystore-password コマンドを再実行して暗号化しなおす必要があります。再暗号化した後は Enterprise Console の再起動が必要になります。詳細については、「コントローラ Secure Credential Store」を参照してください。
暗号化されたパスワードの取得
.jks ファイルのパスワードを更新できます。更新する場合は、PlatformAdminApplication.yml ファイル内のパスワードも更新する必要があります。
PlatformAdminApplication.yml ファイルの supportedProtocols は変更しないでください。暗号化されたパスワードを取得する場合、次のようにします。
- ステップ 4 で使用するために生成されたパスワードをメモしておきます。
- Enterprise Console で動作する keystore.jks ファイルの場合、storepass と keypass を同じにする必要があります。
-
Enterprise Console CLI を使用して新しいパスワードを暗号化します。
./platform-admin.sh encrypt -t '<plain_text_password>'
-
手順 1 の
<plain_text_password>を使用して、keystore.jks のストアパスを変更します。keytool -storepasswd -keystore keystore.jks
-
手順 1 の
<plain_text_password>を使用して、keystore.jksのec-server keypassを変更します。keytool -keypasswd -alias ec-server -keystore keystore.jks
-
暗号化されたパスワードを使用して、キー "keyStorePassword" の Enterprise Console Dropwizard 確認
ymlファイル(PlatformAdminApplication.yml)を更新します。 - Enterprise Consoleを再起動します。
署名済み証明書への更新
Enterprise Console で作成されたビルトイン自己署名証明書は、適切な認証局が発行する CA 署名証明書に更新できます。
ほとんどのLinuxディストリビューションにはOpenSSLが付属しています。Windows を使用している場合、または Linux ディストリビューションに OpenSSL が付属していない場合は、OpenSSL の Web サイトから詳細情報を入手してください。
SSL使用の確認
Enterprise Console GUIにログインしてHTTPSサポートが機能しているかをテストできます。
構成が正常に動作していることを確認するには、ブラウザを使用してデフォルトのセキュアポートであるポート9191を介してEnterprise Consoleに接続します。
https://<hosthame>:9191Enterprise Console のインストール時に使用したホスト名を指定します。デフォルトポートは9191です。このポートは、どこからでもアクセスできるよう、ファイアウォールのルールから除外する必要があります。詳細については、「ポート設定」を参照してください。
Enterprise Consoleのエントリページが正常にブラウザにロードされることを確認してください。
Enterprise Console CLI でコマンドを実行して、構成が有効になっているかを確認することもできます。
期限切れの証明書
証明書の期限が切れていても Enterprise Console の CLI は動作しますが、期限切れを知らせる警告が表示されます。
期限切れの証明書によるアップグレードへの影響はありません。証明書の有効期限が切れていることを知らずにEnterprise Consoleをアップグレードしたとしても、プロセスは正常に終了します。
Enterprise Console の自己署名証明書はコンソールアプリケーションを再インストールすることで更新できます。独自の自己署名証明書を使用する場合は、CA から新しい証明書を取得し、署名付き証明書への更新から CLI コマンドを実行できます。
Enterprise Console設定のHTTPへの切り戻し
Enterprise Consoleアプリケーションを再インストールすれば、HTTPSのサポートをフォールバックしてHTTPに切り替えることができます。
- 次の手順に従って、Enterprise Console をアップグレードします。
- アップグレードを完了させます。
<EC_installationDir>/conf/keys 内にあるすべての自己署名証明書または署名付き証明書をバックアップします。ただし、keystore.jks と truststore.jks を任意の場所に手動で移動した場合は、カスタマイズした証明書と SSL 関連ファイルを、アップグレード前にご自身でバックアップする必要があります。SSL に関するよくある問題のトラブルシューティング
このセクションでは、Enterprise ConsoleのSSLに関するよくある問題をいくつか紹介しています。トラブルシューティングを始める前に、CLI コマンドを実行しているセクションの platform-admin.sh の -Djavax.net.debug=ssl を有効にしておくと問題解決に役立つ場合があります。
Enterprise Console CLIに関する問題
Enterprise Console のインストールまたはアップグレードが正常に完了したにもかかわらず CLI が動作しない場合、CLI はインストーラの varfile に入力した serverHostName が有効な値であることを確認するように促します。エラーメッセージには、「Hostname %s not verified」と表示されます。
拡張フィールドがない証明書に関する問題
拡張子フィールドのない証明書(特に、無料の署名付き証明書)は機能しません。KeyUsage エラーが発生します。適格な CA 認証局からの署名付き証明書のみを使用する必要があります。
Enterprise Consoleの再起動に関する問題
Linux マシンの NSS パッケージは最新版に更新する必要があります。最新の状態になっていない場合、Enterprise Consoleが再起動できない場合があります。詳しくは、「はじめに」を参照してください。