本製品では以下の通信をSSLで行うことができます。
WebブラウザとWebサーバ間の通信
設定方法については、「Interstage HTTP Server運用ガイド」を参照してください。
WebブラウザとInterstage Java EE管理コンソールとの通信
インスト-ル時に、Interstage Java EE管理コンソールのSSL暗号化通信で利用する証明書を自己発行します。(ニックネーム s1as)
自己発行する証明書は以下の内容となっています。
発行者名・所有者名 CN = ホスト名 有効期限の終了 インストール日から30年後
セキュリティを強化したい場合は、認証局から取得した証明書を利用する運用に切り替えてください。
認証局から取得した証明書を使用する場合のキーストアの設定
「5.2.3.2 キーストアの設定」を参照してください。
Interstage Java EE管理コンソールのSSL定義の変更
server-configの、HTTPリスナー「admin-listener」の「SSL」タブで、「証明書のニックネーム」に証明書に対応するニックネームを設定します。
WebサーバコネクタとWebコンテナ間の通信
WebサーバをDMZ(DeMilitarized Zone:非武装地帯)のマシンで運用して、IJServerクラスタはファイアウォールを越えたイントラネット上のマシンで運用する場合にWebサーバコネクタとWebコンテナ間をSSLで通信することで盗聴/改ざん/なりすましなどの危険を回避し、情報のプライバシーを守ることができます。
WebサーバコネクタとWebコンテナ間のSSL通信は以下の場合に使用します。
WebブラウザとWebサーバ間がSSL通信である
Webサーバとワークユニットを同一のマシンで運用しない
WebサーバコネクタとWebコンテナ間の通信をSSLで行うには以下の設定が必要です。
キーストアの設定については、「5.2.3.2 キーストアの設定」を参照してください。
以下の手順で設定してください。
Interstage証明書環境でテスト用サイト証明書を生成してください。
Interstage管理コンソールまたはisj2eeadminコマンドを使用して、テスト用サイト証明書をもとに、SSL定義を生成してください。
Interstage管理コンソールまたはisj2eeadminコマンドを使用して、IJServerクラスタと通信するWebサーバコネクタを生成し、「コネクタとWebコンテナ間のSSLの使用」を設定してください。
「キーストアの設定」で使用した認証局証明書、必要であれば中間認証局証明書、および認証局から取得したサーバ証明書を、Interstage証明書環境に登録してください。
Interstage Java EE管理コンソールまたはasadminコマンドのsetサブコマンドを使用してHTTPリスナーのセキュリティ機能を有効にします。
設定方法の詳細は、Interstage Java EE管理コンソールのヘルプおよび「リファレンスマニュアル(コマンド編)」-「Java EE運用コマンド - asadmin - 定義項目参照/更新」と「configs.config.http-serviceの定義項目」のsecurity-enabled(セキュリティ)を参照してください。
Interstage Java EE管理コンソールまたはasadminコマンドのcreate-sslサブコマンドを使用してコネクタとWebコンテナ間のSSLの使用を設定してください。
設定方法の詳細は、Interstage Java EE管理コンソールのヘルプを参照してください。
注意
WebサーバコネクタとWebコンテナ間の通信における注意事項
IJServerクラスタでサポートしているプロトコルバージョンおよび暗号化方式は以下のとおりです。
プロトコルバージョン
SSL 3.0
TLS 1.0
暗号化方式
TLS_RSA_WITH_AES_128_CBC_SHA
SSL_RSA_WITH_3DES_EDE_CBC_SHA
SSL_RSA_WITH_RC4_128_SHA
SSL_RSA_WITH_RC4_128_MD5
SSL_RSA_WITH_DES_CBC_SHA
SSL_RSA_EXPORT_WITH_RC4_40_MD5
SSL_RSA_WITH_NULL_SHA
SSL_RSA_WITH_NULL_MD5
WebアプリケーションがSSLクライアントとなっての通信
サーバとの通信に使用する証明書を、IJServerクラスタが使用するキーストア/トラストストアに登録してください。
クライアント証明書を使用しない場合
サーバとの通信に使用する証明書(認証局証明書、必要であれば中間認証局証明書)を、IJServerクラスタが使用するトラストストアに、任意の別名で登録してください。
クライアント証明書を使用する場合
1.に加えて、クライアントの証明に使用する証明書(認証局証明書、必要であれば中間認証局証明書、サーバ証明書)を、IJServerクラスタが使用するキーストアに、任意の別名で登録してください。詳細は、「5.2.3.2 キーストアの設定」を参照してください。
「別名」(=「エイリアス名」)とは、キーストア内で、エントリ (鍵および信頼できる証明書)を識別するための名前です。
トラストストアに証明書を設定する手順は以下のとおりです。コマンド例はJDK6の場合です。
トラストストアに証明書を登録します。
(別名root_ca、トラストストアファイル名cacerts.jks、認証局証明書ファイル名root_ca.cerの場合)
keytool -import -alias root_ca -keystore cacerts.jks -file root_ca.cer |
Interstage Java EE管理コンソールまたはasadminコマンドを使用してJVMオプションに以下を設定します。
-Djavax.net.ssl.keyStore=キーストアファイル名をフルパスで指定
-Djavax.net.ssl.trustStore=トラストストアファイル名をフルパスで指定
-Djavax.net.ssl.keyStorePassword=キーストアのパスワード
-Djavax.net.ssl.trustStorePassword=トラストストアのパスワード
注意
WebアプリケーションがSSLクライアントとなっての通信を使用する場合は、デフォルトで定義されているキーストア、トラストストアを使用しないでください。
キーストア、トラストストアをデフォルト以外の場所に配置した場合、バックアップコマンドによるバックアップの対象となりません。手動でバックアップしてください。
WebアプリケーションがSSLサーバとなっての通信
サーブレットアプリがサーバとなって独自に通信を行う場合、IJServerクラスタが使用するキーストア/トラストストアを使用してください。
WebサービスクライアントとWebサービス間の通信
Webサービスクライアント側では、WebサービスのエンドポイントのURLを「https」で指定していれば、JSSE(Secure Socket Extension)の設定にしたがってSSLで安全化されたWebサービスを呼出しが行われます。利用する証明書などはキーストア・トラストストアの設定で指定可能です。Webサービスクライアントを実行するコンテナに対してキーストア・トラストストアの設定を行ってください。詳細は、「5.2.3.2 キーストアの設定」を参照してください。
Webサービス側の設定では、Webアプリケーションに対する設定と同様に、Webサーバに対して設定します。詳細は、「WebブラウザとWebサーバ間の通信」に従ってください。なお、WebサービスのエンドポイントのURLについては「3.1.2 Webサービスアプリケーションの開発」を参照してください。
キーストアにはJDKのkeytoolコマンドで作成したキーストアを使用します。JDKのkeytoolコマンドの詳細は、JDKの情報を参照してください。
認証局の発行証明書を使用する場合
認証局の発行証明書を使用する場合の手順は以下のとおりです。コマンド例はJDK6の場合です。
既存の別名を使用する場合は、キーストアに登録されている、該当する証明書を削除します。(別名newcert、キーストアファイル名keystore.jksの場合)
keytool -delete -alias newcert -keystore keystore.jks |
キーストアに対し、任意の別名で、新しい公開鍵と非公開鍵のペアを生成します。(アルゴリズムRSA、別名newcert、キーストアファイル名keystore.jks、有効期間365日の場合)
keytool -genkeypair -keyalg RSA -keystore keystore.jks -validity 365 -alias newcert |
キーストアで、証明書署名要求(CSR)を生成します。(別名newcert、キーストアファイル名keystore.jks、証明書署名要求ファイル名newcert.csrの場合)
keytool -certreq -alias newcert -file newcert.csr -keystore keystore.jks |
認証局にサーバ証明書への署名を依頼します。
認証局証明書および、必要であれば中間認証局証明書を、キーストアに登録します。(別名ca、キーストアファイル名keystore.jks、認証局証明書ファイル名ca.cerの場合)
keytool -import -alias ca -keystore keystore.jks -trustcacerts -file ca.cer |
取得したサーバ証明書をキーストアに登録します。(別名newcert、キーストアファイル名keystore.jks、サーバ証明書ファイル名myserver.cerの場合)
keytool -import -alias newcert -keystore keystore.jks -trustcacerts -file myserver.cer |
Interstage Java EE管理コンソールまたはasadminコマンドを使用してJVMオプションに以下を設定します。
-Djavax.net.ssl.keyStore=キーストアファイル名をフルパスで指定
-Djavax.net.ssl.trustStore=トラストストアファイル名をフルパスで指定
-Djavax.net.ssl.keyStorePassword=キーストアのパスワード
-Djavax.net.ssl.trustStorePassword=トラストストアのパスワード
注意
認証局の発行証明書を使用する場合は、デフォルトで定義されているキーストア、トラストストアを使用しないでください。
キーストア、トラストストアをデフォルト以外の場所に配置した場合、バックアップコマンドによるバックアップの対象となりません。手動でバックアップしてください。
デフォルトのキーストア、トラストストアは以下にあります。
[Java EE共通ディレクトリ]\domains\interstage\config\keystore.jks
[Java EE共通ディレクトリ]\domains\interstage\config\cacerts.jks
[Java EE共通ディレクトリ]/domains/interstage/config/keystore.jks
[Java EE共通ディレクトリ]/domains/interstage/config/cacerts.jks
自己発行証明書(s1as)を再発行する場合
自己発行証明書(s1as)を再発行する場合の手順は以下のとおりです。コマンド例はJDK6の場合です。
Interstage Java EE DASサービスのキーストアファイル、トラストストアファイルをバックアップします。
Interstage Java EE DASサービスのキーストアに登録されている自己発行証明書(s1as)を削除します。
keytool -delete -alias s1as -keystore keystore.jks |
Interstage Java EE DASサービスのキーストアに対し、別名s1asで、新しい公開鍵と非公開鍵のペアを生成します。
keytool -genkeypair -keyalg RSA -keystore keystore.jks -alias s1as -dname CN=ホスト名 -validity 10950 |
Interstage Java EE DASサービスのキーストア、トラストストアのパスワードは"changeit"です。
注意
DASサービスのキーストア、トラストストア、証明書のパスワードは変更しないでください。
アプリケーションクライアントコンテナで利用するキーストアの設定
キーストアにはJDKのkeytoolで作成したキーストア、またはInterstage証明書環境を使用できます。
VMARGS環境変数に、以下を設定してください。
set VMARGS=-Djavax.net.ssl.trustStore=トラストストアファイル名 -Djavax.net.ssl.trustStorePassword=トラストストアのパスワード
VMARGS="-Djavax.net.ssl.trustStore=トラストストアファイル名 -Djavax.net.ssl.trustStorePassword=トラストストアのパスワード"
export VMARGS
VMARGS環境変数に、以下を設定してください。
set VMARGS=-Djavax.net.ssl.keyStore=キーストアファイル名 -Djavax.net.ssl.trustStore=トラストストアファイル名 -Djavax.net.ssl.keyStorePassword=キーストアのパスワード -Djavax.net.ssl.trustStorePassword=トラストストアパスワード
VMARGS="-Djavax.net.ssl.keyStore=キーストアファイル名 -Djavax.net.ssl.trustStore=トラストストアファイル名 -Djavax.net.ssl.keyStorePassword=キーストアのパスワード -Djavax.net.ssl.trustStorePassword=トラストストアパスワード"
export VMARGS
注意
キーストアの設定における注意事項
Interstage証明書環境を使用する場合は登録しているすべての認証局証明書が使用されます。
キーストアおよびトラストストアには、IJServerクラスタまたはアプリケーションクライアントコンテナからアクセス可能なユーザ、グループによるアクセス制限を設定してください。
JDKのkeytoolでキーストアを作成する場合、非公開鍵のパスワードには、キーストアのパスワードと同じものを指定してください。
デフォルトで設定されているキーストアに登録済みの自己証明書(s1as)は実際の運用では使用しないでください。