Servigistics InService の導入 > Web アプリケーションサーバーの SSL の設定
  
Web アプリケーションサーバーの SSL の設定
セキュア HTTP (HTTPS) は、コンピュータネットワーク経由の通信のセキュリティを確保するために使用される通信チャネルです。Servigistics InService では、HTTPS で Secure Sockets Layer (SSL) を使用して、Servigistics InService Web サーバーとブラウザの間で渡されるすべてのデータの機密性と完全性を維持しています。SSL は、セキュリティで保護されていないインフラストラクチャでの通信のセキュリティを確保することを目的とした暗号プロトコルです。Servigistics InService で HTTPS をサポートするには、信頼されている認証機関であるサードパーティによって検証済みの SSL 証明書をアプリケーションに対して設定する必要があります。デフォルトでは、アプリケーションは SSL 経由の通信にポート 8443 を使用します。
サードパーティ証明書 (信頼されている証明機関) による HTTPS のサポート
サードパーティ証明書とは、信頼されている認証機関による検証済みの証明書です。サードパーティによって検証済みの証明書には .keystore または .jks ファイル拡張子があります。
次の手順では、サードパーティ証明書を *.jks と呼びます。この手順は、すべてのセットアップコンフィギュレーションタイプに適用されます。セキュリティで保護されているポートとコアホスト名が Publisher と Viewer のコンフィギュレータエンティティで正しく更新されていることを確認します。
Servigistics InService*.jks 証明書を使用するには、次の手順に従います。モノリシック、分割、およびクラスタコンフィギュレーションの場合は、個々のエンティティに対して同じ手順を実行する必要があります。つまり、分割およびクラスタコンフィギュレーションの場合は、Publisher と各 Viewer エンティティに対してこの手順を実行します。
1. 実行されているすべての coreServer、coreCMIserver、および JBoss サービスを停止します。
2. <INS_ホーム>/InS_SW/SW/system/wildfly/standalone/configuration*.jks 証明書を保存します。
* 
Servigistics InService では、.jks 拡張子の付いた HTTPS 証明書が必要です。
パスワードが認識されなければなりません。
証明書にエイリアスがなければなりません。たとえば、jboss などです。エイリアスは証明書の生成中に証明書内で設定されます。
3. Web およびオフラインシステムの security-realm 要素に関連する詳細を適宜更新します。
a. Web システムでは、ディレクトリ <INS_ホーム>/InS_SW/SW/System/WildFly/standalone/configuration にある standalone-full-<database-name>.xml ファイルを開きます。
b. オフラインシステムでは、ディレクトリ <INS_ホーム>/InS_SW/SW/System/WildFly/standalone/configuration にある standalone-full.xml を開きます。
<security-realm name="SSLRealm>
<server-identities>
<ssl>
<keystore path="*.jks" relative-to="jboss.server.config.dir" keystore-password="<actual_password_value>" alias="<actual alias from certificate>"
key-password="<actual_password_value>"/>
</ssl>
</server-identities>
</security-realm>
ここで、
keystore path: 証明書の名前。
keystore-password: 証明書のパスワード。
alias: 証明書の実際のエイリアス。
key-password: 証明書のパスワード。
* 
オフラインシステムでは、standalone-full-<database-name>.xml の代わりに standalone-full.xml を修正します。
4. 次のコマンドを実行して、*.jks 証明書 (Java キーストア証明書) を CA 証明書にエクスポートします。
<InS_HOME>/InS_SW/SW/System/Java/bin/keytool.exe -exportcert -noprompt
-alias "<actual alias from certificate>"
-keypass "<actual_password_value>" -storepass "<actual_password_value>"
-file <InS_HOME>/InS_SW/SW/System/WildFly/standalone/configuration/cert.crt
-keystore <InS_HOME>/InS_SW/SW/System/WildFly/standalone/configuration/<certificate_name>.jks
5. 次のコマンドを実行して、CA 証明書を JRE の証明書にインポートします。
<InS_HOME>/InS_SW/SW/System/Java/bin/keytool.exe -import -noprompt
-alias "<actual alias from certificate>"
-keypass keypass "<actual_password_value"> -storepass keypass "<actual_password_value">
-file <InS_HOME>/InS_SW/SW/System/WildFly/standalone/configuration/cert.crt
-keystore <INS_HOME>/InS_SW/SW/System/Java/jre/lib/security/cacerts
6. 分割環境およびクラスタ環境の場合、次の手順を実行して Publisher および Viewer に新しく作成された証明書をインポートします。
a. 証明書を、1 台のマシンの sw/System/WildFly/standalone/configuration フォルダから、別のマシンの同じ場所にコピーします。Publisher の証明書は Viewer に、Viewer の証明書は Publisher にコピーします。
b. importCertificate.bat ファイルを実行し、パラメータを証明書の名前として渡します。SW フォルダには、.sh または .bat ファイルが含まれています。たとえば、importCertificate.bat <FullCertificateName.crt>
* 
ワイルドカード証明書を使用している場合は、このステップの証明書の相互インポートをスキップできます。
7. coreServer、coreCMIserver、および JBoss サービスを再起動します。
SSL を使用して Servigistics InService Web アプリケーションにアクセスできます。例として、URL https://localhost:8443 を試してみてください。
自己署名証明書による HTTPS のサポート
自己署名証明書とは、信頼されている証明機関ではなく、自身のアイデンティティを証明するエンティティの署名の付いたアイデンティティ証明書です。自己署名証明書は、アプリケーションのインストール時にアプリケーションによって自動的に作成されます。
HTTPS をサポートするには、システムに証明書を追加する必要があります。
* 
信頼されている認証機関であるサードパーティの SSL 証明書のみを使用することをお勧めします。自己署名証明書の使用は、テストシステムのみに制限されなければなりません。ファイアウォールの内側であっても、本番環境における自己署名証明書の使用はお勧めしません。
モノリシックコンフィギュレーションでは、アプリケーションをインストールするときに、アプリケーションが自動的に証明書を作成します。
この手順は、自己署名証明書を作成してインポートする場合のみを対象としています。
1. sw/System/WildFly/standalone/configuration フォルダ内の証明書を 1 つのマシンから別のマシンの同じ場所にコピーします。Publisher の証明書は Viewer に、Viewer の証明書は Publisher にコピーします。
2. importCertificate.bat ファイルを実行し、パラメータを証明書のコピー元の machineName として渡します。SW フォルダには以下の .sh ファイルまたは .bat ファイルがあります。
たとえば、Publisher マシンで、SW フォルダに移動し、次のコマンドを実行します。
Windows:
importCertificate.bat <v1.FullName>
Linux:
./importCertificate.sh <v1.FullName>
Viewer 1: Windows
importCertificate.bat <Publisher.FullName>
Linux
./importCertificate.sh <Publisher.FullName>
* 
オフラインシステムで Web サーバーの証明書をインポートします。オフライン SSL コンフィギュレーションの場合は、importCertificate.bat <primary_server_Full_host_Name> コマンドを実行します。
ここで、master_server_Full_host_Name は <host_name>.ptcnet.ptc.com などのフルドメイン名です。
クラスタ環境
分割環境
トラブルシューティング
一部のステップが正しく実行されず、証明書を再びインポートする場合は、次の手順を実行します。
1. sw\System\Java\JRE\lib\security\cacerts ファイルを削除するか、その名前を変更します。
2. inskeystore とすべての証明書を削除します。
3. すべてのマシンで createkeyStore を実行します。このとき、マシン名をパラメータとして使用します。
4. 必要に応じて証明書をコピーします。
5. importKeyStore を使用して、すべてのマシンでほかの証明書をインポートします。