連載
» 2006年09月14日 00時00分 公開

WAFのセキュリティレベルとパラメータ設定Webアプリケーションファイアウォールの必要性(最終回)(2/4 ページ)

[草薙伸, 伴崇博,F5ネットワークスジャパン株式会社]

パラメータチェックの設定方法

 ここで実際にBIG-IP ASMを使用してパラメータのチェックを行う方法とその手順を説明する。実際に設定を追加していく方法はいくつか存在するが、ここではまず手入力による追加を紹介する。

●オブジェクトの登録

 オブジェクト(ファイル名)はオブジェクトタイプ(拡張子)にひも付くため、事前にオブジェクトタイプを登録しておかなければならない。オブジェクトタイプが登録してある場合は、以下のような画面で新しいオブジェクトを登録する。Enhanced Standardモード以上のモードではオブジェクトレベルでのチェックを行わない正規表現での例外設定をすることも可能である。

画面1 Create New Object 画面1 Create New Object

●Flowの登録

 登録したオブジェクトへの到達方法(Flow)を設定する。Flowで設定する内容は、どのオブジェクトからのリンクとして到達するかとその際に使用されるメソッドである。前述のとおりAPC Phase 2では画面遷移をチェックすることができるが、その際にはReferrer Objectという項目のObject Pathを設定する。これによってオブジェクトへの到達元に制限を加えることができる。

 Object Pathに入力が行われると、BIG-IP ASMはリクエストのReferrerヘッダをチェックして、設定されているReferrer以外が含まれるリクエストをブロックする。APC Phase 2より下のモードでは画面遷移はチェックしないためすべてをEntry Point(最初のページという意味)として設定し、管理者はメソッドのみを選択する。

画面2 Select Method 画面2 Select Method

 以下は/test/register.php3というオブジェクトに対するGETおよびPOSTのFlowを登録した直後のオブジェクト設定画面で、この後Flowごとにパラメータの設定を行っていく。

画面3 Object /test/register.php3 画面3 Object /test/register.php3

●パラメータの登録

 オブジェクトに対して上記で設定したメソッドでデータを送る際にチェックするパラメータを設定する。

画面4 Create New Parameter 画面4 Create New Parameter

 パラメータ設定はFlow設定の一部である。オブジェクトに到達するまでのFlowの一部としてパラメータが存在するという考え方である。オブジェクトへのリクエストに含まれるものはFlowとして定義される。それぞれのパラメータに対して個別に以下のようなタイプを設定できる。

1.Don't check value

 値のチェックは行わない。Enhanced Standardではチェックしないパラメータは登録しなくてよいので、この設定は実質使用されない。

2.Static content value

 プルダウンやラジオボタンなどの、あらかじめ選択肢が決まっているものに使用し、設定画面にはその選択肢をすべて登録する。登録されたもの以外の入力があった場合はviolation(違反)として扱う。

画面5 Static content value 画面5 Static content value

3.Dynamic content value

 パラメータの値がレスポンスページ内のどこかに含まれており、次のリクエストにおいてその値が改ざんされずに送られてきているかどうかをチェックする際に使用する。レスポンスの検索方法はいくつかあるが、以下の設定例はレスポンスボディから値を検索するものである。このDynamic contentにおける動作については後述する。

画面6 Dynamic content value 画面6 Dynamic content value

4.Dynamic parameter name

 パラメータ名が動的に変化する場合に使用する設定。パラメータにセッションIDなどの動的な値を含むときに使用する。

5.User-Input value

 ユーザーが入力して値を決定するパラメータに適した設定。この設定を選択した際には以下のようなリストが表示され、ここでシステム一意のチェックとは別にそのパラメータ固有の設定を行うことができる。入力文字のタイプ(フリーテキスト、メールアドレス、数字)や入力フィールドの長さを設定できることに加え、入力可能な文字を正規表現で設定することもできる。

 このほかに、入力可能なメタキャラクタや正規表現を以下のように個別に選択して通過させることができる。このように、パラメータ単位で入力メタキャラクタをコントロールすることが、冒頭に挙げたようなStandardモードではできないことである。

画面7 User-Input value 画面7 User-Input value

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。