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

目次

グローバル トラフィック ルールの設定

グローバル トラフィック ポリシーについて

DoS 攻撃の防止

トラフィック レートのしきい値について

DoS 攻撃防御の設定

コンテンツ スクリーニング ルールの利用

コンテンツ スクリーニング ルールの適用

グローバル コンテンツ スクリーニング ルール

コンテンツ スクリーニング ルールの適用設定の上書き

コンテンツ スクリーニング ルールの作成

グローバル トラフィック ルールの設定

この章では、ACE XML Gatewayのトラフィックに適用される DoS 攻撃(サービス拒絶攻撃)の検出、コンテンツ スクリーニング、およびその他の防御メカニズムについて説明します。内容は次のとおりです。

「グローバル トラフィック ポリシーについて」

「DoS 攻撃の防止」

「コンテンツ スクリーニング ルールの利用」

グローバル トラフィック ポリシーについて

グローバル トラフィック ポリシーにより、システム導入のセキュリティと信頼性が向上します。トラフィックが処理するユーザ側のサービス インターフェイス、またはバックエンド サービスの宛先にかかわらず、デフォルトでは、グローバル ポリシーは ACE XML Gatewayのすべてのサービス トラフィックに適用されます。

導入可能なグローバル ポリシーのタイプを次に示します。

DoS 攻撃を防御する目的で設計されたトラフィック スロットリング ルール

コンテンツ スクリーニングおよびコンテンツ置換ルール

大量のメッセージ処理

ユーザの制約事項と悪用の監視

DoS 攻撃の防止

DoS 攻撃は、ハッカーが要求を使ってホストを攻撃することにより、サービスを中断したり妨害しようとする試みの 1 つです。最も多い攻撃のタイプには次があります。

大量のメッセージをすばやく送信して、サービスが正規のユーザ要求に応答できないようにする。

システムが他の要求に応答できなくなるほど過度のビジー状態が継続するようなメッセージ コンテンツを送信する。

応答するのに長時間を要するメッセージを送信する。

システムがエラー処理だけに集中しなければならないほどの大量のエラーを生成するメッセージを送信する。

認証エラーを生成する大量のメッセージを送信する。

ACE XML Gatewayは、設定可能なパラメータを使用して、次の項目に制限を設けて、各タイプの攻撃を検出してブロックします。

Overall request rate(総合要求レート) :ACE XML Gatewayが受信する要求メッセージの数

Authentication failures(認証エラー) :送信者であるユーザの認証に失敗した回数

CPU Usage(CPU 使用率) :メッセージの処理に必要な Gatewayの CPU 時間(ミリ秒)

Service Errors(内部エラー) :メッセージの処理が原因で発生した Gatewayのエラー数

Service Latency(サービスの遅延) :宛先サービスがメッセージの処理に必要な時間(秒)

Service Errors(サービスのエラー) :メッセージを処理する際に宛先サービスによって報告されたエラーの数

各パラメータに対して、許容最大レートと許容最大バーストの両方を設定できます。最大レートは、1 分当たりにカウントされるイベント数の上限値です。最大バーストは、同時に検出できるイベント数の上限値です。

ACE XML Gatewayはこれら各パラメータに関連する統計情報をモニタリングします。パラメータのいずれかが設定されたしきい値を超えた場合、ACE XML Gatewayは攻撃をログに記録します。攻撃に対する防御が有効になっている場合、ACE XML Gatewayは発信元からのメッセージを設定された時間分だけ拒否します。

デフォルトでは、DoS 攻撃防御により、違反をしている発信元からのトラフィックが自動的にブロックされますが、トラフィックを許可する場合はこのオプションを無効にできます。この場合でも、ACE XML Gatewayはユーザがモニタリングできるようトラフィックのログを記録します。

また、ACE XML Gatewayが発信元をブロックする最短時間を調整することもできます。最短のブロッキング間隔により、ACE XML Gatewayは攻撃する発信元を設定された秒数だけブロックするよう指示されます。ACE XML Gatewayは、攻撃の重大性によって過度の使用から回復するのにより長い時間を要すると計算により判断した場合、それより長い時間発信元をブロックする場合があります。

ACE XML Gatewayは、発信元の IP アドレスに対して DoS 制限を個別に適用します。これは、ユーザが 1 秒当たり 20 のメッセージという制限を設定した場合、ACE XML Gatewayでは、個々の IP アドレスのメッセージ数が 1 秒当たり 20 に制限されるということを意味します。言い換えれば、2 つの異なる IP アドレスが 1 秒当たり 15 のメッセージを送信した場合、集計レートが 1 秒当たり 30 であっても、個別の発信元が制限値を超えていないため、ACE XML Gatewayはこれらを許可します。ただし、発信元のいずれかが 1 秒当たり 21 のメッセージを送信した場合、DoS 防御によりトラフィックがブロックされます。

トラフィック レートのしきい値について

ACE XML Gatewayポリシーの一部では、トラフィックしきい値設定(DoS グローバル設定、ユーザ ID 設定、HTTP サーバのスロットル設定など)が規定されています。

どの設定についても、ACE XML Gatewayは 2 つの設定可能な要素(トラフィック レート レベルと最大許容バースト レベル)から、使用量超過イベントを発生させるトラフィック アクティビティのタイプを決定します。

通常、トラフィック レート レベルは 1 分間のスパンを超えて許容される要求の数を指定し、バースト レベルは短いスパンで許容される要求の数を指定します。バーストは、トラフィック容量の短時間での急騰と見なすことができます。増えた容量は、より広範な期間にわたって使用可能な容量から事実上借りていることになります。

しきい値イベントをトリガーする実際のトラフィック アクティビティやバースト期間を構成する時間の面から見ると、これが意味することはバースト レベルとトラフィック レートの組み合わせによって決まります。

これがどのように動作するかをより詳しく調べるため、トラフィック レートについて考えてみましょう。この値によって、ACE XML Gatewayが使用可能な容量に対するメッセージ数をカウントするために、メッセージを記憶しておく期間が決まります。つまり、要求レートが 1 分当たり 60 に設定されている場合、ACE XML Gatewayはこの 1 分間について各メッセージ イベントを 1 秒間ずつ記憶します。2 つのメッセージが同時に到着した場合、この 2 つのメッセージは 2 秒間記憶されます。トラフィック レートが 60 の状態で、メッセージが実際に 1 秒に 1 つずつ正確に受信されていてバースト レートが 2 つある場合、しきい値には到達しません。

この概念を理解する別の方法として、「穴の空いたバケツ」のたとえを考えてみましょう。底に穴の空いたバケツを想像してください。要求を処理するたびに、バケツに水を入れるとします。水は一定の割合でバケツから漏れていきます。バケツがいっぱいになると、これ以上水を追加できません。つまり、スロットル イベントがトリガーされるということです。バケツのサイズはバースト、水が漏れる割合がレート値です。

図 23-1 正常なメッセージの比率

 

負荷アカウンティングにおける ACE XML Gatewayのメッセージ用メモリは、トラフィック レートで設定した期間の経過に従って徐々に低下していきます。

バースト レベルが 60 で、別のメッセージが前半 30 秒以内に到着し、しきい値が 1 に設定されている場合、しきい値が超過します。

図 23-2 バースト レベルのしきい値超過

 

このシナリオが示すとおり、1 分当たりのトラフィック レート設定が間接的に指定するのは、しきい値を超過するメッセージ数だけで、文字通り、しきい値に対してメッセージ負荷のアカウンティング内にメッセージあるとACE XML Gatewayが見なす時間を指定します。したがって、1 分当たりのトラフィックが 2、およびバースト レベルが 5 の設定は、少なくとも 6 つのメッセージが受信されるまでしきい値に到達しません。つまり、1 分以内に 5 つのメッセージを受信するだけではしきい値を超過しません。メッセージ レートは低いレベルに設定されているので、制限値に達するまで、受信されるトラフィックは、より長い時間(数分間にわたり)許容可能な負荷に対してカウントされます。

したがって、メッセージ レートとバースト レートを設定することは、ユーザが保護しているサービスのタイプを仮定して、予測されるトラフィック パターンを決定するということになります。ユーザ重視のサービスまたは何らかの方法で協力し合うサービスなど、使用量スパイクを受ける可能性が当然あるサービス(同一アプリケーション イベントによって起動される複数のサービスなど)を保護している場合、バースト レベルを使用量スパイクに適応する値に設定することが必要です。

たとえば、エンドユーザ アプリケーションが ACE XML Gatewayに 5 つのサービス要求を生成している場合、設定内のバースト レベルは最低でも 5 である必要があります。ユーザがアプリケーションを起動する頻度によって、トラフィック レートが決まります。アプリケーションを 1 分に 1 回だけ実行する必要がある場合は、要求レートを 5 に設定できます。このため、各メッセージが削除されるのに約 12 秒かかるので、イベントによる負荷カウントがゼロに戻るのに 1 分かかります。

図 23-3 トラフィック バーストへの適応

 

また、コンテキスト環境があると仮定して、高レベルの同時アクティビティが疑わしいまたは望ましくないアクティビティを示した場合は、可能であれば、バースト レベルを比較的低い値、トラフィック レートを比較的高い値に設定します(可能な場合)。例として、前述のバースト レベルが 2、1 分当たりのレートが 60 のケースがあります。

ここで例に挙げている値は、説明だけを目的として使用されています。ほとんどのアプリケーションでは、これらの値は非常に低く現実的ではありません。実際の設定では、実際のレートとレベルは何千または何百という値になります。

DoS 攻撃防御の設定

DoS 攻撃を設定するには、次の手順を実行します。


ステップ 1 Administrator ユーザまたは ACE XML Manager Web コンソール で Operations ロールを持つ Privileged ユーザとして、コンソールの操作メニューの [Policy] セクションで [Denial-of-Service Protection] をクリックします。

ステップ 2 [Enable Denial-of-Service Protection] チェックボックスを選択します。

ステップ 3 必要に応じて、[Denial-Of-Service Protection Settings] ページのコントロールを使用して、デフォルト以外の保護設定を行います。

[Whitelist] オプションを使用して、攻撃の検出対象から除外するアドレスとして、ゼロまたはより多くの IP アドレス/IP アドレス範囲を指定できます。指定された IP アドレスを持つクライアント、または指定された IP アドレス範囲に含まれるアドレスを持つクライアントについては、このクライアントの要求が設定されたしきい値を超えた場合でも、ブロッキングから除外されます。


) Localhost(127.0.0.1)は、指定されていない場合でも、常に Whitelist に含まれていると見なされます。


ステップ 4 [Save Changes] ボタンをクリックします。ACE XML Managerは DoS 設定を作業ポリシーにコミットし、[Changes Saved] ページを表示します。


 

以上で、DoS 攻撃の防御が設定されます。ポリシーを導入して、ACE XML Gateway への変更内容を反映させます。

コンテンツ スクリーニング ルールの利用

ダイナミックな、スクリプト駆動型 Web サイトの出現により、Web インフラストラクチャのダイナミック処理機能を活用しようとする攻撃形態がもたらされました。コマンド インジェクション攻撃では、ハッカーは、要求を処理するサーバに有害なコマンドを実行させることを意図して、有害なコマンドを含むメッセージを送信します。

たとえば、ハッカーは DROP TABLE などの SQL コマンドをメッセージに挿入して、一部のデータベース駆動型バックエンド システムにこのコマンドを実行させて、データ喪失を生じさせます。

保護されたネットワーク上のサービスがこのような攻撃を受けないようにすることが理想的ですが、実際は、攻撃を受けたサービス内ですべての脆弱性を検出して修正するより、このようなメッセージを識別して拒否する方がより容易で費用も安価なことが多々あります。ACE XML Gatewayでは、これを行うための拡張可能な機能を提供しています。

ACE XML Gatewayは着信メッセージの内容を、ACE XML Gatewayが拒否すべきメッセージ データとして挙げられているルールの一覧と照合します。ACE XML Gatewayには、SQL インジェクション攻撃などよく見られる攻撃から保護するためのルールが組み込まれています。また、個人情報や機密情報が ACE XML Gatewayを通過することを防止するためのその他のルールもあります。たとえば、社会保障番号(ID 盗難に使用されることがある)、電話番号、または電子メール アドレスであると認識した番号や文字を隠すことができます。

ACE XML Gatewayがコンテンツ スクリーニング ルールに合致するメッセージを検出した場合、次を行えます。

メッセージを廃棄してログにイベントを記録する。

メッセージは通過させるが、ログにイベントを記録する。

合致した内容を修正してから、メッセージを通過させる。

あらかじめ作成されたコンテンツ スクリーニング ルールに、ユーザ独自のカスタム ルールを追加できます。"Cisco signature verified" というラベルは、あらかじめ作成されたルールを、ユーザ独自のカスタム ルールと区別するためのものです。

図 23-4 シスコが提供するコンテンツ スクリーニング ルール

 

組み込みコンテンツ スクリーニング ルールへのアップデートは、ソフトウェア リリースのサイクルとは個別に実施されることがあります。この場合、コンテンツ スクリーニング ルール ファイルとして提供されるアップデートは、[Upload a Content Screening File] ボタンを使用してアップロードできます。

Cisco ACE XML Gateway サポート担当者から指示された以外のコンテンツ スクリーニング ルール ファイルは作成またはロードしないでください。個々のカスタム ルールを追加するには、「コンテンツ スクリーニング ルールの作成」を参照してください。

コンテンツ スクリーニング ルールは、要求または応答のいずれかに適用できます。コンテンツ スクリーニング ルールが基本仮想サービス オブジェクトに対して有効になっている場合は、要求と応答のどちらにも適用されることに注意が必要です。ポリシーでコンテンツの置換が指定されている場合、この動作によって予測できない結果が生じることがあります。コンテンツ置換ルールは通常、特定のコンテキストで、メッセージ トランザクションの要求だけ、または応答ブランチだけに適用することを目的としています。コンテンツ スクリーニング ルールまたは置換ルールを 1 つのメッセージ ブランチだけで適用するには、基本仮想サービス オブジェクトを拡張仮想サービスに変換してから、ハンドラ(要求に対して無効にする場合)またはサービス記述子(応答に対して無効にする場合)のいずれかでコンテンツ スクリーニング ルールを無効にする必要があります。

コンテンツ スクリーニング ルールの適用

コンテンツ スクリーニング ルールの設定は、グローバルに適用することも、特定の仮想サービスだけに適用することもできます。

グローバル コンテンツ スクリーニング ルール

グローバル コンテンツ スクリーニング ルールは、特定の設定を含まないサービスのトラフィックに対して適用されます。グローバル コンテンツ スクリーニング ルールを表示および有効にするには、次の手順を実行します。


ステップ 1 操作メニューで、[Content Screening Defaults] リンクをクリックします。

[Content Screening Defaults] ページのコントロールを使用して、グローバルに(つまり、すべてのメッセージに)適用されるコンテンツ スクリーニング ルールの有効化/無効化、新しいコンテンツ スクリーニング ルール ファイルのアップロード、およびカスタム コンテンツ スクリーニング ルールの作成を行えます。

ステップ 2 ルールに関する詳細情報を入手するには、ルールの説明の下にある [Rule Details] 見出しの横のエクスパンド ボタンをクリックします。

図 23-5 [Rule Details]

 

ステップ 3 コンテンツ スクリーニング ルールを有効にするには、[New Default] メニューの [enable] を選択します。コンテンツ スクリーニング ルールを有効にすると、ACE XML Gatewayはルールで指定された正規表現がメッセージに含まれていないかをチェックします。

また、特定のルールについてコンテンツ スクリーニングをオフにするには、[disable] を選択します。

ステップ 4 完了したら、[Save Changes to Default Settings] をクリックし、そのポリシーを導入して ACE XML Gatewayでルールを実施させます。


 

コンテンツ スクリーニング ルールの適用設定の上書き

特定のサービスについて、特定のコンテンツ スクリーニング ルールのデフォルト設定を有効化/無効化/確定できます。

コンテンツ スクリーニング ルールのサービス レベルの適用設定を調節するには、次の手順を実行します。


ステップ 1 [Virtual Services] ブラウザで、サービス固有のコンテンツ スクリーニング ルールを表示または変更する仮想サービス オブジェクトの名前をクリックします。

ステップ 2 [Content Screening] 設定見出しの横にある [Edit] リンクをクリックします。

コンテンツ スクリーニング ルールのリストが表示されます。

ステップ 3 次のオプションから選択します。

 

オプション
説明

[use default]

このルールについて [Content Screening Defaults] ページが指定する有効/無効状態を使用します。

[always enable]

このルールが [Content Screening Defaults] ページで有効に設定されている場合でも、このルールを常に有効にします。このオプションを選択すると、[Content Screening Defaults] ページでルールが無効に設定されている場合でも、ハンドラはこのルールを常にメッセージに適用します。

[always disable]

[Content Screening Defaults] ページでルールが有効に設定されている場合でも、このルールを有効にしません。このオプションを選択すると、ハンドラは、その他の設定にかかわらず、このルールをメッセージに適用しません。

ステップ 4 完了したら、[Save Changes] をクリックし、そのポリシーを導入して、ACE XML Gatewayでルールを実施させます。


 

コンテンツ スクリーニング ルールの作成

独自のコンテンツ スクリーニング ルールを作成できます。実装レベルでは、コンテンツ スクリーニング ルールは、発信または着信メッセージ内で照合するコンテンツを定義する正規表現です。

照合結果として、メッセージをブロックする、通過させる、または合致したテキストを修正した上で通過させる、のいずれかを指定できます。

コンテンツ スクリーニング ルールを作成するには、次の手順を実行します。


ステップ 1 操作メニューの [Policy] セクションで、[Content Screening Defaults] リンクをクリックします。

[Content Screening Defaults] ページが表示されます。

ステップ 2 ページ下部の [Custom Content Screening Rule] 見出しの下にある [Define a New Rule] ボタンをクリックします。

[Custom Content Screening Rule] ページが表示されます。

ステップ 3 [Rule Name] フィールドに、ルールを説明する一意のルール名を入力します。他のポリシー作成者がルールを識別しやすい任意の名前を使用できます。

ステップ 4 [Description] フィールドにルールの説明を追加します。

この説明により、他のコンソール ユーザはルールを作成しやすくなります。説明は、グローバル コンテンツ スクリーニング ルールおよびサービス固有のコンテンツ スクリーニング ルールのどちらのページでも、ルール テーブルの [Rule Description] カラムに表示されます。

ステップ 5 スクリーニング対象のコンテンツと照合する正規表現を [Regular Expression] フィールドに入力します(正規表現の詳細については、「ポリシーの正規表現」を参照してください)。

ステップ 6 正規表現で英字の大文字と小文字が区別されるようにするには(つまり、ACE XML Gatewayが大文字と小文字の両方をチェック)、[Use case-insensitive regular expression matching] チェックボックスを選択します。

ステップ 7 [Rule Actions] では、インバウンド要求または応答のいずれかの、メッセージ要求、応答、または HTTP ヘッダーのどれに対してルールを実行するかを選択します。インバウンド HTTP ヘッダー オプションを使用すると、GET 変数コンテンツなどをチェックできます。

ステップ 8 コンテンツ スクリーニング ルールが合致した場合にログに表示するテキストを [Log this Warning event] フィールドに入力します。

ステップ 9 ACE XML Gatewayがただちにメッセージを拒否しないようにするには、[Allow the message to continue being processed] オプションを選択します。

ステップ 10 メッセージを存続できるようにするには、置換テキストを指定します。これを行うには、[Replace any matching string with] チェックボックスを選択して、合致したテキストと置換するテキストを入力します。

次のような設定ページが表示されます。

図 23-6 コンテンツ スクリーニング ルール設定の完了

 

ステップ 11 完了したら [Save Changes] をクリックします。


 

デフォルトでは、新しいルールは無効になっています。このルールをグローバルまたはサービス ベースで有効にするには、「グローバル コンテンツ スクリーニング ルール」および「コンテンツ スクリーニング ルールの適用設定の上書き」を参照してください。