5 WebLogic Server クラスタのプラ ンニング
ファイアウォールが 2 つあるコンフィグレーションの DMZ
次のコンフィグレーションには、Web アプリケーションと内部(信頼性のある)
クライアントによって共有されているデータベース サーバの前に追加のファイ アウォールが配置されています。このコンフィグレーションでは、最初のファイ アウォールが万一破られた場合や、ハッカーが最終的にオブジェクト層のホスト になっているサーバにアクセスした場合のための追加のセキュリティが提供され ています。プロダクション環境では、この環境はあり得ません。サイトでは、
ハッカーがオブジェクト レイヤにあるマシンにアクセスするよりもずっと前に、
悪意のある侵入を検出し、くい止める機能が必要になります。
クラスタ アーキテクチャのセキュリティ オプション
上記のコンフィグレーションでは、オブジェクト層とデータベースの間の境界は 追加のファイアウォールによって強固になっています。ファイアウォールは、オ ブジェクト層のホストになっている WebLogic Server からの JDBC 接続以外のす べての接続を拒否する厳密なアプリケーションレベルのポリシーを保持します。
データベース 信頼
性の ない クラ イア
ント JDBC
EJB
JDBC EJB
JDBC EJB サーブレット/オブジェクト
クラスタ Web レイヤ
ファ イア ウォ ール
DMZ
ファイアウォール
信頼性のある HTTP
プラグインプロキシ
サーバ JSP
サーブレット
クライアント HTTP
プラグインプロキシ
サーバ
HTTP
プラグインプロキシ
サーバ
JSP
サーブレット
JSP
サーブレット
クラスタに関するファイアウォールの考慮 事項
1
つまたは複数のファイアウォールを利用するクラスタ アーキテクチャでは、す べての WebLogic Server インスタンスを IP アドレスではなく、外部に公開され ている DNS 名を使用して識別することが重要です。DNS 名を使用することで、信頼性のないクライアントに対して内部 IP アドレスをマスクする場合に使用さ れるアドレス変換ポリシーに関連する問題を回避できます。
次の図に、WebLogic Server インスタンスの識別に IP アドレスを使用する場合に 発生する可能性のある問題を示します。この図では、ファイアウォールは、サブ ネット「xxx」の外部 IP リクエストを、サブネット「yyy」の内部 IP アドレスに 変換しています。
JDBC EJB HTTP
JSP
サーブ
JDBC EJB
JDBC EJB WebLogic Server
クラスタ
205.20.xxx.100:7001
205.20.yyy.100:7001 205.20.yyy.300:7001205.20.yyy.300:7001
205.20.yyy.300:7001
クライア
ント オブジェクト C
オブジェクト C に対するリクエスト
C
レット
ファ イア ウォ
ール HTTP JSP
サーブレット
HTTP JSP
サーブレット
クラスタに関するファイアウォールの考慮事項 以下の手順では、接続プロセスと、考えられる障害ポイントについて説明しま す。
1.
クライアントは、205.20.xxx.100:7001 にある最初のサーバへの接続を要求し て WebLogic Server クラスタへのアクセスを開始します。ファイアウォール は、このアドレスを 205.20.yyy.100:7001 という IP アドレスに変換し、クラ イアントをそのアドレスに接続します。2.
クライアントは、クラスタ内の 3 番目の WebLogic Server インスタンスにあ る、固定されているオブジェクト C の JNDI ルックアップを実行します。オ ブジェクト C のスタブには、そのオブジェクトのホストになっているサーバ の内部 IP アドレス 205.20.yyy.300:7001 が含まれています。3.
オブジェクト C をインスタンス化しようとする場合、クライアントは IP ア ドレス 205.20.yyy.300:7001 を使用してオブジェクト C のホストになってい るサーバへの接続を要求します。ファイアウォールはこの接続を拒否しま す。クライアントが、外部に公開されているサーバのアドレスではなく、制 限されている内部 IP アドレスを使用して要求したことが原因です。外部 IP アドレスと内部 IP アドレスの間の変換が行われなかった場合は、上記の ようなクライアント リクエストがファイアウォールで問題なく処理されます。
ただし、ほとんどのセキュリティ ポリシーでは内部 IP アドレスへのアクセスは 拒否されます。
どの場合でもこの問題を回避するには、WebLogic Server インスタンスを DNS 名にバインドさせ、ファイアウォールの内側と外側で同じ DNS 名を使用します。
WebLogic Server
インスタンスの内部 DNS 名と外部 DNS 名が同一でない場合、サーバ インスタンスの ExternalDNSName属性を使用して、サーバの外部 DNS 名を定義します。ファイアウォールの外側では、ExternalDNSNameがサーバの 外部 IP アドレスに変換されます。Administration Console の [ サーバ|コンフィ グレーション|一般 ] タブを使用してこの属性を設定します。『Administration