PTC HTTP Server および Windchill の HTTPS の設定
Windchill Services によって HTTPS 設定の実行に必要な site.xconf ファイルが提供されるので、これらの手順を実行する前に、Windchill Services をインストールしておく必要があります。
定義済みの Windchill が HTTP 用に設定されますが、Windchill は最小限の手順で HTTPS を実装できるようになっています。このセクションで説明する手順では HTTP Server (Windchill にパッケージされているデフォルトの Web サーバー) を使用した HTTPS のみをサポートします。その他の Web サーバーの HTTPS の手順は、製品のベンダーから入手する必要があります。
Windchill で、ほかの Web サーバーについて HTTPS をサポートできるようにするには、以下の作業を行います。
xconfmanager を使用して、HTTPS を使用するように wt.propertieswt.server.codebase property を設定します。これは HTTP Server について実行する手順と同じです。
Web サーバー、サーブレットエンジン、および Windchill を再起動して、変更を有効にします。
HTTPS の設定には商用の権限証明書が必要です。権限証明書はサードパーティベンダーによって配布されます。一部の設定方法は権限証明書を使用して実行できます。ここで説明する手順では、使用するインストールに HTTPS を実装するために多少の作業が必要です。
1. 権限証明書を入手します。
最初のステップは権限証明書の入手です。証明書はサードパーティベンダーによって配布されます。Windchill では、Java によって信頼されている証明書が必要です。Java によって信頼されていない証明書を使用する場合は、この証明書を Java で信頼されるように設定する必要があります。たとえば、Verisign および Thawte から提供されている証明書は、Java が信頼している権限証明書です。
Web サーバーの権限証明書が Java によって信頼されていない場合は、権限証明書を jssecacerts キーストアに追加する必要があります。次のコマンドを実行する前に、デフォルトの JDK cacerts ファイルをコピーして jssecacerts というファイル名にする必要があります。cacerts ファイルは <JAVA_HOME>/lib/security ディレクトリにあります。
keytool -import -alias <何らかのエイリアス名>
-file <certificateAuthority.cert へのパス> -storetype jks -keystore /<JAVA_HOME>/lib/security/jssecacerts
これは、サーブレットエンジンと Windchill サーバー、Web サーバーにアクセスするほかの Java アプリケーションが使用する JDK について設定する必要があります。
ご使用の JDK によって信頼されているデフォルトの権限証明書を表示するには、以下のコマンドを実行します。
keytool -list -v -keystore /<JAVA_HOME>/lib/security/cacerts
Java セキュリティに関する補足情報については、以下の URL を参照してください。
http://java.sun.com/products/jsse
2. 権限証明書が認識されるように HTTP Server を設定します。
証明書ファイルとプライベートキーが HTTP Server に追加されます。デフォルトでは、特にセキュリティアクセスの設定用として 2 つのファイルが参照用に提供されています。
For PTC HTTP Server
a. 証明書ファイル server.crt<Apache>/conf/ ディレクトリにインストールします。
b. 秘密キー server.key<Apache>/conf/ ディレクトリにインストールします。
3. PTC HTTP Server 2.4 では、HTTPSERVER_HOME の次のコマンドが SSL を有効にします。
ant -DHTTPS_ENABLED=true -f config.xml reconfigure
4. URL を HTTPS に変更して Windchill を HTTPS 用に設定します。
xconfmanager を使用して、次の 2 つのプロパティを適切な値に変更します。
a. wt.webserver.port=<HTTPS 用ポート>プロトコルのデフォルトポートは 443 です。
b. wt.webserver.protocol=https
5. HTTP Server を再起動します。
HTTP Server 起動コマンドは SSL サーバーと非 SSL サーバーで同じになります。
Windows:
<httpserver_home>\bin\httpd.exe
Unix:
<httpserver_home>/bin/apachectl
6. Embedded Servlet Engine を再起動します。
7. Windchill を再起動します。
Workgroup Manager などのほかの Windchill 製品で HTTPS がサポートされる場合もあるので、その他の設定を HTTPS に変更する必要があります。この手順については、Workgroup Manager のドキュメンテーションを参照してください。
HTTPS に関する補足情報については、http://httpd.apache.org/docs/current/ssl/ を参照してください。
HTTP Strict-Transport-Security (HSTS) コンフィギュレーション
HSTS はプロトコルダウングレード攻撃と cookie ハイジャックから Web サイトを保護するのに役立ちます。Windchill 12.0.1.0 から、HTTPS が設定されている Windchill サーバーでは既成で HSTS コンフィギュレーションが設定されます。安全な展開を行うためには、サイトで必ず HTTPS が設定されている必要があります。
コンフィギュレーション保持オプションを使用した HTTP Server の展開については、Windchill Installation and Configuration Guide - Update Existing Installation の「更新後の操作」ヘルプトピックセクションで「HTTP サーバーコンフィギュレーションファイルの更新」のセクションを参照してください
コンフィギュレーション保持オプションを使用した HTTP Server の展開については、「更新後の操作」ヘルプトピックで「HTTP サーバーコンフィギュレーションファイルの更新」のセクションを参照してください。
* 
Windchill インストールで HTTP Strict-Transport-Security (HSTS) を設定することを強くお勧めします。
IIS で HSTS を有効にするには、以下の手順に従います。
1. IIS で HTTPS を設定します。
2. IIS マネージャの左側の表示枠で、<ComputerName/Site> ノードを選択します。
3. 中央の表示枠で、「HTTP 応答ヘッダー」をクリックします。
4. 「操作」パネルで「追加...」をクリックします。
5. 「カスタム HTTP 応答ヘッダーの追加」ダイアログボックスで以下の値を入力します。
名前: Strict-Transport-Security
値: max-age=10368000; includeSubDomains;
6. サイトを再起動します。
Windchill での HTTP/2 コンフィギュレーション
HTTP/2 を有効にする前に、それをサポートするためにネットワークセキュリティに関する検討事項が対応済みであることを確認してください (WAF コンフィギュレーションなど)。HTTP/2 を設定する前に、特定のセキュリティ要件または懸念があるかどうかをネットワークセキュリティチームに確認することをお勧めします。
* 
潜在的なサービス拒否 (DoS) 攻撃から Windchill を保護する方法については、トピック「Windchill ソリューションのセキュリティのためのベストプラクティス」のポイント 14 を参照してください。
HTTP/1.1 は、引き続き Windchill でデフォルトの方法として使用できます。HTTP/2 は、まだ機能強化が続けられており、各種ブラウザおよびクライアントにおいてその成熟度が高められています。したがって、Windchill でコンフィギュレーション後に HTTP/2 通信が失敗すると、自動的にデフォルトの HTTP/1.1 に切り替えられます。
Windchill のパフォーマンスを向上させるために HTTP/2 を設定できるようになっています。ただし、結果はクライアントと負荷に応じて異なる場合があります。
* 
HTTP/2 では SSL を有効にする必要があります。
Apache HTTP Server を再設定した場合、以下に示す手順で HTTP/2 を再度有効にしてください。
HTTP/2 コンフィギュレーションの有効化
1. Apache HTTP Server を停止します。
2. <Apache_Home>/conf/conf.d のバックアップを作成します。
3. <Apache_Home> から Windchill シェルを使用して次のターゲットを実行します。
ant -f config.xml enableHTTP2
ant スクリプトの実行後、以下の場所で更新を確認します。
<APACHE_HOME>/conf/httpd.conf が更新され、ファイルの末尾に次のコンフィギュレーションが追加されます。
Protocols h2 http/1.1
<APACHE_HOME>/conf/conf.d/00-modules-load.conf が更新され、ファイルの末尾に次のコンフィギュレーションが追加されます。
#Enable the http2 module
<IfModule !http2_module>
LoadModule http2_module modules/mod_http2.so
</IfModule>
4. Apache HTTP Server を起動します。
Apache コンフィギュレーションからの HTTP/2 の除去
1. Apache HTTP Server を停止します。
2. <Apache_Home> から Windchill シェルを使用して次のターゲットを実行します。
ant -f config.xml reconfigure
3. Apache HTTP Server を起動します。
これは役に立ちましたか?