+ All Categories
Home > Documents > Oracle Discoverer 4i Plusに おけるファイアウォールおよ びSSLの...

Oracle Discoverer 4i Plusに おけるファイアウォールおよ びSSLの...

Date post: 06-Apr-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
21
Oracle Discoverer 4i Plusおけるファイアウォールおよ SSLのヒント Oracleホワイトペーパー 20022
Transcript
Page 1: Oracle Discoverer 4i Plusに おけるファイアウォールおよ びSSLの …otndnld.oracle.co.jp/products/bitools/discoverer/pdf/... · 2002-09-26 · Oracle Discoverer 4i Plus

Oracle Discoverer 4i Plusにおけるファイアウォールおよ

びSSLのヒント

Oracleホワイトペーパー 2002年2月

Page 2: Oracle Discoverer 4i Plusに おけるファイアウォールおよ びSSLの …otndnld.oracle.co.jp/products/bitools/discoverer/pdf/... · 2002-09-26 · Oracle Discoverer 4i Plus

Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 Oracle ホワイトペーパー 2 2002 年 2 月 Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。

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

Page 3: Oracle Discoverer 4i Plusに おけるファイアウォールおよ びSSLの …otndnld.oracle.co.jp/products/bitools/discoverer/pdf/... · 2002-09-26 · Oracle Discoverer 4i Plus

Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 Oracle ホワイトペーパー 3 2002 年 2 月 Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。

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

*このリストは、これらの参考資料およびその内容を保証するものではありません。

Page 4: Oracle Discoverer 4i Plusに おけるファイアウォールおよ びSSLの …otndnld.oracle.co.jp/products/bitools/discoverer/pdf/... · 2002-09-26 · Oracle Discoverer 4i Plus

Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 Oracle ホワイトペーパー 4 2002 年 2 月 Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。

シナリオ

すべてのシナリオにおいて、Discoverer または Plus と言うときには Oracle9iAS 1.0.2.2 にバンドルされる Oracle

Discoverer 4i Plusを指しています。

次の図は、すべての項で使用される図の規則について説明したものです。次の点を除き、大半は説明を要しません。

• 青の実線は、安全ではないネットワーク接続を示します。

• 緑の実線は、SSLを使用した安全なネットワーク接続を示します。

• 青の破線は、ファイルとそのファイルを使用するコンポーネントを結んでいます。

• 青の破線のステップ番号は、そのファイルを使用する最初のステップに対応します。

ブラウザ

JVM

HTTPD

Locator

dis4ws

クライアント・マシン

ステップ番号、プロトコル、TCPポート番号

9iASサーバー・マシン

サーバーのファイル

4-IIOP(ランダム)

3-IIOP(ランダム)

2-HTTP(80)

1-HTTP(80)

Locator.ior

2ブラウザ

JVM

ブラウザ

JVM

HTTPD

Locator

dis4ws

HTTPD

Locator

dis4ws

クライアント・マシン

ステップ番号、プロトコル、TCPポート番号

9iASサーバー・マシン

サーバーのファイル

4-IIOP(ランダム)

3-IIOP(ランダム)

2-HTTP(80)

1-HTTP(80)

Locator.ior

2

最後に Gatekeeperについて説明します。上図には見られませんが、このドキュメントの他のほぼすべての図に出現

します。Gatekeeperは Oracle9iASマシン上で実行されるデーモンです。Gatekeeperは Discovererによってインストー

ルされますが、デフォルトでは他の Discoverer サービス(OAD、OSAgent、Locator)とは一緒に起動されません。

多様な機能を実行する Gatekeeperは、Oracle9iASマシン上で実行されるプロキシ・サーバーと考えることもできま

す。

Page 5: Oracle Discoverer 4i Plusに おけるファイアウォールおよ びSSLの …otndnld.oracle.co.jp/products/bitools/discoverer/pdf/... · 2002-09-26 · Oracle Discoverer 4i Plus

Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 Oracle ホワイトペーパー 5 2002 年 2 月 Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。

基本的な Discoverer 起動

ブラウザ

JVM

HTTPD

Locator

dis4ws

4-IIOP(ランダム)

3-IIOP(ランダム)

2-HTTP(80)

1-HTTP(80)

Locator.ior

2ブラウザ

JVM

ブラウザ

JVM

HTTPD

Locator

dis4ws

HTTPD

Locator

dis4ws

4-IIOP(ランダム)

3-IIOP(ランダム)

2-HTTP(80)

1-HTTP(80)

Locator.ior

2

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ポートが「(ランダム)」として示されています。

Page 6: Oracle Discoverer 4i Plusに おけるファイアウォールおよ びSSLの …otndnld.oracle.co.jp/products/bitools/discoverer/pdf/... · 2002-09-26 · Oracle Discoverer 4i Plus

Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 Oracle ホワイトペーパー 6 2002 年 2 月 Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。

ファイアウォール

ほとんどのファイアウォールでは、IIOP が明示的にサポートされていません。ファイアウォール管理者が

Oracle9iASマシンへの TCP/IPトラフィックがすべて許可されるように構成していれば IIOPはファイアウォールを

通過できますが、IIOPを特に認識するファイアウォールはほとんどありません。

ファイアウォールを原因とする Discoverer の問題

ファイ

アウォール

ブラウザ

JVM

HTTPD

Locator

dis4ws

3-IIOP(ランダム)

2-HTTP(80)

1-HTTP(80)

Locator.ior

2

ファイ

アウォール

ブラウザ

JVM

ブラウザ

JVM

HTTPD

Locator

dis4ws

HTTPD

Locator

dis4ws

3-IIOP(ランダム)

2-HTTP(80)

1-HTTP(80)

Locator.ior

2

上図は、クライアント・マシンと Oracle9iASサーバーの間に配置されたファイアウォールを示しています。ほとん

どのファイアウォールと同様、このファイアウォールでも Oracle9iASのポート 80への HTTPトラフィックが許可

され、特定のポート/プロトコルの組合せを除いて他のトラフィックはすべてブロックされています。クライアン

トのブラウザは Plus の HTML「スタート」ページを取り出すことができ、JVM は Java アプレット・ファイルと

locator.ior ファイルをダウンロードできます。しかし、Java アプレットが IIOP を使用して Locator に接続しようと

すると失敗します。ユーザーには、この時点で「Wide Area Network Connection Failed」というメッセージが表示さ

れます。(注意: このエラー・メッセージはファイアウォール構成に固有のものではありません。中間層の

Discovererコンポーネントが停止した場合にも表示されます。)

この場合もやはり、ファイアウォール管理者が Oracle9iASマシンとの間のトラフィックを無制限に許可していれば

問題は発生しません。ただし、この方法ではファイアウォール本来の目的を大きく損なうため、実際に採用される

ことはほとんどありません。

Page 7: Oracle Discoverer 4i Plusに おけるファイアウォールおよ びSSLの …otndnld.oracle.co.jp/products/bitools/discoverer/pdf/... · 2002-09-26 · Oracle Discoverer 4i Plus

Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 Oracle ホワイトペーパー 7 2002 年 2 月 Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。

Gatekeeper によるファイアウォールの通過

ファイアウォール

ブラウザ

JVM

HTTPD

Locator

dis4ws

3-IIOP/HTTP(15000)

2-HTTP(80)

1-HTTP(80)

Locator.ior

2

gatekeeper.ior

Gat

ekee

per

4-IIOP/HTTP(15000)

2

3

4ファイアウォール

ブラウザ

JVM

ブラウザ

JVM

HTTPD

Locator

dis4ws

3-IIOP/HTTP(15000)

2-HTTP(80)

1-HTTP(80)

Locator.ior

2

gatekeeper.ior

Gat

ekee

per

4-IIOP/HTTP(15000)

2

3

4

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

をプロキシ処理するように構成できます。構成内容と使用時期の説明は、このドキュメントの最後の項を参照して

Page 8: Oracle Discoverer 4i Plusに おけるファイアウォールおよ びSSLの …otndnld.oracle.co.jp/products/bitools/discoverer/pdf/... · 2002-09-26 · Oracle Discoverer 4i Plus

Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 Oracle ホワイトペーパー 8 2002 年 2 月 Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。

ください。トンネリングの有無に関わらず、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を検索)

Page 9: Oracle Discoverer 4i Plusに おけるファイアウォールおよ びSSLの …otndnld.oracle.co.jp/products/bitools/discoverer/pdf/... · 2002-09-26 · Oracle Discoverer 4i Plus

Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 Oracle ホワイトペーパー 9 2002 年 2 月 Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。

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トラフィックをブロックするということは可

能です。

Page 10: Oracle Discoverer 4i Plusに おけるファイアウォールおよ びSSLの …otndnld.oracle.co.jp/products/bitools/discoverer/pdf/... · 2002-09-26 · Oracle Discoverer 4i Plus

Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 Oracle ホワイトペーパー 10 2002 年 2 月 Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。

SSL 設定の最も一般的な誤り

ブラウザ

JVM

HTTPD

Locator

dis4ws

4-IIOP(ランダム)

3-IIOP(ランダム)

2-HTTPS(443)

1-HTTPS(443)

証明書ファイル

1

Locator.ior

2

ブラウザ

JVM

ブラウザ

JVM

HTTPD

Locator

dis4ws

HTTPD

Locator

dis4ws

4-IIOP(ランダム)

3-IIOP(ランダム)

2-HTTPS(443)

1-HTTPS(443)

証明書ファイル

1

Locator.ior

2

最も一般的な誤りは、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を使用していると勘違いしてしまうので

す。

Page 11: Oracle Discoverer 4i Plusに おけるファイアウォールおよ びSSLの …otndnld.oracle.co.jp/products/bitools/discoverer/pdf/... · 2002-09-26 · Oracle Discoverer 4i Plus

Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 Oracle ホワイトペーパー 11 2002 年 2 月 Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。

*バージョン 1.1.8.11以前の Oracle JInitiatorでは、Javaクラス・ファイルのロードで HTTPSがサポートされていま

せん。Internet Explorer用MS JVMでも一部のバージョンでサポートされていない可能性がありますが、最新バー

ジョンでは確実にサポートされています。この問題を検出するには、Java アプレットの起動時に Java コンソール

を参照してください。クラス・ファイルの URLがダウンロードと同時にコンソールに表示されます。URLが"https"

で始まってダウンロードが失敗する場合、これが原因となっている可能性があります。

Gatekeeper による SSL サポート

ブラウザ

JVM

HTTPD

Locator

dis4ws

Locator.ior

2

gatekeeper.ior

Gat

ekee

per

2

3

4

3-SSL(443以外)

2-HTTPS(443)

1-HTTPS(443)

4-SSL(443以外)

証明書ファイル

1証明書

ファイル

3

ブラウザ

JVM

ブラウザ

JVM

HTTPD

Locator

dis4ws

Locator.ior

2

gatekeeper.ior

Gat

ekee

per

2

3

4

3-SSL(443以外)

2-HTTPS(443)

1-HTTPS(443)

4-SSL(443以外)

証明書ファイル

1証明書

ファイル

3

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に接続します。

Page 12: Oracle Discoverer 4i Plusに おけるファイアウォールおよ びSSLの …otndnld.oracle.co.jp/products/bitools/discoverer/pdf/... · 2002-09-26 · Oracle Discoverer 4i Plus

Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 Oracle ホワイトペーパー 12 2002 年 2 月 Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。

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の要件が説明されています。

Page 13: Oracle Discoverer 4i Plusに おけるファイアウォールおよ びSSLの …otndnld.oracle.co.jp/products/bitools/discoverer/pdf/... · 2002-09-26 · Oracle Discoverer 4i Plus

Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 Oracle ホワイトペーパー 13 2002 年 2 月 Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。

Gatekeeper によるファイアウォール経由の SSL サポート

ファイ

アウ

ォー

ブラウザ

JVM

HTTPD

Locator

dis4ws

Locator.ior

2

gatekeeper.ior

Gat

ekee

per

2

3

4

3-SSL(443)

2-HTTP(80)

1-HTTP(80)

4-SSL(443)

証明書ファイル

3

ファイ

アウ

ォー

ブラウザ

JVM

ブラウザ

JVM

HTTPD

Locator

dis4ws

Locator.ior

2

gatekeeper.ior

Gat

ekee

per

2

3

4

3-SSL(443)

2-HTTP(80)

1-HTTP(80)

4-SSL(443)

証明書ファイル

3

上図は 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項を参照してください。

Page 14: Oracle Discoverer 4i Plusに おけるファイアウォールおよ びSSLの …otndnld.oracle.co.jp/products/bitools/discoverer/pdf/... · 2002-09-26 · Oracle Discoverer 4i Plus

Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 Oracle ホワイトペーパー 14 2002 年 2 月 Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。

• 上記のソリューションを実現するさらに簡単な方法は、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が有効であるというメッセージが表示されます(この方が簡単です)。

Page 15: Oracle Discoverer 4i Plusに おけるファイアウォールおよ びSSLの …otndnld.oracle.co.jp/products/bitools/discoverer/pdf/... · 2002-09-26 · Oracle Discoverer 4i Plus

Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 Oracle ホワイトペーパー 15 2002 年 2 月 Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。

• 証明連鎖が間違った順序でGatekeeperにインストールされている場合、Javaアプレットの起動後すぐに、Java

コンソールに「Invalid Cert Chain」というメッセージが表示されます。証明書の順序をチェックして再試行

してください。順序が正しいのにエラー・メッセージが表示される場合は、次の項目を参照してください。

• Gatekeeperが証明書のフォーマットを認識しないことがあります。詳細とソリューションは、このドキュメ

ントの最後の項を参照してください。

Page 16: Oracle Discoverer 4i Plusに おけるファイアウォールおよ びSSLの …otndnld.oracle.co.jp/products/bitools/discoverer/pdf/... · 2002-09-26 · Oracle Discoverer 4i Plus

Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 Oracle ホワイトペーパー 16 2002 年 2 月 Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。

単一の Server によるクライアント構成一覧

ファイアウォ

ール

ブラウザ

JVM

HTTPD

Locator

dis4ws

Locator.ior

gatekeeper.ior

Gat

ekee

per

3-IIOPS/HTTPS(433)2-HTTP(80)

4-IIOPS/HTTPS(433)

証明書ファイル

1-HTTP(80)

ブラウザ

JVM

証明書ファイル

2-HTTP(80)

4-IIOPS/HTTPS(433)

1-HTTP(80)

3-IIOPS/HTTPS(433)2-HTTP(80)

1-HTTP(80)

4-IIOP(

ランダム)

3-IIOP(ランダム)

ブラウザ

JVM

ファイアウォ

ール

ブラウザ

JVM

ブラウザ

JVM

HTTPD

Locator

dis4ws

Locator.ior

gatekeeper.ior

Gat

ekee

per

3-IIOPS/HTTPS(433)2-HTTP(80)

4-IIOPS/HTTPS(433)

証明書ファイル

1-HTTP(80)

ブラウザ

JVM

ブラウザ

JVM

証明書ファイル

2-HTTP(80)

4-IIOPS/HTTPS(433)

1-HTTP(80)

3-IIOPS/HTTPS(433)2-HTTP(80)

1-HTTP(80)

4-IIOP(

ランダム)

3-IIOP(ランダム)

ブラウザ

JVM

ブラウザ

JVM

Page 17: Oracle Discoverer 4i Plusに おけるファイアウォールおよ びSSLの …otndnld.oracle.co.jp/products/bitools/discoverer/pdf/... · 2002-09-26 · Oracle Discoverer 4i Plus

Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 Oracle ホワイトペーパー 17 2002 年 2 月 Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。

追記

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ファ

イルの場所に影響します。

Page 18: Oracle Discoverer 4i Plusに おけるファイアウォールおよ びSSLの …otndnld.oracle.co.jp/products/bitools/discoverer/pdf/... · 2002-09-26 · Oracle Discoverer 4i Plus

Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 Oracle ホワイトペーパー 18 2002 年 2 月 Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。

『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

を起動してください。

Page 19: Oracle Discoverer 4i Plusに おけるファイアウォールおよ びSSLの …otndnld.oracle.co.jp/products/bitools/discoverer/pdf/... · 2002-09-26 · Oracle Discoverer 4i Plus

Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 Oracle ホワイトペーパー 19 2002 年 2 月 Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。

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よりも多くのフォーマットがサポートされています。

Page 20: Oracle Discoverer 4i Plusに おけるファイアウォールおよ びSSLの …otndnld.oracle.co.jp/products/bitools/discoverer/pdf/... · 2002-09-26 · Oracle Discoverer 4i Plus

Oracle Discoverer 4i Plus におけるファイアウォールおよび SSL のヒント、 Oracle ホワイトペーパー 20 2002 年 2 月 Oracle Corporation 発行の 「Oracle Discoverer 4i Plus Firewall and SSL Tips, An Oracle White Paper」の翻訳版です。

• トライアル証明書を使用する場合は有効期限をチェックしてください。たとえば、去年のプロジェクト用に

生成されたトライアル証明書はおそらく期限が切れています。

Page 21: Oracle Discoverer 4i Plusに おけるファイアウォールおよ びSSLの …otndnld.oracle.co.jp/products/bitools/discoverer/pdf/... · 2002-09-26 · Oracle Discoverer 4i Plus

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 無断転載を禁ず


Recommended