EUMサーバーの保護

実稼働環境(スプリットホスト)の 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
  2. RSA暗号化を使用した一意の新しいキーペアを持つ、新しいキーストアを作成します。
    ../jre/bin/keytool -genkey -keyalg RSA -validity <validity_in_days> -alias 'eum-processor' -keystore bin/mycustom.keystore

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

    警告: インストールプロセス中に要求される「姓名」は、証明書のコモンネーム(CN)になります。サーバの名前を使用します。
  3. キーストアを構成します。
  4. キーストア用のパスワードを指定します。後から EUM 構成ファイルでこのパスワードを構成する必要があります。
  5. 次のように、証明書の署名リクエスト(CSR)を作成します。
    ../jre/bin/keytool -certreq -keystore bin/mycustom.keystore -file /tmp/eum.csr -alias 'eum-processor'

    これにより、エイリアス(例では「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

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

  7. 次のように署名済みサーバー証明書をインストールします。
    ../jre/bin/keytool -import -keystore bin/mycustom.keystore -file /path/to/signed-cert.txt  -alias 'eum-processor'

    このコマンドにより、既存のエイリアス(例では「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
  2. EUMのプロセスを停止します。以下のコマンドを実行します:
    bin/eum.sh stop
  3. 既存のカスタムJKSキーストアがある場合はバックアップします。
    mv <keystore>.jks <keystore>.jks.old
  4. 以下のように、PKCS12キーストアに証明書の秘密鍵と公開鍵をインポートします。
    openssl pkcs12 -inkey <private_key_file> -in <certificate_file> -export -out keystore.p12
  5. PKCS12キーストアをJKSフォーマットに変換します。
    keytool -importkeystore -srckeystore keystore.p12 -srcstoretype pkcs12 -destkeystore <JKS_keystore> -deststoretype JKS

    このコマンドにより、-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-proccessor ディレクトリで以下のコマンドを実行し、難読化されたパスワードを取得します。
        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
  2. ブラウザで以下のページを開き、新しいセキュリティ証明書が機能していることを確認します。
    https://<hostname>:7002/eumcollector/get-version

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

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

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

  1. コマンドプロンプトで、eum-processor ディレクトリに移動します。
    cd <appdynamics_home>/EUM/eum-processor
  2. keytool コマンドを実行して新しいパスワードを作成します。
    ../jre/bin/keytool -storepasswd -keystore bin/ssugg.keystore

    サンプルのコマンドでは、デフォルトのデモキーストアである 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
  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.properties 内の onprem.credentialKey の値をクリップボードの値に置き換えます。
  8. プロパティファイルを保存して閉じます。
  9. EUMサーバーを再起動します。

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

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

  1. コマンドプロンプトで、eum-processor ディレクトリに移動します。
    cd <appdynamics_home>/EUM/eum-processor
  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サーバーを再起動します。