HTTPSの設定
デフォルトでは、Contrastとエージェント間の接続にHTTPが使用されます。必要に応じて、Contrastとエージェントの両方の通信でHTTPをHTTPSに追加または置き換えます。これはTomcatのコネクタ機能で実現できます。これを行う方法は2つあります。
Contrast HTTPSコネクタ:証明書をJavaキーストアに追加して、指定したポートでHTTPS接続するようにContrastを設定します。
リバースプロキシ方式:ApacheやNGINXなどの標準WebサーバをContrastサーバの前面に構築し、ContrastのAJPコネクタを使用してリバースプロキシとなるように設定します。
オンプレミス版のContrastサーバでTLSバージョンや暗号スイートを変更する方法で説明しているように、設定をさらにカスタマイズすることもできます。
重要
以下の手順では、全体を通して1つのパスワードのみを使用することが重要です。CA(認証局)から提供されたファイルのいずれかがパスワードで保護されている場合は、そのパスワードを削除するか(CAはこれをサポートしています)、生成されるJavaキーストア(JKS)ファイルに同じパスワードを使用する必要があります。
Contrast HTTPSコネクタの使用方法
以下の手順で、オンプレミス版のContrastサーバが使用する署名付き証明書を含むJavaキーストア(JKS)を作成します。
注記
自己署名証明書でHTTPSコネクタを使用することもできます。
この場合、まずキーストアを作成し、それを証明書署名要求(CSR)のベースとして使用します。
重要
CA(認証局)から、CSRの生成元と同じキーストアにインポートする必要があるファイルが提供されます。
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
などを使用します。証明書署名要求(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
生成した証明書署名要求(CSR)ファイルをCA(認証局)に送信します。CA(認証局)から、PEM形式の複数ファイルか、PCKS#7形式の1ファイルのいずれかが提供されます。
CAから提供されたファイルをJavaキーストア(JKS)にインポートします。以下の手順を、提供されたファイルの形式に合わせて使用してください。
複数のPEM形式ファイル:これらのファイルの拡張子は、.CRTまたは.PEMです(PEMファイルは読み取り可能なテキストとして開けます)。そのうち1つにはサーバ証明書が含まれ、その他のファイルはルート証明書と中間証明書が含まれることになります。
これらの証明書は、上位(ルート証明書)から順にキーストアにインポートし最後にサーバ証明書をインポートする必要があります。サーバ証明書には、キーストアの作成時に使用したものと同じエイリアス名が必要です。例えば、
root.cer
、inter.cer
、server.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
キーストアの設定が完了したら、テキストエディタで
<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サーバで許可するようにすると便利です。<YourPath>/data/conf/general.properties
ファイルをテキストエディタで開き、teamserver.url
プロパティの値を編集して変更を反映します。この変更を行った後、一度エージェントを手動で更新する必要があります。それ以降のエージェントに対する更新は、自動的に行われます。任意:TLSバージョンや暗号スイートを変更します。
Contrast serverサービスを再起動し、設定したHTTPSポートになっていることを確認してください。
この場合、CA(認証局)から提供されるファイルから新しいキーストアを作成します。既存のキーストアがある場合、新しいキーストアを作成する前にそれを削除するか名前を変更してください。
キーストアを作成するには、このいずれかを使用します。
server.crt
、priv.key
、inter.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
キーストアの設定が完了したら、テキストエディタで
<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
<YourPath>/data/conf/general.properties
ファイルをテキストエディタで開き、teamserver.url
プロパティの値を編集して変更を反映します。この変更を行った後、一度エージェントを手動で更新する必要があります。それ以降のエージェントに対する更新は、自動的に行われます。任意:TLSバージョンや暗号スイートを変更します。
Contrast serverサービスを再起動し、設定したHTTPSポートになっていることを確認してください。
リバースプロキシ方式の使用方法
リバースプロキシ方式でAJP(Apache JServ Protocol)を使用するには:
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.enabled
とhttps.enabled
オプションを無効にします。secretRequired
をtrue
にした場合は、ajp.secret
に秘密キーワードを指定する必要があります。リクエストワーカには、秘密キーワードが必要になり、そうでない場合はリクエストが拒否されます。ワーカ間で一致する秘密キーワードを設定してください。一致しない場合、secretRequired
の設定に関わらずリクエストは拒否されます。server.properties
ファイルを更新したら、Contast serverサービスを再起動して変更を有効にします。フロントエンドサーバの構成については、お使いのサーバのドキュメントを参照して、AJPの設定方法を確認してください(ApacheやNGINXのAJPに関するドキュメントなど)。