このセクションでは、Virtualize サーバーのデプロイメント設定を行う方法について説明します。サーバーにデプロイされた個々の仮想アセットのデプロイ設定の構成の詳細については、「Configuring Virtual Assets Deployed to Virtualize Server」を参照してください。
このセクションの内容:
Table of Contents | ||
---|---|---|
|
Virtualize サーバーのスタートアップおよび認証オプションの設定
設定パネルから詳細な設定 (スタートアップ、認証、CTP の通知オプションなど) を構成できます。設定パネルについては、「サーバーの設定」を参照してください。
セキュリティの考慮
Virtualize サーバーは、信頼できるネットワークに安全な方法でデプロイする必要があります。Virtualize サーバーは仮想アセットを管理するために使用できる Web サービスをホストします。そのため、Virtualize サーバーにアクセスするネットワークを持つホストは、Virtualize サーバーがホストする仮想アセットを追加、変更、削除できます。 ただし、 CTP への接続が構成されている場合、アクセス制御が行われます。詳細については、「Configuring user Access Control for Virtualize Servers」 を参照してください。Virtualize サーバーが提供するもの以外にセキュリティのレイヤーをさらに追加するために、Virtualize サーバーの前でプロキシ サーバーかゲートウェイを使用できます。
Virtualize サーバーの HTTPS ポート (9443) はログイン認証情報を送信するときに使用されるべきです。
インターネットなどの信頼できないネットワーク上に Virtualize サーバーをデプロイする場合、細心の注意が必要です。容認できないアクセスをブロックするために、ファイアウォールの使用を推奨します (IP アドレスでのアクセスを制限するなど)。認証、フィルタリング、そしてロギングを追加するために、Virtualize サーバーの前にプロキシ サーバーまたはゲートウェイも使用できます。
Virtualize サーバーのために SSL (HTTPS) を構成
SSL を介して通信する環境にテスト対象アプリケーションを展開する場合、Virtualize サーバーがテスト対象アプリケーションおよびその依存関係と通信できることを確認する必要があります。いくつかのオプションがあります。
- (優先) Virtualize サーバーのために証明書を作成し、テスト対象アプリケーションが信頼する認証局で署名します。そして Virtualize サーバーがインストールされているホストに発行します。このオプションを使用すれば、テスト対象アプリケーションに変更を加える必要はありません。
- 生成された証明書 (自己署名証明書の可能性あり) で Virtualize サーバーを構成し、テスト対象アプリケーションのトラスト ストアに追加します。
- 実際のサーバー証明書を Virtualize に追加します。このオプションは、サーバー証明書およびキーへのアクセスが可能であることを想定しています。テスト対象アプリケーションへの変更は回避するべきです。しかしながら、このオプションは証明書が Virtualize がデプロイされたホスト名と異なるホスト名で署名されている場合、実行できません。
- テスト対象アプリケーションで証明書の信頼を無効にします。テスト対象アプリケーションは SSL を介してまだ接続しますが、証明書やトラストパスを検査せずに、いかなるサーバー (Virtualize サーバーなど) をも信頼します。
テスト対象アプリケーションが証明書/秘密鍵のペアを受け入れるには、一般的に、少なくとも、共通名 (CN) パラメーターがサーバーの完全修飾ドメイン名に一致する自己署名証明書/秘密鍵のペアが必要です。たとえば、 Virtualize サーバーの URL が http://myserver.mycompany.com
である場合、CN パラメーターは「myserver.mycompany.com」であるべきです。
どの場合でも、ポート 9443 (デフォルトの SSL コネクタ) またはその他のポート上の着信 HTTPS 接続を許可するように Virtualize を構成できます。
server.xml の設定
SSL の詳細は、server.xml の SSL HTTP/1.1 Connector
エントリを変更することで設定できます。例:
Code Block | ||
---|---|---|
| ||
<Connector port="9443" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true" acceptCount="100" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="C:/Path To Keystore/virtualize.pfx" keystorePass="security" keyAlias="virtualize" keystoreType="PKCS12" truststoreFile="../lib/cacerts" truststorePass="changeit" truststoreType="JKS" /> |
server.xml ファイルにアクセスするには、Virtualize を起動し、少なくとも 1 つのレスポンダーが作成されていることを確認します。このファイルは <INSTALL-DIR>/plugins/com.parasoft.ptest.libs.web_<VERSION>/root/tomcat/conf ディレクトリにあります。
keystoreFile
server.xml の keystoreFile
属性に設定する値は、構成オプション によって異なります。
優先オプション (オプション1) またはオプション 2 を使用する場合は、生成されたサーバー キーストアへのパスを使用します。キーストア パスには server.xml ファイルの場所からの相対パスを指定できますが、設定が正しいことを確認するために絶対パスを指定すると良いでしょう。
オプション 3 を使用する場合、keyStoreFile 属性は、エミュレートする実際の SSL ベース サービスと同じキーストア ファイルを指す必要があります。バック スラッシュ (\) の代わりにフォワード スラッシュ (/) を使用します。例: C:/Users/myUser/keystore.jks
オプション 4 の場合、keyStoreFile 属性を変更する必要はありません。
keystorePass
keystorePass
属性には、キーストアのパスワードを設定します。
keyAlias
keyAlias
属性は、証明書/ 秘密鍵のペアのエイリアスを指すように設定します。
keystoreType
keystoreType
には、使用しているキーストアのタイプ (PKCS12、JKS、BKS、UBER、PEM など) を設定します。
clientAuth
双方向 SSL ( 相互認証) には、 clientAuth 属性を true
に設定し、truststoreFile、 truststorePass、truststoreType 属性を使用してクライアント証明書の検査に使用されるトラストストアを指定するべきです。
truststoreFile
がキーストア ファイルを指すように変更します。バック スラッシュ (\) の代わりにフォワード スラッシュ (/) を使用します。例: C:/Users/myUser/keystore.jkstruststorePass
をキーストアのパスワードに変更します。- 使用しているキーストアのタイプに従って、
truststoreType
を PKCS12、 JKS、 BKS、UBER、または PEM に変更します。
追加構成の詳細
SSL コネクタを有効にして設定する方法についての詳細は、 Apache Tomcat ドキュメント (https://tomcat.apache.org/tomcat-8.5-doc/ssl-howto.html) を参照してください。
SSL 用のポート番号を 1 つ以上設定することが可能です。異なるキーストア/証明書の設定を仮想化する必要がある場合の典型的なケースです。
デフォルトの SSL コネクタ (属性名="default" のもの) のポート番号は Virtualize サーバーの設定で変更できます (詳細については、「サーバーの設定」を参照してください)。Virtualize の起動時は、 server.xml の設定よりも詳細設定が優先されます。
必要に応じて、 server.xml に個別の名前および個別の SSL/証明書の設定とともに、 Connector 要素を追加できます。仮想アセットおよびプロキシは特定の Connector ポートにはマッピングできません。特定のコネクタ/ポート上で受信したメッセージは、仮想アセットのパス、プロキシ パスまたはレスポンダー応答条件ルール内のヘッダー、URL、メッセージ コンテンツの応答条件に基づいて、任意の仮想アセットによって処理されます。ポートには基づきません。
URI 文字エンコーディング
Virtualize サーバーは Tomcat の RelaxedPathChars
および RelaxedQueryChars
プロパティをサポートします ( https://tomcat.apache.org/tomcat-8.5-doc/config/http.html を参照してください。)これらのプロパティを使用すると、URI パスおよび URI クエリー文字列で許可するエンコードされていない文字を指定できます。以下の文字を指定できます。" < > [ \ ] ^ ` { | }
許可する文字を指定しない場合、Tomcat サーバーは URI パスおよびクエリーに 1 つ以上のエンコードされていない文字を含むメッセージを拒否します。
server.xml ファイルの <Connector>
要素に relaxedPathChars
属性と relaxedQueryChars
属性を追加し、許可する文字を指定します。<Connector>
要素が複数ある場合は、プロトコルが HTTP と HTTPS に設定されている要素に属性を追加します。このファイルは <INSTALL-DIR>/plugins/com.parasoft.ptest.libs.web_<VERSION>/root/tomcat/conf ディレクトリにあります。
例:
Code Block | ||
---|---|---|
| ||
<Connector URIEncoding="UTF-8" allowTrace="true" connectionTimeout="20000" enableLookups="true" name="default" port="9080" protocol="HTTP/1.1" redirectPort="9443" server="Parasoft Server" relaxedPathChars="" < > [ \ ] ^ ` { | }" relaxedQueryChars="" < > [ \ ] ^ ` { | }" /> |
これらのプロパティは、HTTP リスナー レベルで設定することもできます。「HTTP Configuration」を参照してください。
サーバー構成パネルへのアクセス
サーバー構成パネルから、Virtualize サーバーのさまざまな設定を行うことができます。サーバー構成パネルを開くには、以下の操作を行います。
- GUI モードで Virtualize サーバーを起動します。
- [Virtualize サーバー] ビューで、サーバー ノードをダブルクリックして構成パネルを開きます。
サーバー構成パネルから、モニタリング、サーバー統計、グローバル JMS および MQ 接続、ユーザー認証 ( リモート サーバーのみ) に関連する設定を確認して変更することができます。
[モニター] タブ
Virtualize サーバー統計のサマリーが表示されます。詳細については「サーバー統計の収集」を参照してください。
[サーバー構成] タブ
[サーバー構成] タブをクリックして、イベント モニターと統計収集の設定を表示/構成します。このタブの設定方法については、次のセクションを参照してください。
[接続] タブ
テスト対象アプリケーションが MQ キュー マネージャーまたは JMS プロバイダーを介してメッセージを送受信する場合は、[接続] タブをクリックして接続設定を定義します。Virtualize サーバーにデプロイされたアセットとプロキシは、接続設定を使用してテスト対象アプリケーションと通信するように構成できます。以下のアクションを行うことができます。
- 新しい接続を追加する (「Adding MQ Queue Manager Connections」を参照)
- 接続を削除する
- 接続を変更する
- 既存の接続から別のサーバーに接続構成をコピーする (「Copying an MQ Manager Connection」を参照)
MQ キュー マネージャー接続の追加
MQ キュー マネージャー セクションで [追加] をクリックし、次の構成を指定します。構成後に [接続のテスト] をクリックして、サーバー上のプロキシおよび仮想アセットがキュー マネージャーと通信できることを確認します。このインターフェイスで構成する設定は、仮想アセットまたはプロキシの設定パネルでも使用されます。
モード
ドロップダウン メニューから次のいずれかのモードを選択します。
- Default: ホスト、ポート、チャネルなどの接続の詳細を手動で入力することができます。
- CCDT: 接続の詳細情報が記載されたクライアント チャネル定義テーブル (CCDT) ファイルを指定できます。
- Bindings: キュー マネージャーと接続アプリケーションが同じシステムで実行されている場合、このモードを使用します。IBM WebSphere MQ Java API は、Java Native Interface (JNI) を使用してキュー マネージャーに直接接続します。バインディング トランスポートを使用するには、IBM MQ Java Native Interface ライブラリにアクセスできる環境で JMS の IBM MQ クラスを実行する必要があります。
ホスト (Default モード)
MQ キュー マネージャーのホストを指定します。
ポート (Default モード)
MQ キュー マネージャーのポートを指定します。
チャネル (Default モード)
MQ キュー マネージャーのチャネルを指定します。
CCDT ファイル(CCDTモード)
接続の詳細情報が記載されたクライアント チャネル定義テーブル (CCDT) ファイルを指定します。
キュー マネージャー
キュー マネージャーの名前を指定します。
Username
ログイン資格情報が必要な場合は、このフィールドにユーザー名を指定します。
Password
ログイン資格情報が必要な場合は、このフィールドにパスワードを指定します。
SSL プロパティ
Virtualize サーバーでホストされている仮想アセットとメッセージ プロキシが SSL 経由でテスト対象のサービスと通信する必要がある場合は、[サービス接続時に SSL を使用する] を有効にし、SSL設定を構成します。
[すべての証明書を信頼] を有効にして、Virtualize サーバーで証明書を許可します。サーバー上の仮想アセットまたはメッセージ プロキシがサービスとの接続を確立し、存在する証明書サービスを使用して接続を受け入れるように仮想アセットまたはメッセージ プロキシに強制する場合、このオプションは信頼検証を無効にします。一般的にこのオプションは、 Virtualize がデプロイされている環境で証明書の信頼が焦点ではない場合に有効にします。
CipherSuite (SSL)
指定された MQ チャネルの SSL 接続のために使用する CipherSuite を指定します。IBM MQ のドキュメントを参照して、CipherSpec に基づいて選択する CipherSuite を決定してください。
Peer Name (SSL)
(任意) キュー マネージャーによって提示された証明書が [ピア名] パラメーターで指定された基準と一致することを検証するために、ピア名を指定します。サーバー証明書は、キュー マネージャーによって提示された証明書の識別名 (DN) とこのパラメーターを一致させます。
キーストア設定
SSL を介して仮想アセットとメッセージ プロキシを認証するためにキュー マネージャが使用する、キーストア ファイル、キーストア パスワード、およびキーストア タイプを指定します。MQ チャネルが SSL を必要としない場合、キーストア設定は不要です。キーストア設定を構成した後、[検証] をクリックし、設定が正しく構成されていることを確認します。
トラストストア設定
SSL を介してキュー マネージャーを認証するために仮想アセットが使用する、ファイル、パスワード、およびストアタイプを指定します。トラストストア設定を構成した後、[検証] をクリックし、設定が正しく構成されていることを確認します。
[すべてのサーバー証明書を信頼する] オプションを有効にすると、トラストストアの構成設定が無効になります。
キーストア/トラストストアを使用している場合は、 Unlimited Strength Java Cryptography Extension をダウンロードしてインストールする必要があります。詳細については 「JCE 前提条件」 を参照してください。
MQ Manager 接続のコピー
既存の MQ マネージャー接続設定をサーバー間でコピーできます。リモート サーバーまたはローカル サーバーから設定をコピーできます。
- コピーする接続構成を含むサーバー設定を開きます。たとえば、接続設定をリモート サーバーからローカル インスタンスにコピーする場合は、リモート サーバーの構成パネルを開きます。
- [接続] タブで、コピーする接続構成を選択します。CTRL キーまたは COMMAND キーをクリックして、単一または複数の接続をコピーできます。
- [コピー] をクリックし、メニューから接続設定の宛先サーバーを指定します。
- [OK] をクリックして設定をコピーします。移行先サーバーに既に設定が存在する場合、設定はコピーされません。
MQ キュー マネージャー接続の使用
接続を追加したら、Virtualize サーバーでホストされるプロキシと仮想アセットを追加および構成するときに、構成パネルから接続を選択できます。たとえば以下の図では、MQ を使用してプロキシのグローバル接続を選択しています。
JMS 接続の追加
JMS 接続設定で [追加] をクリックし、次の JMS 構成を指定します。JMS 接続設定の構成の詳細については、「JMS Provider Configuration」を参照してください。
構成後に [接続のテスト] をクリックして、サーバー上のプロキシおよび仮想アセットが JMS プロバイダーと通信できることを確認します。このインターフェイスで構成する設定は、仮想アセットまたはプロキシの設定パネルでも使用されます。
JMS 接続設定の使用
接続を追加したら、Virtualize サーバーでホストされるプロキシと仮想アセットを追加および構成するときに、構成パネルから接続を選択できます。
また、以下の図では JMS を使用して仮想アセットのグローバル接続を選択しています。
[認証] タブ
[認証] タブはリモート サーバー専用であり、資格情報を再入力するためのインターフェイスを提供します (たとえば、CTP を介して役割が変更された場合)。
詳細については「既存のサーバーへの認証情報の再入力」を参照してください。
Virtualize HTTP サーバーで代替ポートを使用する
デフォルトでは、ローカル Virtualize サーバーはポート 9080 を使用します。このポート番号を変更するには、次の操作を行います。
- [Parasoft] > [設定] を選択します。
- [Parasoft] > [サーバー] を開きます。
- ポート設定を変更します。
- サーバーを再起動します。
Parasoft Virtualize サーバーへのリモート接続にユーザー アクセス制御を設定
Virtualize デスクトップ インストールから接続する各ユーザーが、Virtualize サーバー上で実行できるアクションを管理する方法についての詳細は、「Configuring user Access Control for Virtualize Servers」を参照してください。