Cisco ACE XML Gateway ユーザ ガイド
Reactor 処理の設定
Reactor 処理の設定
発行日;2012/02/01 | 英語版ドキュメント(2009/11/20 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 8MB) | フィードバック

目次

Reactor 処理の設定

Reactor について

Flex Path レポート機能の使用

ポートまたはサーバで Reactor をイネーブルまたはディセーブルにするには

ポートで Reactor 処理をイネーブルにするには

サーバで Reactor 処理をイネーブルにするには

Reactor メッセージ形式防御の設定

Reactor 処理の設定

この章では、ACE XML Gateway の内部メッセージ処理エンジンの Reactor について説明します。内容は次のとおりです。

「Reactor について」

「Flex Path レポート機能の使用」

「ポートまたはサーバで Reactor をイネーブルまたはディセーブルにするには」

「Reactor メッセージ形式防御の設定」

Reactor について

ACE XML Gateway のコアでは、システムは、Reactor と呼ばれる高性能でストリーム型の処理エンジンです。Reactor により、XML 処理のパフォーマンス コストが軽減されます。

Reactor では、ポリシーでイネーブル可能な機能のサブセットがサポートされます。特に、Reactor では、SSL 接続、XML 適格性のチェック、XML スキーマの検証、特定の WS-Security 機能が用意されています。Reactor でサポートされていない機能がイネーブルのサービス定義については、メッセージは、ACE XML Gateway の標準 HTTP 処理パスの Flex Path によって処理されます。

Reactor では、グローバル コンテンツ スクリーニングまたはサービス拒絶ルールがサポートされていない一方で、メッセージ形式の防御がサポートされます。形式防御では、Reactor により、XML サービス拒絶攻撃などを含む、XML プロセッサを使用しすぎる可能性があるメッセージが監視されます。形式防御では、最大サイズ、要素の数、エンティティ サイズ、設定される可能性がある他のプロパティなど、プロパティによってメッセージがブロックされます。


) Manager Web コンソールで Flex Path レポート機能がイネーブルの場合、Reactor によってサポートされているポリシー オブジェクトを参照できます。サポートされていないポリシー オブジェクトについては、使用がブロックされる特定の設定を参照できます。


Reactor によって処理されるメッセージは、ネットワークに対する送信の両側で I/O 処理される Reactor で、ACE XML Gateway を介して渡されます。

図 20-1 Reactor 処理パス

 

処理できないメッセージを受信すると、Reactor により、ACE XML Gateway にある他のプロセッサにメッセージが渡されます(どれが渡されるかはメッセージ タイプにより異なります)。この 非 Reactor メッセージ パスは、 Flex Path と呼ばれます。ACE XML Gateway で応答が受信され、処理される場合、図 20-2 に示されているように、Reactor からクライアントへの配信のため、Flex Path によって Reactor に戻されます。

図 20-2 Reactor の Flex Path への送信

 

ポート オブジェクトにより、ACE XML Gateway に、クライアント側のリスニング ポートが定義されます。ポート オブジェクトは、Reactor によるすべてのメッセージのポート上での処理が回避されるよう、設定できます。個々の仮想サービスは、Flex Path 処理だけを実行するようにも設定できます。

この場合、通常の HTTP リスナー プロセスにより、ネットワーク上のメッセージが送受信されます。

図 20-3 Flex Path モード

 

5.0 にアップグレードされているシステムでは、デフォルトで Reactor が回避されるよう、ポリシー内の既存のポート オブジェクトが設定されています。これにより、テストおよび導入がすでに行われたシステムで発生する可能性がある互換性の問題を防ぐことができます。ポリシー内のサーバ オブジェクトは、同様に、Reactor 処理が回避されるよう設定できます。

Reactor は、通常、バックエンド サービスおよびクライアントとの相互運用性のテストを注意深く行った後でだけ、サービスに対して使用する必要があります。

認証は Reactor によってサポートされますが、最初は認証キャッシュの形式でだけサポートされます。最初にクレデンシャルのセットとともにメッセージを受信したときに、Flex Path で処理されます。受け入れられた場合、クレデンシャルはキャッシュ保存されます。同じクレデンシャルがある後続の要求は、Reactor によってサポートされます。これにより、特に Web ベースのアプリケーションでパフォーマンスが改善されます。Web ベースのアプリケーションでは、通常、要求ごとにクレデンシャルが送信されます。

Flex Path レポート機能の使用

前述のとおり、すべてのポリシー機能が Reactor によってサポートされるわけではありません。たとえば、XSLT によるプロトコル メディエーションまたは変換は、Reactor ではなく ACE XML Gateway Flex Path で処理する必要があります。

ポリシーの作成時に、Reactor によって処理できるメッセージ パスが、仮想サービスによって定義されているかどうかを、参照できます。

Flex Path レポート機能がイネーブルの場合、Reactor( )によって処理されない Virtual Services ブラウザで、サービス オブジェクトの横にレポート アイコンが表示されます。アイコンをクリックすると、Reactor 処理が行われないポリシー設定がレポートされたページが開きます。

図 20-4 Flex Path レポート機能

 

次の手順で説明されているように、Flex Path レポート機能がイネーブルの場合にだけ、レポート アイコンが表示されます。


ステップ 1 ACE XML Manager コンソールの操作メニューで、[System Management] リンクをクリックします。

ステップ 2 ACE XML Manager 情報エリアの右側にある [Manager Settings] リンクをクリックします。

[Workflow] エリアで、[Show Flex Path Reports] 項目をイネーブルにして、[Virtual Services] ブラウザからアクセスできる互換性レポートを作成します。

ステップ 3 [Save Changes] をクリックし、変更を確定します。


 

この変更はただちに有効になります。 Virtual Services ブラウザを表示すると、ブラウザの該当するサービス オブジェクトの横に、Flex Path レポート アイコンが表示されます。

ポートまたはサーバで Reactor をイネーブルまたはディセーブルにするには

サービス オブジェクトにより、Reactor によってサポートされないメッセージに対して処理タスクまたは検証手順が適用される場合、Reactor により、Flex Path に対して、自動的にメッセージが渡されます。ただし、一部の場合、Reactor 処理全体を回避する必要が生じることがあります。実稼動システムでは、外部クライアントおよびサービスと、相互運用性について注意深いテストをまず実行せずに、Reactor を使用することは避ける必要があります。

ポートで Reactor 処理をディセーブルにする場合、Reactor ではなく Flex Path により、要求がリッスンされ、ポート上のクライアントに応答が戻されます。同様に、サービス オブジェクトで Reactor 処理をディセーブルにする場合、Reactor ではなく Flex Path リスナーによって、発信要求と着信応答が処理されます。

ポートで Reactor 処理をイネーブルにするには

ポート オブジェクトは、Reactor によるすべてのメッセージのポート上での処理が回避されるよう、設定できます。この設定では、標準 HTTP リスナー http-server で着信要求が受信され、応答メッセージがクライアントに送信されます。

ポート上での Reactor のリスニングをイネーブルまたはディセーブルにするには、次の操作を実行します。


ステップ 1 ACE XML Manager コンソールの操作メニューで、[HTTP Ports & Hostnames] リンクをクリックします。

ポート リストの Flex Path カラムにより、Reactor がポートで現在アクティブかどうかが示されます。

ダッシュ記号は、Reactor がイネーブルであることを示します。

チェック記号は、Reactor がディセーブルであることを示します。

ステップ 2 設定を変更するには、ポート オブジェクトの横にある [edit] リンクをクリックします。

ステップ 3 [Always Use Flex Path] オプションを使用して、このポートをリッスンする Reactor を制御します。このオプションが選択されると、Reactor がポートでディセーブルにされます。

ステップ 4 [Save Changes] をクリックして、変更内容を作業ポリシーにコミットします。


 

導入されると、ポート オブジェクトを使用するサービスの要求が、Reactor ではなく Flex Path のいずれかによって処理されます。

サーバで Reactor 処理をイネーブルにするには

ポート オブジェクトのように、ポリシーのサーバ定義は、Reactor がサーバとの通信でイネーブルまたはディセーブルにされるよう、設定できます。Reactor がディセーブルの場合、通常の HTTP ハンドラ プロセス http-server により、バックエンド サーバとメッセージがやり取りされます。

ただし、サーバでオプションを指定することによって、サーバによってこの動作を個々に指定できるようにすることによって、ユーザ側(つまり、ポート)で Reactor 処理をイネーブルまたはディセーブルにできます。

サーバ上で Reactor の使用をイネーブルまたはディセーブルにするには、次の操作を実行します。


ステップ 1 ACE XML Manager の操作メニューで、[HTTP Servers] をクリックします。

ステップ 2 サーバ オブジェクトの横にある [view] リンクをクリックします。

Flex Path 処理がすでにイネーブルの場合、全般設定で [always use Flex Path] が表示されます。

ステップ 3 設定を変更するには、[General] という見出しの横の [Edit] リンクをクリックします。

ステップ 4 [Always Use Flex Path] オプションを使用して、このポートをリッスンする Reactor を制御します。このオプションがイネーブルの場合、互換性モードがオンで、これは、サーバ上で Reactor がディセーブルであることを意味します。このオプションが選択されていない場合、Reactor により、サーバに対して要求が送信され、応答がリッスンされます。

ステップ 5 [Save Changes] をクリックして、変更内容を作業ポリシーにコミットします。


 

Reactor メッセージ形式防御の設定

Reactor では、標準の Gateway コンテンツ スクリーニングまたはサービス拒絶ルールが強制的に実行されない一方で、形式の防御がサポートされます。形式の防御は、Reactor がメッセージ トラフィックに適用できるメッセージ構造に適用される、設定可能なルールのセットです。

たとえば、これらのルールでは、メッセージのサイズの最大値の設定、要素の数、アトリビュートのサイズ、その他が網羅されています。これらは、XML プロセッサが脆弱である可能性があるタイプの攻撃を防ぐために使用できます。

HTTP Get または Post Body サービス定義のメッセージ トラフィックに形式の防御を適用できるようにするには、これらのサービスのメッセージ仕様で、XML として処理されるコンテンツを示す必要があります。また、適格性のチェックが、サービス定義でイネーブルにされる必要があります。

Reactor メッセージ スクリーニングを設定するには、次の操作を実行します。


ステップ 1 ACE XML Manager コンソールの操作メニューで、[System Management] リンクをクリックします。

ステップ 2 ページの ACE XML Gateway という見出しの部分で、[I/O process settings] リンクをクリックします。

ステップ 3 必要に応じて、[Reactor] 設定が見えるまで下方向にスクロールします。

ステップ 4 Reactor 設定を使用して、Reactor で処理されるトラフィックで使用されるルールを定義します。

これらの設定の詳細については、[I/O process settings] ページからオンライン ヘルプを開いてください。

ステップ 5 [Save Changes] をクリックして作業ポリシーに変更を保存します。


 

ポリシーが導入されると、設定した要件を満たさない着信要求が、Reactor によってブロックされます。