Skip to main content

HTTPSの設定

デフォルトでは、Contrastとエージェント間の接続にHTTPが使用されます。必要に応じて、Contrastとエージェントの両方の通信でHTTPをHTTPSに追加または置き換えます。これはTomcatのコネクタ機能で実現できます。これを行う方法は2つあります。

  • Contrast HTTPSコネクタ:証明書をJavaキーストアに追加して、指定したポートでHTTPS接続するようにContrastを設定します。

  • リバースプロキシ方式:ApacheやNGINXなどの標準WebサーバをContrastサーバの前面に構築し、ContrastのAJPコネクタを使用してリバースプロキシとなるように設定します。

icon-external-link.svgオンプレミス版のContrastサーバでTLSバージョンや暗号スイートを変更する方法で説明しているように、設定をさらにカスタマイズすることもできます。

重要

以下の手順では、全体を通して1つのパスワードのみを使用することが重要です。CA(認証局)から提供されたファイルのいずれかがパスワードで保護されている場合は、そのパスワードを削除するか(CAはこれをサポートしています)、生成されるJavaキーストア(JKS)ファイルに同じパスワードを使用する必要があります。

Contrast HTTPSコネクタの使用方法

以下の手順で、オンプレミス版のContrastサーバが使用する署名付き証明書を含むJavaキーストア(JKS)を作成します。

注記

自己署名証明書でHTTPSコネクタを使用することもできます。

この場合、まずキーストアを作成し、それを証明書署名要求(CSR)のベースとして使用します。

重要

CA(認証局)から、CSRの生成元と同じキーストアにインポートする必要があるファイルが提供されます。

  1. Javaのkeytoolコマンドを使用して、contrast-serverというエイリアス名で証明書の秘密鍵と公開鍵を含むJavaキーストア(JKS)ファイル(例、contrast.jks)を作成します。

    keytool -genkeypair -alias contrast-server -keyalg RSA -keystore contrast.jks

    注記

    キーストアを作成する時に、使用しているJavaのバージョンによっては、最初のプロンプトで「What is your first and last name?」というメッセージが表示されて、名前と名字を入力するよう要求される場合があります。共通名(Common Name)、つまり証明書が発行される完全修飾名(FQDN)を入力します。例えば、名前と名字ではなく、mydomain.comなどを使用します。

  2. 証明書署名要求(CSR)ファイル(contrast.csr)を生成します。必要に応じて、DNS名やIPアドレスのフィールドを追加して、証明書にSubject Alternative Names(サブジェクトの別名)を含めることができます。

    keytool -certreq -alias contrast-server -file contrast.csr -keystore contrast.jks -ext san=dns:your_hostname.your_company.com,ip:10.0.0.1
  3. 生成した証明書署名要求(CSR)ファイルをCA(認証局)に送信します。CA(認証局)から、PEM形式の複数ファイルか、PCKS#7形式の1ファイルのいずれかが提供されます。

  4. CAから提供されたファイルをJavaキーストア(JKS)にインポートします。以下の手順を、提供されたファイルの形式に合わせて使用してください。

    • 複数のPEM形式ファイル:これらのファイルの拡張子は、.CRTまたは.PEMです(PEMファイルは読み取り可能なテキストとして開けます)。そのうち1つにはサーバ証明書が含まれ、その他のファイルはルート証明書と中間証明書が含まれることになります。

      これらの証明書は、上位(ルート証明書)から順にキーストアにインポートし最後にサーバ証明書をインポートする必要があります。サーバ証明書には、キーストアの作成時に使用したものと同じエイリアス名が必要です。例えば、root.cer、 inter.cerserver.cerが提供された場合は次のようにインポートします。

      keytool -import -trustcacerts -alias root -file root.cer -keystore contrast.jks
      keytool -import -trustcacerts -alias intermediate -file inter.cer -keystore contrast.jks
      keytool -import -trustcacerts -alias contrast-server -file server.cer -keystore contrast.jks
    • PCKS#7形式のファイル:このファイルの拡張子は、.P7Bか.CERで、場合によっては.CRTとなります。このファイルには、必要な全てのルート証明書と中間証明書およびサーバ証明書が含まれています。サーバ証明書には、キーストアの作成時に使用したものと同じエイリアス名が必要です。例えば、.p7bのファイル証明書は次の様にインポートします。

      keytool -import -trustcacerts -alias contrast-server -file certificate.p7b -keystore contrast.jks 
  5. キーストアの設定が完了したら、テキストエディタで<YourPath>/data/conf/server.propertiesファイルを開きます。<YourPath>はContrastをインストールしたパスです。

    <port><full path to><password>をそれぞれ、ポート、JKSファイルのパス、パスワードに置き換えてください。

    https.enabled=true
    https.port=<port>
    https.keystore.file=<full path to>/contrast.jks
    https.keystore.pass=<password>
    https.keystore.alias=contrast-server

    重要

    Windowsを使用している場合は、JKSファイルへのフルパスをエスケープする必要があります。例えば、以下のようになります。

    https.keystore.file=C:\\Program\ Files\\Contrast\\data\\conf\\ssl\\contrast-server.jks

    http.enabledおよびajp.enabledオプションをfalseに設定し、HTTPS経由で行われた接続のみをContrastサーバで許可するようにすると便利です。

  6. <YourPath>/data/conf/general.propertiesファイルをテキストエディタで開き、teamserver.urlプロパティの値を編集して変更を反映します。この変更を行った後、一度エージェントを手動で更新する必要があります。それ以降のエージェントに対する更新は、自動的に行われます。

  7. 任意:outline_open_in_new_black_24dp.pngTLSバージョンや暗号スイートを変更します。

  8. Contrast serverサービスを再起動し、設定したHTTPSポートになっていることを確認してください。

この場合、CA(認証局)から提供されるファイルから新しいキーストアを作成します。既存のキーストアがある場合、新しいキーストアを作成する前にそれを削除するか名前を変更してください。

  1. キーストアを作成するには、このいずれかを使用します。

    • server.crtpriv.keyinter.crtファイルがある場合:以下のコマンドを使用して、ファイルをPKCS#12形式に変換して、キーストアを作成します。

      openssl pkcs12 -export -out cert.pfx -inkey priv.key -in server.crt -certfile inter.crt -name "contrast-server"
      keytool -importkeystore -srckeystore cert.pfx -srcstoretype pkcs12 -destkeystore contrast.jks -deststoretype jks
    • PKCS#12形式のファイルがある場合:以下のコマンドを使用して、キーストアを作成します。

      keytool -importkeystore -srckeystore cert.pfx -srcstoretype pkcs12 -destkeystore contrast.jks -srcalias <sourcealias> -destalias contrast-server -deststoretype jks
  2. キーストアの設定が完了したら、テキストエディタで<YourPath>/data/conf/server.propertiesファイルを開きます。<YourPath>は、Contrastをインストールしたパスです。

    <port><full path to><password>をお使いのポート、JKSファイルのパス、パスワードに置き換えます。

    https.enabled=true
    https.port=<port>
    https.keystore.file=<full path to>/contrast.jks
    https.keystore.pass=<password>
    https.keystore.alias=contrast-server
  3. <YourPath>/data/conf/general.propertiesファイルをテキストエディタで開き、teamserver.urlプロパティの値を編集して変更を反映します。この変更を行った後、一度エージェントを手動で更新する必要があります。それ以降のエージェントに対する更新は、自動的に行われます。

  4. 任意:outline_open_in_new_black_24dp.pngTLSバージョンや暗号スイートを変更します。

  5. Contrast serverサービスを再起動し、設定したHTTPSポートになっていることを確認してください。

リバースプロキシ方式の使用方法

リバースプロキシ方式でAJP(Apache JServ Protocol)を使用するには:

  1. ContrastサーバがAJPプロトコルを使用して接続できるように設定します。テキストエディタでCONTRAST_HOME/data/conf/server.propertiesファイルを開き、以下のオプションを設定します。

    ajp.enabled=true
    ajp.port=8009
    ajp.secretRequired=true|false
    ajp.secret=somesecret

    ajp.portには、サーバが着信接続を待ち受けるポート番号を設定します。サーバへのアクセスをAJPコネクタによる接続のみにする場合は、http.enabledhttps.enabledオプションを無効にします。

    secretRequiredtrueにした場合は、ajp.secretに秘密キーワードを指定する必要があります。リクエストワーカには、秘密キーワードが必要になり、そうでない場合はリクエストが拒否されます。ワーカ間で一致する秘密キーワードを設定してください。一致しない場合、secretRequiredの設定に関わらずリクエストは拒否されます。

  2. server.propertiesファイルを更新したら、Contast serverサービスを再起動して変更を有効にします。

  3. フロントエンドサーバの構成については、お使いのサーバのドキュメントを参照して、AJPの設定方法を確認してください(ApacheNGINXのAJPに関するドキュメントなど)。