|
| |
|
|
|
| |
【FAQ】WebSphere Application ServerのWindows Vistaへの対応について
| 資料作成日 |
 |
12/15/2006 |
| 資料更新日 |
 |
03/19/2007 |
 |
|
| WebSphere Application ServerのWindows Vistaへの対応についてまとめました。
1. Windows Vista上のInternet Explorer 7とのSSL通信について(TLSオプション) (2007/3/19修正)
2. Windows Vista上のInternet Explorer 7とのSSL通信について(暗号化方式)
3. Windows Vista上のInternet Explorer 7から入力される文字コード(JISX0213)について
4. Windows Vista上のInternet Explorer 7からのWAS内部ポートへのSSLアクセスについて (2006/12/28修正)
1. Windows Vista上のInternet Explorer 7とのSSL通信について(TLSオプション)
【問題の概要】
Windows Vistaに標準で搭載されているInternet Explorer 7 (以下、IE7)では、HTTPS(SSL)リクエストを行う際に、デフォルトでTLS(Transport Layer Security)を使用します。TLSに対応していないバージョンのIBM HTTP Server(以下、IHS)をご使用の場合、SSL接続確立(SSL Handshake)時に、IHSのログにWarningが出力されます。TLSでの接続が確立できない場合、IE7からSSL v3での接続確立をリトライしますので、リクエストはエラーとならず、正しく処理されます。(注1) この処理はユーザーには透過的に行われるため、ユーザーがリトライが行われたことを意識することはありません。
SSL Handshake時に、IHSのエラーログに出力されるWarningは以下の通りです。
[warn] SSL0235W: SSL Handshake Failed, Invalid peer.
(注1) Windows Vistaのカスタマー・プレビューとして公開されたRC1(Release Candidate 1)、RC2では、リトライ・ロジックが実装されておらず、TLSに対応していないIHSとはSSL通信することができず、ブラウザーにはエラーが表示されていました。このときIHS側では、上記と同じwarningがエラーログに出力されます。
Windows Vista製品コードでのIE7ではリクエストが正しく処理されるようになりましたが、Windows VistaからSSL要求がある度にWarningが出力されること、および、SSL Handshakeのリトライが行われることから、Windows Vistaクライアントからのリクエスト数が増えた場合にはサーバーに不要な負荷がかかることも予想されます。可能な限り、以下の【推奨される対応】を取っていただくよう、お願いいたします。
※3月19日補足
ブラウザーの設定画面からTLS 1.0のオプションを外している場合は、クライアントとIHS間はSSLv3で通信が行われるため、この現象は発生いたしません。
(Windows Vista上のIE7では、デフォルトでTLS 1.0のオプションが選択されています。)
【対象のお客様】
IHS 6.0.x、2.0.47.x、2.0.42.x、1.3.28.x、1.3.26.x、1.3.19.x をお使いのお客様(注2)
IHS 6.1をご使用のお客様は対応不要です。
(注2) IHS 1.3.6.x以下でも同様にこの問題の対象となりますが、1.3.6.x以下については、サポート終了から時間がたっているため、情報およびFix提供の予定はございません。ご了承ください。また、IHS 1.3.12.xについては、下記補足をご参照ください。
2006年12月現在、パスポート・アドバンテージでのサポート対象バージョンは、IHS 6.1、6.0、2.0.47、1.3.28となります。
詳細についてはこちらをご参照ください。
「【FAQ】 IBM HTTP Serverのプロダクト・ライフサイクル 」
http://www.ibm.com/jp/domino01/mkt/websphere.nsf/doc/001F91E9
【推奨される対応】
IHS 6.0, 2.0, 1.3をご使用のお客様は、TLSに対応するためのFixを適用してください。
Fixの詳細および入手方法については、以下の文書をご参照ください。
「IHSに対するWindows Vista上のIE 7からのHTTPSリクエストに関する注意点について (WAS-06-018)」
http://www-06.ibm.com/jp/software/support/techflash/492571FB000148F0.html
※1月29日補足
IHS 1.3.19.x の対応策が修正になりました。Fix Pack 6とあわせて、PK16529も適用ください。
また、IHS 1.3.12.xについては、このTLS問題と、既存のDoS攻撃の問題(PQ86671)の両方を同時に解決するGSKitのバージョンが存在しないため、今回の対象の一覧から除外しました。IHS 1.3.12.xをご利用のお客様は、Fix Pack 7の上に、PQ86671の適用をご検討ください。(VistaからのSSL接続では、IHSのログにWarningが出力されますが、Handshakeのリトライにより、SSL通信は成功します。)
最新の情報については、USの以下のFlashをご参照ください。
「Security: IBM HTTP Server interoperability with Internet Explorer 7 on Windows Vista」
http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21245791
2. Windows Vista上のInternet Explorer 7とのSSL通信について(暗号化方式)
【問題の概要】
Windows VistaのIE7では、SSL通信時に使用する暗号化方式として、キー長が128bit以上の方式を指定します。IHSで40bitや56bitの暗号化方式しか対応していない場合は、エラーとなり通信することができませんので、128bit以上の暗号化方式を使用するように設定してください。IHS 1.3.12以降では、128bit以上の暗号化方式に対応したモジュールが製品に用意されています。また、この問題は上記1の【推奨される対応】を取っている場合にも、該当します。
56bitまでの暗号化方式にしか対応していない場合、IE7からSSLのリクエストが来た時点で、以下のメッセージがIHSのエラーログに出力されます。
[error] mod_ibm_ssl: SSL Handshake Failed, No ciphers specified.
[error] mod_ibm_ssl: SSL Handshake Failed, No ciphers specified.
[error] mod_ibm_ssl: SSL Handshake Failed, Bad message sent.
【対象のお客様】
IHSのhttpd.confの中で、56bit以下の暗号化方式しか使用可能になっていないお客様
IHS 1.3.12以降では128bit以上の暗号化方式に対応したモジュールが製品に用意されています。
httpd.confの中でロードしているibm_ssl_moduleを確認します。IHS 1.3.xの場合は、IBMModuleSSL128やmod_ibm_ssl_128と名前の付くモジュールがロードされていれば問題ありません。IHS 2.0/6.0/6.1が提供するSSLのモジュールは全て128bit以上に対応しています。
また、128bit以上のモジュールをロードしている場合でも、httpd.confの中のSSLCipherSpecディレクティブを指定して、明示的に使用する暗号化方式を指定することができます。このSSLCipherSpecの記述がない場合には、ロードしたモジュールが持つ暗号化方式の中で一番強度が高いものが自動で使用されます。よって、128bit以上の暗号化方式に対応したモジュールをロードしている場合は、このSSLCipherSpceの記述がなくても構いません。
【必要となる対応】
IHS 1.3の場合
httpd.confの中で、56bit以下のモジュールをロードしている場合には、128bit対応のモジュールに変更します。
また、httpd.confの中で、SSLCipherSpecを指定している場合には、128bit以上の暗号化方式が利用可能になっているか確認します。
IHS 2.0/6.0/6.1の場合
httpd.confの中で、SSLCipherSpecを指定している場合には、128bit以上の暗号化方式が利用可能になっているか確認します。
3. Window Vistaで使用される文字コードについて
Windows Vistaでは文字コードとしてJISX0213:2004を採用しています。JISX0213:2004では、JISX0208:1997で策定された第1水準および第2水準のJIS漢字コードに加えて、第3水準、第4水準の漢字コードが追加されています。Windows XPはJISX0208:1997を採用(注3)しているため、Windows Vistaで追加された一部の文字については、Windows XPなどのマシンで正しく表示できないことになります。(文字化けや代替文字での表示などが発生します。)Windows VistaのIMEからこれらの文字を入力する場合、「環境依存文字(unicode)」と表示されます。また、JISX0213:2004では符号化方式として、Unicodeを採用しています。
(注3) Windows XPでは、JISX0208:1997に対応していますが、JISX0213で追加になった文字についても一部サポートしています。また、使用するフォントやソフトウェアによっては、OS標準で持つ文字に追加してJISX0213の文字を使用できるものもあります。
WebSphere Application Server(以下、WAS)が提供するWebアプリケーションにおいて、Windows Vista上のIE7から環境依存文字を入力した場合、IE7では、該当文字を数値文字参照としてサーバーに送信します。WAS内部では、受け取った数値文字参照についてはコード変換を一切行わず、クライアントやSystemOutに出力する場合にも、数値文字参照として出力します。Windows Vista上のIE7がWASから数値文字参照を受け取る場合、IE7側で該当の文字に変換してブラウザー上に表示します。

以下は数値文字参照としてWASに送られる文字の一例です。
上段がJISX0208で定義されている文字で、IE7からは指定したエンコーディング方法でサーバーに送られます。
下段がJISX0213で追加になった文字で、IE7からは数値文字参照としてサーバーに送られます。

Webアプリケーションにて数値文字参照となるコードをクライアントから入力させたくない場合は、以下の対応をご検討ください。
(以下は、参考例です)
- 企業内でクライアントPCを制御できる場合は、Window Vista上で環境依存文字を入力できないように制限する。
- クライアントに表示されるWebアプリケーションの入力画面で、環境依存文字が使用されていないかチェックするロジックを追加する。(JavaScriptなどを利用)ただし、GETメソッドでの送付の場合は直接URLから環境依存文字を送信することも可能のため、環境依存文字をサーバーに送信することを完全に防ぐことは不可能です。
- WAS上のアプリケーションで、クライアントから受け取った文字をチェックし、代替文字に変更する、もしくはクライアントにエラーを返すロジックを追加する。
また現在でも、Windows 2000/2003/XP上でJISX0208以外の文字(「瀆」など)を入力することが可能であり、IE6などのブラウザーからサーバーに文字を送信する場合には、数値文字参照でUnicode番号が送られています。つまりこの文字コードの問題は、Windows Vistaに固有の問題という訳ではありません。
Windows VistaのJISX0213:2004対応についての詳細は、以下のMicrosoftの文書をご参照ください。
「JIS X 0213:2004 対応と新日本語フォント「メイリオ」について」
http://www.microsoft.com/japan/windowsvista/jp_font/default.mspx
4. Windows Vista上のInternet Explorer 7からのWAS内部ポートへのSSLアクセスについて
【問題の概要】
Windows Vista上のIE7からWAS V6.0の内部ポートへ直接SSLでアクセスした場合、ブラウザーには「ページを表示できません」のエラー・メッセージが表示される場合があります。(IBM HTTP Serverを経由したアクセスの場合は、上記の問題1, 2をご参照ください。)
【対象のお客様】
WAS V6.0をお使いのお客様(注4)
WAS V4.0, V5.0, V5.1, V6.1は対応不要です。
(注4)WAS V3.5以下については、サポート終了から時間がたっているため、現在のところ情報提供の予定はございません。ご了承ください。
【回避策】
WAS内部ポートへアクセスするブラウザーの設定画面から、TLS 1.0のオプションを外します。この場合、クライアントとWAS間はSSLv3で通信が行われます。
【解決策】
WASの管理コンソールから、SSL構成のプロトコルとしてSSL_TLSを有効にします。
このプロトコルはRefresh Pack 2 (WAS V6.0.2)から選択可能となっていますので、V6.0.0.x, V6.0.1.xをご利用のお客様は、Refresh Pack 2以降を適用してください。
プロトコル変更手順
1. 管理コンソールから、セキュリティー > SSL を選択します。
2. 該当のSSL構成レパートリー名をクリックし、SSLの構成画面を開きます。
3. プロトコルを選択するドロップダウンから、SSL_TLSを選択します。

4. 変更後、構成を保管します。(ND環境では同期も実施します。)
5. サーバーを再起動します。
【補足】
2006年12月現在、管理コンソールとしてサポートされるブラウザーとして、Internet Explorer 7は含まれておりません。
「WebSphere Application Server detailed system requirements」
http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg27006921
【当問題のお問合せ先】
PAテクニカルサポート総合窓口
(有効なメンテナンス契約IBM番号をお持ちのお客様)
電話:0120-557-971
受付時間:月〜金 9:00〜17:00(祝日、12/30〜1/3を除く)
この文書は随時更新予定です。ご利用の際は最新の状況をご確認ください。
http://www.ibm.com/jp/domino01/mkt/websphere.nsf/doc/00355FD5
IBM, WebSphereはIBM Corporationの商標。
Microsoft, Windows, Windows VistaはMicrosoft Corporationの米国およびその他の国における商標。
JavaScriptはSun Microsystems, Inc.の米国およびその他の国における商標。
---
更新履歴
06/12/15 公開
06/12/25 問題4を追加
06/12/28 問題4を修正(対象をV6.0に限定)
07/01/12 問題2の表現を変更(内容の変更はありません)
07/01/12 お問合せ先の追加
07/01/29 問題1に補足を追加
07/03/19 問題1の概要に補足を追加 |
 |
|
 |
| 製品/カテゴリー名 |
WebSphere Application Server |
| 有効期限 |
12/15/2008 |
| 発表日 |
|
| 資料番号 |
|
|
|
|
|