[index] CentreCOM ARX640S コマンドリファレンス 5.0.0

ファイアウォール / URLフィルター


  - フィルター処理の流れ
  - チェック内容
  - URLアクセスリストの作成
  - URLアクセスリストの適用
  - プロキシー環境での注意事項
  - 他機能との関係(パケット処理順序)

URLフィルターは、インターフェースで送受信するHTTPリクエストパケットの内容に基づき、リクエストパケットの転送可否を決定する機能です。

URLフィルターは、URLアクセスリストを作成し、IPインターフェースに適用することで有効になります。

Note - URLフィルターは暗号化されたHTTPS上の通信に対しては機能しません。

フィルター処理の流れ

URLアクセスリストの適用されているインターフェースでHTTPのGET/CONNECTリクエストを送受信するとき、送信時なら送信用アクセスリスト、受信時なら受信用アクセスリストをエントリーの追加順にチェックし、最初にマッチしたエントリーで指定された処理(許可・拒否)を実行します。いずれのエントリーにもマッチしなかったパケットは暗黙の「すべて拒否」エントリーによって破棄されます。リクエストパケットを破棄する時は、リクエストの送信元にTCP RSTを返します。

チェック内容

URLフィルターがチェックするのは、HTTPのGETおよびCONNECTリクエストに含まれるURL指定文字列です。具体的には下記項目の値をチェックします。
Request-URIが「http://」などから始まる絶対URIの場合は、Hostヘッダーが存在していてもその値は無視され、Request-URIだけがチェック対象となります。
それ以外の場合は、Hostヘッダーの値とRequest-URIの両方がチェック対象になります。

たとえば、次のGETリクエストでは、Hostヘッダー値「www.example.com」とRequest-URI「/sample/image/potecat.jpg」の両方がチェック対象になります。

GET /sample/image/potecat.jpg HTTP/1.1
Host: www.example.com
...


URLアクセスリストの作成

URLアクセスリストは複数のエントリーから構成されるリストで、検索はエントリーの追加順に行われます。リスト検索時には、最初にマッチしたエントリーで処理 (permitかdeny)が行われ、マッチした時点で検索は終了します。どのエントリーにもマッチしなかった場合は暗黙の「すべて拒否」エントリーに よってdenyとなります。

URLアクセスリストの作成は、入れ物であるリストの作成と、中身であるエントリーの追加の2段階で行います。リストの作成はaccess-list url(list)コマンドで、エントリーの追加はaccess-list url(rule entry)コマンドで行います。

■ URL指定文字列に「ourcompany.example.com」、「veryuseful」を含むHTTPリクエストと、「timewasting」を含まないHTTPリクエストを許可し、その他を拒否するURLアクセスリスト「default_deny」を作成するには、次のようにします。

*Router(config)# access-list url default_deny
*Router(config-acl-url)# permit include ourcompany.example.com
*Router(config-acl-url)# permit include veryuseful
*Router(config-acl-url)# permit exclude timewasting

なお、アクセスリストの末尾には暗黙の「すべて拒否」エントリーが存在するため、本例のような「デフォルト拒否」の設定では、拒否エントリーを明示的に書く必要はありません。

■ URL指定文字列に「evil.example.com」か「cracking」を含むHTTPリクエストを拒否し、その他を許可するURLアクセスリスト「default_allow」を作成するには、次のようにします。

*Router(config)# access-list url default_allow
*Router(config-acl-url)# deny include evil.example.com
*Router(config-acl-url)# deny include cracking
*Router(config-acl-url)# permit all

アクセスリストの末尾には暗黙の「すべて拒否」エントリーが存在するため、本例のような「デフォルト許可」の設定では、リストの末尾に明示的な「すべて許可」エントリーを記述する必要があります。

URLアクセスリストの適用

作成したURLアクセスリストは、IPインターフェースに適用することで有効になります。各インターフェースには、受信用と送信用にそれぞれ1つずつURLアクセスリストを適用することができます。

■ URLアクセスリストをインターフェースに適用するには、ip url-filterコマンドを使います。
たとえば、gigabitEthernet 0.1インターフェースに送信用アクセスリスト「default_deny」を適用するには、次のようにします。

*Router(config)# interface gigabitEthernet 0.1
*Router(config-pppoe-if)# ip url-filter default_deny out

Note - 存在しないアクセスリスト名を指定すると、すべてのHTTP GET/CONNECTリクエストパケットが破棄されるので注意してください。

■ URLアクセスリストの適用を解除するには、ip url-filterコマンドをno形式で実行します。

*Router(config)# interface gigabitEthernet 0.1
*Router(config-pppoe-if)# no ip url-filter default_deny out


プロキシー環境での注意事項

URLフィルターの初期設定では、TCP 80番ポート宛てのパケットだけをHTTP通信とみなして監視します。

しかし、WebアクセスにHTTPプロキシーを使用している環境では、HTTPリクエストパケットの終点ポートが80番でないことがあります。この場合、初期設定のままではHTTPプロキシー経由のリクエストがチェックされないので、url-filter portコマンドを使って監視すべきTCPパケットの終点ポート番号を指定してください。

■ 外部Webサーバーへのアクセスをプロキシーサーバー経由に限定している環境において、使用するプロキシーサーバーのポートが8080番の場合は、次のようにします。

*Router(config)# url-filter port 8080


■ 監視するポートは複数指定することもできます。たとえば、プロキシーを経由しない通信と経由する通信の両方が混在している環境では、次のようにします。ここでは、複数のプロキシーサーバーが存在しており、ポートは3128番と8080番を使っているものとします。

*Router(config)# url-filter port 80 3128 8080


他機能との関係(パケット処理順序)

パケット転送処理(ブリッジング、ルーティング)や各種フィルタリング機能を含む、パケット処理順序の詳細については、「付録」の「パケット処理フロー」をご参照ください。


(C) 2011 アライドテレシスホールディングス株式会社

PN: 613-001491 Rev.A