実稼働環境(スプリットホスト)の EUM サーバーのインストールで HTTPS 接続を使用する場合、EUM サーバー用にカスタムの RSA セキュリティ証明書を使用します。このページでは、RSA セキュリティ証明書を作成する方法と認証キーストア用のパスワードを変更する方法、セキュリティ証明書キーストアのパスワードを難読化する方法を説明します。   

実稼働用カスタムキーストアの設定

デモモードでは、EUM サーバーに ssugg.keystore という名前のデフォルトの自己署名証明書が含まれています。この証明書はデモンストレーションおよびライトテストのみを目的としています。自己署名証明書は証明局(CA)署名済み証明書に比べて安全性に劣るため、実稼働システムには使用しないでください。EUM では、証明書が自己署名でも CA 署名でも、キーアルゴリズムとして RSA を使用する必要があります。  

モバイル リアル ユーザー モニタリングでは、テスト用に EUM サーバーでデフォルトまたは別の自己署名証明書を使用する場合に、「The certificate for this server is invalid」というエラーが表示されることがあります。この場合は、自己署名証明書が、テストに使用するシミュレーターまたはデバイスに信頼されていることを確認してください。実際のシナリオでは、自己署名証明書は EUM プロセッサに報告を行うすべてのデバイスに明示的に信頼されている必要があるため、CA 署名済み証明書を使用する必要があります。 

カスタム証明書とキーストアで EUM サーバーを保護するには、新しい JKS キーストアを作成し、そのキーストアを使用するよう EUM サーバーを構成します。

以下の手順では、新しいキーペアまたは既存のキーペアを使用するEUMサーバー用のJKSキーストアの作成方法を説明しています。または既存のJKSキーストアを使用するようEUMサーバーを構成することもできます。

この手順はLinuxのコマンドラインでの流れを説明したものですが、Windowsでも同じようなコマンドを使用します。ご使用のオペレーティングシステムに合わせてパスを調整してください。 

手順の概要

手順は3つのパートに分かれています。

  1. 新しい証明書とキーストアを作成(1a)するか、既存の証明書をキーストアにインポート(1b)します。  
  2. キーストアを使用するよう、EUMサーバーを構成します。
  3. 再起動して新しいキーストアをテストします。

ステップ1a:新しい証明書とキーストアの作成

  1. コマンドプロンプトで、eum-processor ディレクトリに移動します。

    cd <appdynamics_home>/EUM/eum-processor
    CODE
  2. RSA暗号化を使用した一意の新しいキーペアを持つ、新しいキーストアを作成します。

    ../jre/bin/keytool -genkey -keyalg RSA -validity <validity_in_days> -alias 'eum-processor' -keystore bin/mycustom.keystore
    CODE

    これにより、'eum-processor' のエイリアスを持つ新しい公開キーと秘密キーのペアが作成されます。エイリアスには任意の値を使用できます。 

    インストールプロセス中に要求される「姓名」は、証明書のコモンネーム(CN)になります。サーバーの名前を使用します。

  3. キーストアを構成します。
  4. キーストア用のパスワードを指定します。後から EUM 構成ファイルでこのパスワードを構成する必要があります。  
  5. 次のように、証明書の署名リクエスト(CSR)を作成します。

    ../jre/bin/keytool -certreq -keystore bin/mycustom.keystore -file /tmp/eum.csr -alias 'eum-processor'
    CODE

    これにより、エイリアス(例では 'eum-processor')のコンテンツに基づいて証明書署名要求が作成されます。署名のために出力ファイル(例では /tmp/eum.csr)を認証局(CA)に送信する必要があります。署名入り証明書を受け取ったら、次に進んでください。

  6. 以下のように、.csr ファイルの署名に使用した認証局の証明書をインストールします。

    ../jre/bin/keytool -import -trustcacerts -alias myorg-rootca -keystore bin/mycustom.keystore -file /path/to/CA-cert.txt
    CODE

    このコマンドにより、認証局(CA)のルート証明書がキーストアにインポートされ、myorg-rootca というエイリアスに保存されます。

  7. 次のように署名済みサーバー証明書をインストールします。

    ../jre/bin/keytool -import -keystore bin/mycustom.keystore -file /path/to/signed-cert.txt  -alias 'eum-processor'
    CODE

    このコマンドにより、既存のエイリアス(例では 'eum-processor')の自己署名証明書の一番上に、署名入り証明書がインポートされます。

  8. 以下のように、ステップ6のルート証明書をコントローラのトラストストアにインポートします。

    keytool -import -trustcacerts -alias <alias_name> -file mycert.cer -keystore <complete_path_to_cacerts.jks>

ステップ1b:JKSキーストアへ既存の証明書をインポート

RSAを使用した、既存の公開鍵と秘密鍵のキーペアがあり、それをEUMで使用する場合は、そのキーペアをJKSキーストアにインポートする必要があります。

  1. コマンドプロンプトで、eum-processor ディレクトリに移動します。

    cd <appdynamics_home>/EUM/eum-processor
    CODE
  2. EUMのプロセスを停止します。

    次のコマンドを実行します。

    bin/eum.sh stop
    CODE
  3. 既存のカスタムJKSキーストアがある場合はバックアップします。

    mv <keystore>.jks <keystore>.jks.old
    CODE
  4. 以下のように、PKCS12キーストアに証明書の秘密鍵と公開鍵をインポートします。

    openssl pkcs12 -inkey <private_key_file> -in <certificate_file> -export -out keystore.p12
    CODE
  5. PKCS12キーストアをJKSフォーマットに変換します。

    keytool -importkeystore -srckeystore keystore.p12 -srcstoretype pkcs12 -destkeystore <JKS_keystore> -deststoretype JKS
    CODE

    このコマンドにより、-destkeystore プロパティで指定された名前を持つ JKS キーストアが作成されます。

  6. キーストア用のパスワードを指定します。新しいキーストアを使用するようにEUMを構成する場合は、このパスワードを使用します。

ステップ2:新しいキーストアを使用するようEUMサーバーを構成

  1. ディレクトリ <appdynamics_home>/EUM/eum-processor/bin に新しいキーストアファイルを置きます。

  2. bin ディレクトリの eum.properties ファイルを編集します。

  3. プロパティ processorServer.keyStorePassword が設定されている場合は、削除するかコメント解除します。
  4. キーストアのファイル名を以下のプロパティとして追加します。

    processorServer.keyStoreFileName=mycustom.keystore
  5. キーストア用のパスワードを構成します。プレーンテキストまたは難読化された形式のいずれかでファイルにパスワードを追加できます。
    • プレーンテキストのパスワードの場合は、次のプロパティの値としてパスワードを追加します。

      processorServer.keyStorePassword=mypassword
    • 難読化されたパスワードの場合:
      1. 新しいコマンドターミナルの eum-processor ディレクトリで以下のコマンドを実行し、難読化されたパスワードを取得します。

        bin/eum-credential-key.<bat|sh> obfuscate -plaintext <newpassword>
      2. コマンドの出力結果をクリップボードにコピーします。
      3. eum.properties で、難読化されたパスワードを keyStorePassword プロパティの値として貼り付けます。

        processorServer.keyStorePassword=<obfuscated_key>
      4. true に設定した useObfuscatedKeyStorePassword を、次のように追加します。

        processorServer.useObfuscatedKeyStorePassword=true
  6. ファイルを保存してテキストエディタを終了します。  

ステップ3:再起動とテスト

  1. EUMサーバーを再起動します。eum-processor ディレクトリから、以下のコマンドを実行します。

    bin/eum.sh stop
    bin/eum.sh start
    CODE
  2. ブラウザで以下のページを開き、新しいセキュリティ証明書が機能していることを確認します。

    https://<hostname>:7002/eumcollector/get-version
    CODE

    正常な応答があれば、構成は成功しています。 

認証キーストアのパスワードの変更

上記の手順では、新しいパスワードを持つ可能性のある新しいキーストアの作成方法を説明しています。新しいキーストアを作成せずにキーストアのパスワードを変更するには、次の手順を実施します。

  1. コマンドプロンプトで、eum-processor ディレクトリに移動します。

    cd <appdynamics_home>/EUM/eum-processor
    CODE
  2. keytool コマンドを実行して新しいパスワードを作成します。

    ../jre/bin/keytool -storepasswd -keystore bin/ssugg.keystore
    CODE

    サンプルのコマンドでは、デフォルトのデモキーストアである ssugg.keystore のパスワードが作成されます。実際にコマンドを使用する際は、-keystore の値をご使用の環境にあるキーストアの名前にしてください。 

  3. プロンプトが表示されたら、既存のパスワードと新しいパスワードを入力します。 

  4. eum-proccessor ディレクトリで以下のコマンドを実行し、難読化されたキーを取得します。

    bin/eum-credential-key.<bat|sh> obfuscate -plaintext <newpassword>
  5. 前のコマンドの出力結果をクリップボードにコピーします。
  6. 以下のように、eum-processor/bin ディレクトリにある eum.properties ファイルで、難読化されたパスワードを keyStorePassword プロパティの値として貼り付けます。

    processorServer.keyStorePassword=<obfuscated_key>
  7. 難読化されたパスワードを初めて使う場合は、以下のプロパティを追加します。

    processorServer.useObfuscatedKeyStorePassword=true
  8. ファイルを保存してテキストエディタを終了します。 
  9. EUMサーバーを再起動します。 

EUM データベース用認証キーストアパスワードの変更 

EUMサーバーをインストールする際、EUMサーバーの認証キーストア保護に使用するパスワードを指定する必要があります。認証キーストアのパスワードはインストール後に変更できます。たとえば、パスワードを定期的に変更するという組織のポリシーに応じるのに、その必要が出てくる場合があります。

この手順を完了させるには EUM サーバーの再起動が必要となります。  

EUMサーバーの、既存の認証キーストアのパスワードを変更するには以下のようにします。

  1. コマンドプロンプトで、eum-processor ディレクトリに移動します。

    cd <appdynamics_home>/EUM/eum-processor
    CODE
  2. 次のコマンドを使用して、新しい鍵で認証ストアを生成します。
    • Linux の場合:

      bin/eum-credential-key.sh generate_ks -storepass <new_password>
    • Windows の場合:

      bin\eum-credential-key.bat generate_ks -storepass <new_password>
    これにより新しい認証ファイル、bin/credential.scs が作成され初期化されます。 
  3. 新しい認証ストアを使用してデータベースパスワードを再暗号化します。
    • Linuxの場合:

      bin/eum-credential-key.sh encrypt -storepass <new_password> -plaintext <DB_password>
    • Windows の場合:

      bin\eum-credential-key.bat encrypt -storepass <new_password> -plaintext <DB_password>
    このコマンドは入力した DB_password 値を暗号化した形式で出力します。 
  4. 前のコマンドの出力結果をクリップボードにコピーします。  
  5. 編集する bin/eum.properties を開き、クリップボードにコピーした、暗号化された新しいパスワードで onprem.dbPassword 設定の値を置き換えます。
  6. 新しい認証キーを以下のように難読化します。
    • Linuxの場合:

      bin/eum-credential-key.sh obfuscate -plaintext <new_password>
    • Windowsの場合:

      bin\eum-credential-key.bat obfuscate -plaintext <new_password>
  7. 前のコマンドの出力結果をクリップボードにコピーし、その値で eum.propertiesonprem.credentialKey の値を置き換えます。 
  8. プロパティファイルを保存して閉じます。
  9. EUMサーバーを再起動します。 

EUMデータベースパスワードの変更

EUM サーバーをインストールする際に、EUM データベース用パスワードを設定しています。これを後で変更するには、次の手順を実行します。

  1. コマンドプロンプトで、eum-processor ディレクトリに移動します。

    cd <appdynamics_home>/EUM/eum-processor
    CODE
  2. インストール時に入力した認証キーを使い、新しいデータベースパスワードを暗号化します。
    • Linux の場合:

      bin/eum-credential-key.sh encrypt -storepass <plain_credential_key> -plaintext <New_DB_password>
    • Windows の場合:

      bin\eum-credential-key.bat encrypt -storepass <plain_credential_key> -plaintext <New_DB_password>

      このコマンドは入力した DB_password 値を暗号化した形式で出力します。

  3. 前のコマンドの出力結果をクリップボードにコピーします。 
  4. bin/eum.properties を編集し、クリップボードにコピーした、暗号化された新しいパスワードで onprem.dbPassword 設定の値を置き換えます。 
  5. プロパティファイルを保存して閉じます。
  6. EUMサーバーを再起動します。