Comments
Transcript
Oracle Discoverer 4i Plusに おけるファイアウォールおよ びSSL
Oracle Discoverer 4i Plusに おけるファイアウォールおよ びSSLのヒント Oracleホワイトペーパー 2002年2月 Oracle Discoverer 4i Plus におけるファイアウォール および SSL のヒント はじめに............................................................................................................................3 背景....................................................................................................................................3 シナリオ............................................................................................................................4 基本的なDiscoverer起動 .......................................................................................................... 5 ファイアウォール.................................................................................................................... 6 ファイアウォールを原因とする Discoverer の問題....................................................... 6 Gatekeeper によるファイアウォールの通過 ................................................................... 7 中間層の構成...................................................................................................................... 8 クライアントの構成 .......................................................................................................... 8 SSL............................................................................................................................................. 9 SSL 設定の最も一般的な誤り ........................................................................................ 10 Gatekeeper による SSL サポート .................................................................................... 11 Gatekeeper によるファイアウォール経由の SSL サポート ........................................ 13 中間層の構成.................................................................................................................... 14 クライアントの構成 ........................................................................................................ 14 単一のServerによるクライアント構成一覧........................................................................ 16 追記..................................................................................................................................17 HTTPトンネリング................................................................................................................ 17 GKCONFIGの使用 ................................................................................................................. 17 HTTPD.CONFにおけるMIMEタイプの設定....................................................................... 19 無効または不完全な証明連鎖 .............................................................................................. 19 Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 2002 年 2 月 Oracle ホワイトペーパー Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。 2 Oracle Discoverer 4i Plus におけるファイアウォール および SSL のヒント はじめに このドキュメントは技術者向けです。Oracle9i Application Server バージョン 1.0.2.2 の一部として Oracle Discoverer 4i Plus の配置、またはトラブルシューティングを行ううえで役立ちます。このドキュメントは最初から最後まですべ て目を通してください。 『Oracle Discoverer 4i Plus and Viewer 構成ガイド』にも同じ情報が記載されています。ただし、構成に関する幅広い 情報が網羅されており、熟読しないと内容が複雑に感じられる場合があります。Discoverer 4i Plus のコンポーネン トは Oracle9iAS に組み込む前に複数サーバーに分散できます。Oracle9iAS と組み合せてインストールすると、コン ポーネント構成の多くは無効となるため、ドキュメントに盛り込まれる内容も簡素化され範囲が狭くなります。こ のドキュメントは『Oracle Discoverer 4i Plus and Viewer 構成ガイド』のかわりではなく、補足としてお読みくださ い。 背景 このドキュメントの情報を適切に使用するための前提条件は次のとおりです。 • コンピュータ・ネットワーキングの基本スキル(プロトコル、ルーティング、トポロジなどの理解) • ネットワーク・ファイアウォールの基礎知識 • Secure Socket Layer(SSL)プロトコルの基礎知識 これらのトピックの理解を深めるには、次の参考資料をご利用ください。* ネットワーキング 『Absolute Beginner's Guide to Networking (3rd Edition)』Joseph Habraken、Mark Gibbs 著、ISBN 0789725452 『TCP/IP Network Administration, 2nd Edition』Craig Hunt 著、ISBN 1-56592-322-7 ファイアウォール http://www.interhack.net/pubs/fwfaq/ SSL http://developer.netscape.com/tech/security/ssl/howitworks.html *このリストは、これらの参考資料およびその内容を保証するものではありません。 Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 2002 年 2 月 Oracle ホワイトペーパー Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。 3 シナリオ すべてのシナリオにおいて、Discoverer または Plus と言うときには Oracle9iAS 1.0.2.2 にバンドルされる Oracle Discoverer 4i Plus を指しています。 次の図は、すべての項で使用される図の規則について説明したものです。次の点を除き、大半は説明を要しません。 • 青の実線は、安全ではないネットワーク接続を示します。 • 緑の実線は、SSL を使用した安全なネットワーク接続を示します。 • 青の破線は、ファイルとそのファイルを使用するコンポーネントを結んでいます。 • 青の破線のステップ番号は、そのファイルを使用する最初のステップに対応します。 クライアント・マシン 9iASサーバー・マシン ステップ番号、プロトコル、 TCPポート番号 サーバーのファイル 1-HTTP(80) ブラウザ 80) P( T T 2-H HTTPD 2 Locator.ior 3-IIOP(ランダム) JVM 4-II OP (ラ Locator ンダ ム) dis4ws 最後に Gatekeeper について説明します。上図には見られませんが、このドキュメントの他のほぼすべての図に出現 します。Gatekeeper は Oracle9iAS マシン上で実行されるデーモンです。Gatekeeper は Discoverer によってインストー ルされますが、デフォルトでは他の Discoverer サービス(OAD、OSAgent、Locator)とは一緒に起動されません。 多様な機能を実行する Gatekeeper は、Oracle9iAS マシン上で実行されるプロキシ・サーバーと考えることもできま す。 Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 2002 年 2 月 Oracle ホワイトペーパー Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。 4 基本的な Discoverer 起動 1-HTTP(80) ブラウザ 0) (8 P T T 2-H HTTPD 2 Locator.ior 3-IIOP(ランダム) JVM 4-II OP (ラ Locator ンダ ム) dis4ws Discoverer 4i Plus クライアントは Java アプレットです。上図は、Plus が起動されて、その後 Oracle9iAS 中間層と通 信する様子を示したものです。 1. ブラウザは、HTTP 接続を使用して Plus の HTML「スタート」ページを HTTP サーバーから取り出しま す。Plus の Java アプレットのダウンロード指示がこの HTML ページに埋め込まれています。 2. ブラウザの JVM(Oracle JInitiator または Microsoft 社の IE 用 JVM)は、HTTP を使用して Java アプレッ ト・ファイルを HTTP サーバーから取り出します。Java アプレット・ファイルがダウンロードされると、 Java アプレットが起動されます。Java アプレットは HTTP サーバーから即時に locator.ior ファイルを取 り出します。 3. Java アプレットは locator.ior ファイルの情報(IP アドレスおよび TCP ポート)を読み込み、IIOP を使用 して Locator に接続します。Locator によって、Discoverer セッション(中間層の dis4ws プロセス)の位 置が Java アプレットに指示されます。 4. これ以降、Java アプレットは IIOP を使用して中間層の同じ dis4ws プロセスと直接通信します。ユーザー がログイン情報を入力するよう促されます。 Plus ではデータ通信にブラウザが使用されないという点を理解することが重要です。Java アプレットは JVM (JInitiator または MS JVM)内で実行され、ブラウザとのやりとりは Java アプレットを起動する HTML ページの表 示に限られます。 また、IIOP は接続に使用される TCP ポートを特定のポートに制限しないという点にも注意してください。これは、 図のように TCP ポートが「(ランダム)」として示されています。 Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 2002 年 2 月 Oracle ホワイトペーパー Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。 5 ファイアウォール ほとんどのファイアウォールでは、IIOP が明示的にサポートされていません。ファイアウォール管理者が Oracle9iAS マシンへの TCP/IP トラフィックがすべて許可されるように構成していれば IIOP はファイアウォールを 通過できますが、IIOP を特に認識するファイアウォールはほとんどありません。 ファイアウォールを原因とする Discoverer の問題 1-HTTP(80) ブラウザ 2 0) (8 P T -HT 2 Locator.ior Locator 3-IIOP(ランダム) ファイアウォール JVM HTTPD dis4ws 上図は、クライアント・マシンと Oracle9iAS サーバーの間に配置されたファイアウォールを示しています。ほとん どのファイアウォールと同様、このファイアウォールでも Oracle9iAS のポート 80 への HTTP トラフィックが許可 され、特定のポート/プロトコルの組合せを除いて他のトラフィックはすべてブロックされています。クライアン トのブラウザは Plus の HTML「スタート」ページを取り出すことができ、JVM は Java アプレット・ファイルと locator.ior ファイルをダウンロードできます。しかし、Java アプレットが IIOP を使用して Locator に接続しようと すると失敗します。ユーザーには、この時点で「Wide Area Network Connection Failed」というメッセージが表示さ れます。(注意: このエラー・メッセージはファイアウォール構成に固有のものではありません。中間層の Discoverer コンポーネントが停止した場合にも表示されます。) この場合もやはり、ファイアウォール管理者が Oracle9iAS マシンとの間のトラフィックを無制限に許可していれば 問題は発生しません。ただし、この方法ではファイアウォール本来の目的を大きく損なうため、実際に採用される ことはほとんどありません。 Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 2002 年 2 月 Oracle ホワイトペーパー Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。 6 Gatekeeper によるファイアウォールの通過 2 1-HTTP(80) ブラウザ HTTPD 2 80) P( T T 2- H 3-IIOP/HTTP(15000) 150 00) ファイアウォール T P( Gatekeeper 3 JVM 4-IIO P/H T Locator.ior Locator gatekeeper.ior 4 dis4ws Oracle9iAS マシンの特定のポートへ流れるトラフィックに対してであれば、ファイアウォール管理者もファイア ウォールを開放しやすくなります。前述したように、問題は接続に使用される TCP ポートを IIOP が制限しないこ とです。Gatekeeper によってこの問題が解決されます。 1. ブラウザは、HTTP 接続を使用して Plus の HTML「スタート」ページを HTTP サーバーから取り出しま す。Plus の Java アプレットのダウンロード指示がこの HTML ページに埋め込まれています。 2. ブラウザの JVM(JInitiator または MS JVM)は、HTTP を使用して Java アプレット・ファイルを HTTP サーバーから取り出します。Java アプレット・ファイルがダウンロードされると、Java アプレットが起 動されます。Java アプレットは HTTP サーバーから即時に gatekeeper.ior および locator.ior ファイルを取 り出します。 3. Java アプレットは gatekeeper.ior および locator.ior ファイルの情報(IP アドレスおよび TCP ポート)を読 み込み、IIOP または HTTP*を使用して Gatekeeper 経由で Locator に接続します。 a. gatekeeper.ior ファイルには、Gatekeeper がリスニングする IP アドレスおよび TCP ポートが指定され ています。デフォルトのポート番号は 15000(上図参照)です。 b. Java アプレットは以前と同じように locator.ior 情報を使用しますが、すべての通信にプロキシとし て Gatekeeper を使用する必要があることを認識しています。 c. Locator は、Gatekeeper を経由して Discoverer セッションに対する Java アプレットのリクエストを取 り出して Gatekeeper にリプライします。 4. これ以降、Java アプレットは IIOP または HTTP*を使用して Gatekeeper 経由で中間層の同じ dis4ws プロ セスと通信します。ユーザーがログイン情報を入力するよう促されます。 *Gatekeeper は、単純に IIOP トラフィックをプロキシ処理するか、または HTTP 経由でトンネリングされた IIOP をプロキシ処理するように構成できます。構成内容と使用時期の説明は、このドキュメントの最後の項を参照して Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 2002 年 2 月 Oracle ホワイトペーパー Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。 7 ください。トンネリングの有無に関わらず、Gatekeeper は gatekeeper.ior ファイルで指定されたポートをリスニング します。 中間層の構成 gkconfig ツールの使用方法は、最後の「追記」の項をお読みください。gkconfig ツールを使用して、次のようにポー ト番号を設定します。 「Exterior」タブの 「Exterior Port」フィールドにポート番号を指定します。Gatekeeper は、 このポートの IIOP トラフィッ クと HTTP トラフィックの両方をリスニングします。 他のフィールドは指定しないでください。「Exterior Address」フィールドに Oracle9iAS マシンの IP アドレスを入力 しても問題はありませんが、この IP アドレスはデフォルトで使用されることになっています。「Exterior Proxy Address」または「Exterior Proxy Port」を指定すると問題が発生します。これらのフィールドは、Gatekeeper とクラ イアントの間にプロキシ・サーバーまたは NAT デバイスが存在する場合に使用します。こうした構成は一般的で はないため、このドキュメントでは説明しません。 最後に、Gatekeeper の起動については『Oracle Discoverer 4i Plus and Viewer 構成ガイド』の指示に従ってください (Windows と UNIX で異なります)。 クライアントの構成 デフォルトでは、Java アプレットは異なるオプションを使用して次の順序で接続を試行します。 1. IIOP 直接接続(locator.ior を検索) Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 2002 年 2 月 Oracle ホワイトペーパー Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。 8 2. IIOP プロキシ接続(gatekeeper.ior を検索) 3. HTTP トンネリング接続(gatekeeper.ior を検索) 数秒してから各試行がタイムアウトして失敗する場合があります。すべての試行が失敗した場合は、「Local Area Network Connection Failed...Wide Area Network Connection Failed」というエラー・メッセージが表示されます。 IIOP プロキシまたは HTTP トンネリングが使用される場合は、IIOP 直接接続の試行を省略すると時間の節約にな ります。省略するには、Plus の起動前に適切な URL パラメータを追加します。 • 即時に IIOP プロキシを試行する場合は ORBAlwaysProxy • 即時に HTTP トンネリングを試行する場合は ORBAlwaysTunnel 同じ URL 内で両方のパラメータを使用しないでください。詳細と例は、『Oracle Discoverer 4i Plus and Viewer 構成 ガイド』の 7.9.2 項を参照してください。 SSL SSL は TCP ソケット・レベルで通信を暗号化します。SSL 暗号化接続では、HTTP と IIOP の両方を使用できます。 SSL をサポートするファイアウォールは、SSL 暗号化接続のデータを解読できません(解読できると暗号化の意味 がなくなります)。内容が SSL で暗号化されている場合はパケット・ヘッダーに示されるため、ファイアウォール は任意のポートで非 SSL トラフィックをブロックできます。 たとえば、ファイアウォールはポート 443 の HTTPS(SSL 暗号化 HTTP)と IIOPS(SSL 暗号化 IIOP)を区別でき ません。ただし、ポート 443 の SSL を許可して、ポート 443 の FTP トラフィックをブロックするということは可 能です。 Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 2002 年 2 月 Oracle ホワイトペーパー Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。 9 SSL 設定の最も一般的な誤り 1 1-HTTPS(443) ブラウザ 43) (4 S P TT 2-H HTTPD 証明書 ファイル 2 3-IIOP(ランダム) JVM 4-II OP (ラ ンダ ム) Locator Locator.ior dis4ws 最も一般的な誤りは、HTTP サーバーにおける SSL の有効化と Discoverer Plus における SSL の有効化を混同するこ とです。この 2 つはまったく異なるアクティビティで、ほとんど無関係です。 上図は、この一般的な誤りを示したものです。 1. ブラウザは、HTTPS 接続を使用して Plus の HTML「スタート」ページを HTTP サーバーから取り出し ます。SSL ハンドシェイクでは、HTTP サーバーの証明書およびキー・ファイルが使用されます。Plus の Java アプレットのダウンロード指示がこの HTML ページに埋め込まれています。 2. ブラウザの JVM(JInitiator または MS JVM)は、HTTPS を使用して Java アプレット・ファイルを HTTP サーバー*から取り出します。Java アプレット・ファイルがダウンロードされると、Java アプレットが 起動されます。Java アプレットは HTTP サーバーから即時に locator.ior ファイルを取り出します。 3. Java アプレットは locator.ior ファイルの情報(IP アドレスおよび TCP ポート)を読み込み、IIOP を使用 して Locator に接続します。Locator によって、Discoverer セッション(中間層の dis4ws プロセス)の位 置が Java アプレットに指示されます。 4. これ以降、Java アプレットは IIOP を使用して中間層の同じ dis4ws プロセスと直接通信します。ユーザー がログイン情報を入力するよう促されます。 ステップ 1 および 2 では、通信が SSL によって暗号化されています。ステップ 3 および 4 では通信は暗号化されず、 IIOP が使用されます。このドキュメントの冒頭で述べたように、Java アプレットは Oracle9iAS 中間層との通信に ブラウザを使用しません。ただし HTML「スタート」ページが SSL 接続を介して取り出されているため(ブラウ ザにロック・アイコンが表示される)、ユーザーは Java アプレットも SSL を使用していると勘違いしてしまうので す。 Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 2002 年 2 月 Oracle ホワイトペーパー Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。 10 *バージョン 1.1.8.11 以前の Oracle JInitiator では、Java クラス・ファイルのロードで HTTPS がサポートされていま せん。Internet Explorer 用 MS JVM でも一部のバージョンでサポートされていない可能性がありますが、最新バー ジョンでは確実にサポートされています。この問題を検出するには、Java アプレットの起動時に Java コンソール を参照してください。クラス・ファイルの URL がダウンロードと同時にコンソールに表示されます。URL が"https" で始まってダウンロードが失敗する場合、これが原因となっている可能性があります。 Gatekeeper による SSL サポート 1 証明書 ファイル 2 1-HTTPS(443) ブラウザ HTTPD 2 ) 443 PS( T T 2-H 3-SSL(443以外) 4-SS L (44 3以外 ) 3 Gatekeeper JVM Locator.ior Locator gatekeeper.ior 3 4 dis4ws 証明書 ファイル Locator および Discoverer セッション・オブジェクト(dis4ws プロセス)では IIOP のみが使用され、SSL 暗号化は サポートされません。Plus クライアントと Oracle9iAS 中間層との通信を保護するため、この場合も Gatekeeper を 使用します。 1. ブラウザは、HTTPS 接続を使用して Plus の HTML「スタート」ページを HTTP サーバーから取り出し ます。ブラウザおよび HTTP サーバー間の SSL ハンドシェイクでは、HTTP サーバーの証明書および キー・ファイルが使用されます。Plus の Java アプレットのダウンロード指示がこの HTML ページに埋 め込まれています。 2. ブラウザの JVM(JInitiator または MS JVM)は、HTTPS を使用して Java アプレット・ファイルを HTTP サーバーから取り出します。Java アプレット・ファイルがダウンロードされると、Java アプレットが起 動されます。Java アプレットは HTTP サーバーから即時に gatekeeper.ior および locator.ior ファイルを取 り出します。 3. Java アプレットは gatekeeper.ior および locator.ior ファイルの情報(IP アドレスおよび TCP ポート)を読 み込み、SSL を使用して Gatekeeper 経由で Locator に接続します。 Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 2002 年 2 月 Oracle ホワイトペーパー Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。 11 a. gatekeeper.ior ファイルには、Gatekeeper がリスニングする IP アドレスおよび TCP ポートが指定され ています。デフォルトのポート番号は 15000 です(上図では「443 以外」と表示)。 b. Java アプレットは以前と同じように locator.ior 情報を使用しますが、すべての通信にプロキシとし て Gatekeeper を使用する必要があることを認識しています。Java アプレットと Gatekeeper の間の SSL ハンドシェイクでは、証明書およびキー・ファイル(HTTP サーバーのものとは異なる)が使用さ れます。 c. Locator は、Gatekeeper を経由して Discoverer セッションに対する Java アプレットのリクエストを取 り出して Gatekeeper にリプライします。Gatekeeper は Java アプレットにリプライを送信します。 4. これ以降、Java アプレットは SSL を使用して Gatekeeper 経由で中間層の同じ dis4ws プロセスと通信し ます*。ユーザーがログイン情報を入力するよう促されます。 *Java アプレットおよび Gatekeeper は SSL で通信しますが、Gatekeeper プロキシは暗号化されていない IIOP を使用 して Locator および Discoverer セッションと通信します。これらはすべて同じ Oracle9iAS マシンにあるため、セキュ リティ上の影響は最小限に抑えられます。 上図は HTTP サーバーと Gatekeeper の両方によって使用される SSL 暗号化を示したものです。この構成は一般的 なものですが、いくつかの非常に重要な点が示されています。 • プロトコルに関係なく、Gatekeeper と HTTP サーバーが同じ IP アドレスおよび TCP ポートをリスニングす ることはできません。HTTP サーバーはデフォルトでポート 443 の SSL をリスニングするので、上図では Gatekeeper が未使用の他のポートをリスニングする必要があることが示されています。 • SSL 接続の確立には、証明書とキー・ファイルが使用されます。各サーバー・プロセス(HTTPD、Gatekeeper など)は、SSL に対して別々に構成される必要があります。 • HTTP サーバーと Gatekeeper の両方に同じ証明書とキー・ファイルを使用できますが、使用される暗号化お よび署名方法が両方でサポートされている場合に限ります。『Oracle Discoverer 4i Plus and Viewer 構成ガイ ド』の 6.8.4 項に Gatekeeper の要件が説明されています。 Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 2002 年 2 月 Oracle ホワイトペーパー Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。 12 Gatekeeper によるファイアウォール経由の SSL サポート 2 1-HTTP(80) ブラウザ HTTPD 2 2-HT 80) TP( 3-SSL(443) ファイアウォール (44 3) Gatekeeper 3 JVM 4-SS L Locator.ior Locator gatekeeper.ior 3 4 dis4ws 証明書 ファイル 上図は 3.3.2 項の図とほぼ同じです。ファイアウォールが含まれていること、また HTTP サーバーが SSL を使用せ ずにポート 80 をリスニングするように構成されている点が異なります。 前述したように、ほとんどのファイアウォールではポート 443 の SSL トラフィックがサポートされます。ただし、 他のポートでの SSL トラフィックは許可されない場合があります(ベンダーにより異なります)。技術的には、SSL 接続でポート 443 を使用する必要はありません。Oracle HTTP Server と Gatekeeper の両方を、任意のポート番号で SSL を使用するように構成できます。ただし、ファイアウォール・ベンダーがサポートする可能性が最も高いのは ポート 443 です。 上図はポート 80 の HTTP トラフィックとポート 443 の SSL トラフィックのみが許可されるファイアウォールを示 しており、1 つの IP アドレスを持つ 1 つの Oracle9iAS マシンだけが存在します*。 これらの制約をふまえ、Gatekeeper 用にポート 443 で SSL を有効にして、HTTP サーバーは SSL を使用せずにポート 80 で実行することをお薦めしま す。 *HTTP サーバーと Gatekeeper の両方で SSL を使用するソリューションには、他にも次のようなものがあります。 • Oracle9iAS マシン上に複数の IP アドレス(複数 NIC)を設定して、HTTP サーバーと Gatekeeper が個別の IP アドレスをリスニングするように構成するソリューション。このソリューションはサポートされていません。 (VisiBroker のマニュアルによると)可能ではありますが、この方法を確実に動作させるうえでの問題が多数 報告されています。 • Gatekeeper を別のマシンにインストールするソリューション。VisiBroker Gatekeeper は Discoverer での使用に 対してのみライセンスされているため、Oracle9iAS 全体を別のマシンで実行する必要があります。その後、 SSL が有効な HTTP サーバーを持つ Oracle9iAS マシンに gatekeeper.ior ファイルを手動でコピーします。詳 細は『Oracle Discoverer 4i Plus and Viewer 構成ガイド』の 7.10.3 項を参照してください。 Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 2002 年 2 月 Oracle ホワイトペーパー Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。 13 • 上記のソリューションを実現するさらに簡単な方法は、Inprise 社からライセンスを購入して Gatekeeper 製品 のみをインストールすることです(『Oracle Discoverer 4i Plus and Viewer 構成ガイド』の 7.10.3 項でも説明 しています)。 中間層の構成 『Oracle Discoverer 4i Plus and Viewer 構成ガイド』の 6.8 項に従ってください。混乱を招きやすい点を次に示します。 • 6.8.3 項では、Gatekeeper をポート 443 で、かつ HTTP サーバーと同じマシン上で実行するかどうかの決定が 説明されています。この点が明確でない場合には、その前の項の箇条書き項目を参照してください。 • 6.8.5 項では、Gatekeeper への SSL 証明書のインストールが説明されています。インストール順序が重要で あるため、ルート CA 証明書は最後に追加してください。 • 6.8.5 項では、「Enable SSL on Exterior」ボックスを選択することが指定されています。これにより、「Exterior」 タブの「Exterior Port」に指定されたポートで SSL が有効になります。 • 「Enable SSL on Interior」は選択しないでください。Discoverer ではこの機能はサポートされません。 クライアントの構成 『Oracle Discoverer 4i Plus and Viewer 構成ガイド』の 6.8.6 項および 6.8.7 項には、各クライアント・マシンへの必須 SSL サポート・ファイルのインストール手順が記載されています。これらのファイルのインストールは必須で、イ ンストールしないと Plus で Oracle9iAS 中間層への SSL 通信がサポートされません。 6.8.8 項および 6.8.9 項では、必須 URL パラメータ ORBEnableSSL と他の URL パラメータとの有効な組合せが説明 されています。基本的に、ファイアウォール外部のユーザーは ORBEnableSSL=yes パラメータを使用し、ファイア ウォール内部のユーザーは ORBEnableSSL=yes パラメータと ORBAlwaysProxy=yes パラメータの両方を(SSL を有 効にするために)使用してください。ORBEnableSSL と ORBAlwaysTunnel を同じ URL 内で使用しないでください。 一般的な問題と誤り: • 『Oracle Discoverer 4i Plus and Viewer 構成ガイド』の 6.8.6 項および 6.8.7 項の最後に、クライアントが必須 SSL サポート・ファイルをダウンロードできるように URL が記載されています。デフォルトでは、 Oracle9iAS HTTP Server がこれらのファイルをクライアントに間違って転送します。これは、HTTP サー バーがバイナリ MIME タイプと".jar"、".dll"または".so"ファイルを関連付けないためです。この問題の修正 方法の詳細は、このドキュメントの最後の項を参照してください。 • SSL が有効な状態で HTTP サーバーが実行されていない限り、Discoverer 4i Plus では URL に"https://"を使用 しないでください。 • すべての構成が正しく行われている場合でも、ブラウザにはロック・アイコンが表示されないため、ユーザー は Plus が SSL を使用していないものと推測することがあります。Plus で SSL が有効になっていることを確 認するには、Java コンソールを参照するかパケット Sniffer を使用します。Java コンソールには、Java アプ レット起動後すぐに SSL が有効であるというメッセージが表示されます(この方が簡単です)。 Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 2002 年 2 月 Oracle ホワイトペーパー Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。 14 • 証明連鎖が間違った順序で Gatekeeper にインストールされている場合、Java アプレットの起動後すぐに、Java コンソールに「Invalid Cert Chain」というメッセージが表示されます。証明書の順序をチェックして再試行 してください。順序が正しいのにエラー・メッセージが表示される場合は、次の項目を参照してください。 • Gatekeeper が証明書のフォーマットを認識しないことがあります。詳細とソリューションは、このドキュメ ントの最後の項を参照してください。 Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 2002 年 2 月 Oracle ホワイトペーパー Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。 15 単一の Server によるクライアント構成一覧 ファイアウォール 証明書ファイル 1H ブラウザ TT P( 80 ) gatekeeper.ior Locator.ior JVM 2-H TT P (8 30) IIO PS /H TT PS ( 43 3) IIO 4- 1-HTTP(80) 3) 43 JVM 433) 4-IIOPS/HTTPS( ブラウザ TP (8 0) 3-IIOP(ランダム) Gatekeeper 0) (8 P T T 3) (43 TTPS H / S P 3-IIO 2-H 2-H T ( PS ブラウザ TT /H PS 1-H 80) TTP( HTTPD Locator JVM IO 4-I P( ム) ダ ラン dis4ws 証明書ファイル Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 2002 年 2 月 Oracle ホワイトペーパー Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。 16 追記 HTTP トンネリング World Wide Web の使用が広く普及しているため、HTTP プロトコルは必ずといっていいほどファイアウォールを通 過することができます。HTTP トンネリングは、送信者が別のプロトコルを HTTP にラップして、受信者が元のプ ロトコルのラップを解除することで機能します。 次に例を示します。 会社の自分のオフィスから別のオフィスにパッケージを送信する必要があり、オフィスは互いに地球の反対 側にあると仮定します。パッケージを「社内」という封筒に入れ、宛先として社内コードを記入します。オ フィスの郵便担当員がパッケージを収集したところ宛先が地球の反対側であることに気付き、民間の配送会 社(UPS、FedEx、DHL など)経由で配達することにしました。郵便担当員は社内封筒を民間の配送会社に そのまま渡すことはできないので、社内封筒を別の郵便封筒に入れてもう一方のオフィスの住所を記入する 必要があります。もう一方のオフィスの郵便担当員はこのパッケージを受け取って開封し、これが社内封筒 であることを認識して社内の宛先に配送します。 この例で、社内配送と民間配送は 2 つの異なるプロトコルです。郵便担当員は社内パッケージを民間配送パッケー ジに「ラップ」し、もう一方の担当員は元の社内パッケージを「ラップ解除」して転送しました。 HTTP トンネリングでは、IIOP に対してこれとまったく同じことが行われます。ファイアウォールでは IIOP パッ ケージの通過が許可されない場合がありますが、HTTP パケットは許可されます。ただし、そのためにはクライア ントと Gatekeeper が常にパケットのラップ/ラップ解除を行う必要があります。パフォーマンス上の影響はありま すが、ほとんどのユーザーはそれを重要なこととは考えません。 多くの顧客にとって、HTTP トンネリングまたは SSL が唯一のソリューションであり、IIOP プロキシは役に立ちま せん。クライアント・マシンと Oracle9iAS マシンの間に複数のファイアウォールがあった場合、各ファイアウォー ルは特定のポート経由で IIOP トラフィックを許可する必要があります。このような状況は、組織に複数の内部ファ イアウォールが存在し、顧客がすべてのファイアウォールでそのポートを IIOP 用に開放できるような場合に発生 することもあるでしょう。しかしクライアントがある企業のファイアウォールの背後に位置し、Oracle9iAS サー バーが別の企業のファイアウォールの背後に位置する(B2B)ことがほとんどです。この場合、一方の企業がもう 一方の企業のファイアウォールを制御するのではなく、両社が HTTP または SSL トラフィックを許可して HTTP トンネリングまたは SSL が必ず使用されるようにします。 GKCONFIG の使用 gkconfig の起動方法に注意を払うことは非常に重要です。これは gatekeeper.properties ファイルと gatekeeper.ior ファ イルの場所に影響します。 Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 2002 年 2 月 Oracle ホワイトペーパー Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。 17 『Oracle Discoverer 4i Plus and Viewer 構成ガイド』(7.10.2 項)の最も重要なポイントを要約すると次のようになりま す。 Discoverer は次の場所にインストールされた Gatekeeper を使用します。 <ORACLE_806_HOME>/vbroker/bin/gatekeeper gkconfig ツールは次の場所から起動する必要があります。UNIX 環境では、<ORACLE_806_HOME>/discwb4/ディ レクトリの discwb.sh または discwb.csh を利用して Discoverer の環境変数を事前に設定してください。 <iSUITES_HOME>/Apache/Apache/htdocs/discwb4/applet 次の場所からは起動しないでください。 <ORACLE_806_HOME>/vbroker/bin/gatekeeper 前述のとおりにすると、gatekeeper.properties、gatekeeper.ior および gatekeeper.log の各ファイルのデフォルトの場 所は次のようになります。 <iSUITES_HOME>/Apache/Apache/htdocs/discwb4/applet gkconfig を上記の場所から実行しない場合の最大の問題は、gatekeeper.properties ファイルが正しい場所に存在しな くなることです。つまり、ファイルを保存しても構成の変更が有効になりません。マニュアルに従って Gatekeeper を起動した場合、gatekeeper.properties ファイルが特定の場所にあると想定されます。デフォルト・ファイルが提供 済みであるため、Gatekeeper は起動しますが(この問題を見逃しやすくする原因となっています)、ユーザーが Plus に接続しようとすると問題が発生します。 この問題をチェックするのは非常に簡単です。 gkconfig の構成を変更して保存した後、次の場所にある gatekeeper.properties ファイルのタイムスタンプをチェック してください。 <iSUITES_HOME>/Apache/Apache/htdocs/discwb4/applet Gatekeeper を起動した後、次の場所にある gatekeeper.ior ファイルのタイムスタンプをチェックしてください。 <iSUITES_HOME>/Apache/Apache/htdocs/discwb4/applet ファイルがない場合、またはファイルのタイムスタンプが正しくない場合は、マニュアルに正確に従って gkconfig を起動してください。 Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 2002 年 2 月 Oracle ホワイトペーパー Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。 18 HTTPD.CONF における MIME タイプの設定 『Oracle Discoverer 4i Plus and Viewer 構成ガイド』で説明されているように、Discoverer 4i Plus で SSL をサポートす るにはクライアント・マシンにいくつかのファイルをダウンロードする必要があります。残念ながら、Oracle HTTP Server のデフォルト構成ではこれらのファイルに対するバイナリ MIME タイプが指定されていません。クライアン ト・ブラウザによっては*、正しい MIME タイプ設定がないとこれらのファイルがクライアント・マシンに正しく 保存されません。ファイルのダウンロードは正常に完了しますが、ファイルの内容が破損します。ユーザーにはファ イルに問題があることは知らされません。 この問題を解決するには、該当する MIME タイプを Oracle HTTP Server の主要構成ファイルに追加します。 HTTP サーバーで、httpd.conf ファイルを編集します。 次の内容で始まるセクションに移動してください。 #AddType allows you to tweak mime.types without actually editing it, or to #make certain files to be certain types. 次の行を追加します。 AddType application/octet-stream .so AddType application/octet-stream .dll AddType application/octet-stream .jar ファイルを保存して Oracle HTTP Server を再起動します。 クライアント・マシンで SSL の必須ファイルを再度ダウンロードします。 *Microsoft 社の Internet Explorer の一部バージョンでは、HTTP サーバーから MIME タイプ情報を受け取らなくても これらのファイルがバイナリとして認識されます。Netscape Navigator 4.x では必ずこの問題が発生します。 無効または不完全な証明連鎖 2 つのマシンが相互に SSL 暗号化接続を確立しようとする場合、ハンドシェイクというプロセスが発生します。一 般的に、この用語は任意プロトコルの初期ネゴシエーション・プロセスを指しますが、ここでは SSL ハンドシェイ ク中に発生する固有の問題について説明します。 SSL が有効な場合、Gatekeeper は起動時に証明連鎖の妥当性を検証します。連鎖が不完全な場合、順序が間違って いる場合、または証明が有効なフォーマットでない場合は Gatekeeper が正しく動作しません。サポートされる フォーマットについては、『Oracle Discoverer 4i Plus and Viewer 構成ガイド』の 6.8.4 項を参照してください。 一般的な問題と誤り: • Oracle HTTP Server によってサポートされる証明連鎖は、必ずしも Gatekeeper で動作するとは限りません。 Oracle HTTP Server では、Gatekeeper よりも多くのフォーマットがサポートされています。 Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 2002 年 2 月 Oracle ホワイトペーパー Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。 19 • トライアル証明書を使用する場合は有効期限をチェックしてください。たとえば、去年のプロジェクト用に 生成されたトライアル証明書はおそらく期限が切れています。 Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 2002 年 2 月 Oracle ホワイトペーパー Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。 20 Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント 2002 年 2 月 原本著者: Christopher H. Barron 原本協力者: Tejas Shah Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. 世界共通窓口: 電話:650-506-7000 FAX:650-506-7200 http://www.oracle.com/ Oracle はオラクル社の登録商標です。掲載されている様々な製品名および サービス名は、オラクル社の商標です。他のすべての製品名およびサービス 名は、それぞれの所有者の商標です。 この文書はあくまでも参考資料であり、掲載されている情報は予告なしに変更 されることがあります。 万一、誤植などにお気づきの場合は、オラクル社までお知らせください。オラ クル社は本書の内容に関していかなる保証もしません。また、本書の内容に関 連したいかなる損害についても責任を負いかねます。 版権 © Oracle Corporation 2002 無断転載を禁ず