内部データベース参照型URLフィルター

概要

URLフィルタ機能とは、HTTP通信においてアクセス可能なURLを制限する機能です。内部データベース参照型URLフィルタ機能ではURLの全部または一部をキーワードとしてルーターに登録し、そのキーワードと一致した文字列を含むURLへのアクセスを制限することができます。また、フィルタ設定時に始点IPアドレスを指定することで、特定のホストまたはネットワークからの接続を制限することもできます。

主な仕様は以下の通りです。

  • HTTPバージョン1.0および1.1に対応しています。
  • URLフィルタ機能を使用するインターフェイスにおいて、URLフィルタが適用される方向に向かう宛先ポート番号が url filter portコマンドで設定されたポート番号と一致するHTTPパケットはノーマルパスで処理されます。
  • フィルタリング適用結果をログに出力したり、統計情報をSNMPで取得またはコマンドで出力したりすることができます。
  • 宛先IPアドレスがルーターのアドレスであるパケットは本機能では処理しません。

注意事項

  • HTTPSによる通信を制限するにはプロキシ経由のHTTPS URLフィルターを使用します。直接接続する場合は制限することはできません。
  • 国際化ドメイン名(IDN)には対応していません。
  • URLについての詳細は、RFC3986をご覧ください。
  • HTTPについての詳細は、RFC2616をご覧ください。

対応機種とファームウェアリビジョン

ヤマハRTシリーズでは以下の機種およびファームウェアで、内部データベース参照型URLフィルタ機能をサポートしています。

機種 ファームウェア
RTX5000 Rev.14.00.15以降
RTX820 Rev.11.03.16以降
RTX1200 Rev.10.01.20以降
RTX800 Rev.10.01.20以降

詳細

インターフェースへのURLフィルタの適用

  • 各インターフェースのIN/OUTそれぞれの方向について、URLフィルタの条件を個別に設定できます。
  • ネットワーク内のクライアントからのWebアクセスを制限する場合、WANへの上り方向(LAN側のインターフェースのIN、またはWAN側のインターフェースのOUT)に設定します。

評価するURLの整形

  • HTTPパケットに含まれるURLに、RFC3986で規定されている予約されていない文字(Unreserved Characters)がパーセントエンコーディングされていた場合は、デコードしてからフィルタと評価を行います。
    予約されていない文字(Unreserved Characters):半角英数字、"-"(ハイフン)、"_"(アンダースコア)、"."(ピリオド)、"~"(チルダ)
  • HTTPパケットに含まれるパスにドットセグメント("."または"..")を含む場合、それらを解釈した形にパスを直した後でフィルタと評価を行います。

URLフィルタの走査

  • rejectのフィルタにマッチした場合は、そのパケットを破棄して、クライアントにブロック画面を表示し、HTTPサーバーにTCP RSTを送信します。url filter reject コマンドで、クライアントにTCP RSTを返すか、ブロック画面に転送するかを設定できます。
  • URLフィルタを評価する順番は、url INTERFACE filter コマンドに登録されているURLフィルタ番号の順になります。

    例えば、

    url filter 1 pass www.yamaha.co.jp
    url filter 2 reject yamaha
    url filter 3 pass *
    url lan2 filter out 1 2 3
    

    のような設定を行った場合、http://www.yamaha.co.jp/へはアクセスできますが、http://www.aaaa.com/yamaha/ へのアクセスは遮断されます。
    url INTERFACE filter コマンドへのフィルタの登録を

    url lan2 filter out 2 1 3
    

    のように順番を逆にすると、http://www.yamaha.co.jp/ へのアクセス、および、http://www.aaaa.com/yamaha/ へのアクセスの両方が遮断されます。

  • url filterコマンドでキーワードにURLのホスト名を設定した場合、ホスト名を解決したIPアドレスによるHTTPでのアクセスを制限することはできません。

    ホスト www.yamaha.co.jp のIPアドレスを 172.16.0.1 とします。

    url filter 1 reject www.yamaha.co.jp
    url filter 2 pass *
    url lan2 filter out 1 2
    

    上記設定において、http://www.yamaha.co.jp/へのアクセスは遮断されますが、http://172.16.0.1/へのアクセスは遮断されません。

  • url filterコマンドでキーワードにパーセントエンコーディングされた部分を含むURLを設定した場合、パーセントエンコーディングされた部分そのままを文字列として扱いデコードしません。
    url filterコマンドのキーワードにはパーセントエンコーディングされた部分はデコードした文字で設定してください。
  • 設定されているキーワードのいずれにも該当しないURLへのアクセスは、url filterコマンドでキーワードに*(アスタリスク)を指定した設定に従います。
    url filterコマンドでキーワードに*(アスタリスク)を指定した設定がない場合は、無条件に遮断されます。ただし、外部データベース参照型URLフィルタを併用している場合には続いて外部データベース参照型URLフィルタによる処理が開始されます。

MIB変数

以下のMIB変数で、URLフィルタが適用された統計情報を取得することができます。

  • yamahaRTInterfaces
    インターフェースの情報
    • yrIfUrlfilterTable
      LAN/PP/Tunnelインターフェースに適用されたURLフィルタの統計情報
      • yrIfUrlfilterEntry
        • yrIfUrlfilterIfIndex
          インターフェース番号
        • yrIfUrlfilterDir
          フィルタの方向
        • yrIfUrlfilterId
          フィルタ識別番号
        • yrIfUrlfilterStatId
          フィルタにマッチしたコネクションの識別番号
        • yrIfUrlfilterSrcIP
          フィルタにマッチしたコネクションの始点IPアドレス
        • yrIfUrlfilterCount
          フィルタにマッチした回数

コマンド

URLフィルタの設定

[書式]
url filter ID KIND KEYWORD [SRC_ADDR[/MASK]]
no url filter ID 
[設定値]
  • ID ... フィルタ番号(1..65535)
  • KIND
    • pass, pass-nolog ..... 一致すれば通す(ログに記録しない)
    • pass-log ............. 一致すれば通す(ログに記録する)
    • reject, reject-log ... 一致すれば破棄する(ログに記録する)
    • reject-nolog ......... 一致すれば破棄する(ログに記録しない)
  • KEYWORD
    • フィルタリングするURLの全部もしくは一部(半角255文字以内)
    • * ..... すべてのURLに対応
  • SRC_ADDR ... IPパケットの始点IPアドレス
    • IPv4アドレス
    • 間に -(ハイフン)を挟んだ2つのIPアドレス、- を後ろにつけたIPアドレス、または - を前につけたIPアドレス(範囲指定)
    • 上項目をコンマ(,)で区切った並び
    • * ..... すべてのIPアドレスに対応
    • 省略時は * と同じ
  • MASK
    • ネットマスク長(SRC_ADDRがネットワークアドレスの場合のみ指定可)
[説明]

URLによるフィルタを設定する。本コマンドで設定されたフィルタ は、url INTERFACE filterコマンドで用いられる。

指定されたキーワードに、大文字のアルファベットが含まれる場合、それらを小文字に変換して保存する。

[ノート]

SRC_ADDRをコンマ(,)で区切って複数指定することができる。

URLフィルタのインターフェイスへの適用

[書式]
url INTERFACE filter DIR LIST
url pp filter DIR LIST
url tunnel filter DIR LIST
no url INTERFACE filter
no url pp filter
no url tunnel filter
[設定値]
  • INTERFACE ... LANインターフェイス名
  • DIR
    • in ... 入力方向のHTTPコネクションをフィルタリングする
    • out ... 出力方向のHTTPコネクションをフィルタリングする
  • LIST ... 空白で区切られたURLフィルタ番号の並び(512個以内...RTX5000, 128個以内...その他の機種)
[説明]

url filterコマンドで設定したフィルタを組み合わせて、インターフェイスで送受信するHTTPパケットのURLによって制限を行う。

設定できるフィルタの数は、RTX5000では512個以内、その他の機種では128個以内、またはコマンドライン文字列長(4095文字)で入力できる範囲内である。

指定されたすべてのフィルタにマッチしないパケットは破棄される。

[初期値]

フィルタは設定されていない。

URLフィルタでチェックを行うHTTPのポート番号の設定

[書式]
url filter port LIST
no url filter port
[設定値]
  • LIST ... 空白で区切られたポート番号の並び(4個以内)
[説明]

URLフィルタでチェックを行うHTTPのポート番号を設定する。

[初期値]
80

URLフィルタの情報の表示

[書式]
show url filter
show url filter [INTERFACE]
show url filter pp [PERR_NUM]
show url filter tunnel [TUNNEL_NUM]
[設定値]
  • INTERFACE ... LANインターフェイス名
  • PEER_NUM ... 相手先情報番号
  • TUNNEL_NUM ... トンネルインターフェイス番号
[説明]

インターフェイスに適用されているURLフィルタの中で、どのフィルタに何回マッチしたかの統計情報を表示する。インターフェイスが指定されない場合は、すべてのインターフェイスの情報を表示する。

表示される内容は以下の通り。

  • フィルタ番号
  • 始点IPアドレス
  • HTTPコネクションとフィルタが一致した回数
[ノート]

url filterコマンドで、キーワード、IPアドレスの両方に"*"を設定したフィルタがインターフェイスに適用されている場合、HTTPコネクションがこのフィルタとマッチした回数は表示されない。

URLフィルタの統計情報のクリア

[書式]
clear url filter
clear url filter [INTERFACE]
clear url filter pp [PERR_NUM]
clear url filter tunnel [TUNNEL_NUM]
[設定値]
  • INTERFACE ... LANインターフェイス名
  • PEER_NUM ... 相手先情報番号
  • TUNNEL_NUM ... トンネルインターフェイス番号
[説明]

URLフィルタの統計情報を消去する。インターフェイスが指定されない場合は、すべてのインターフェイスの情報を消去する。

URLフィルタで破棄するパケットの送信元にHTTPレスポンスを返す動作の設定

[書式]
url filter reject redirect [URL]
url filter reject redirect URL
url filter reject off
no url filter reject [ACTION]
[設定値]
  • redirect ... HTTPリダイレクトのHTTPレスポンスを返し、ブロック画面へ転送する
  • off ... HTTPレスポンスは返さずに、TCP RSTによってTCPセッションを終了する
  • URL ... リダイレクトするURL(http:// または https:// で始まる文字列で、半角255文字以内)
[説明]

URLフィルタで破棄するパケットの送信元にHTTPレスポンスを返す動作を設定する。

ブロック画面には、一致したキーワードまたは、アクセスを遮断した理由を表示する。

URLを指定した場合、実際にリダイレクトするときには指定したURLの後ろに"?"に続けて以下の内容のクエリを付加する。

  • アクセスを遮断したURL
  • マッチしたフィルタに設定されているキーワード

URLに http:// または https:// で始まる文字列以外を設定することはできない。

[ノート]

HTTPサーバ機能に対応した機種では、redirectを設定してWebブラウザにブロック画面を表示する場合、httpd service onの設定が必要である。

HTTPサーバ機能に対応していない機種でredirectを指定する場合、URLを省略することはできない。

[初期値]
  • off... RTX5000
  • redirect... 上記以外の機種

フィルタにマッチした際にログを出力するか否かの設定

[書式]
url filter log SW
no url filter log 
[設定値]
  • SW
    • on .... フィルタにマッチした際にログを出力する
    • off ... フィルタにマッチした際にログを出力しない
[説明]

フィルタにマッチした際にログを出力するか否かを設定する。

[ノート]

onを設定した場合でも、url filterコマンドで KINDにpass、pass-nolog、またはreject-nologを指定したフィルタにマッチした場合はログを出力しない。

[初期値]
on

URLフィルターを使用するか否かの設定

[書式]
url filter use SW
no url filter use 
[設定値]
  • SW
    • on ... URLフィルターを使用する
    • off ... URLフィルターを使用しない
[説明]

内部データベース参照型URLフィルターおよび、外部データベース参照型URLフィルターを使用するか否かを設定する。

[初期値]
on

設定例

PP[1]インターフェイスへの設定例
url filter 1 reject * 192.168.0.100			... (1)
url filter 2 reject info *				... (2)
url filter 3 reject yamaha 192.168.0.2-192.168.0.10     ... (3)
url filter 4 reject http://aaa.bbb.ccc/ *	        ... (4)
url filter 1000 pass * *				... (5)
pp select 1
 url pp filter out 1 2 3 4 1000				... (6)

(1)... 192.168.0.100 のホストからすべてのURLへのアクセスを禁止する。
(2)... すべてのホストから、info を含むURLへのアクセスを禁止する。
(3)... 192.168.0.2-192.168.0.10の範囲のホストから、yamahaを含むURLへのアクセスを禁止する。
(4)... すべてのホストから、http://aaa.bbb.ccc/へのアクセスを禁止する。
(5)... すべてのホストから、すべてのURLへのアクセスを許可する。
(6)... (1)〜(5)のフィルタをPP[1]の出力方向のHTTPコネクションへ適用する。
show url filterコマンドの表示例
# show url filter pp 1
pp 1 [OUT]:
フィルタ番号   始点IPアドレス       回数
----------------------------------------
    1          192.168.0.10           29
    2          192.168.0.27           10
    3          192.168.0.74          917
    4          192.168.0.18           83

#

インターフェイスを指定しない場合
# show url filter
LAN 2 [OUT]:
フィルタ番号   始点IPアドレス       回数
----------------------------------------
   19          192.168.100.231     83716
   22          192.168.100.18        378
   43          192.168.100.172      1058
   88          192.168.100.34       1892
  324          192.168.100.35       3871


pp 1 [OUT]:
フィルタ番号   始点IPアドレス       回数
----------------------------------------
    1          192.168.0.10           29
    2          192.168.0.27           10
    3          192.168.0.74          917
    4          192.168.0.18           83

pp 2 [IN]:
フィルタ番号   始点IPアドレス       回数
----------------------------------------
 2001          10.129.83.98         1238
 2002          172.16.38.137           9
 2003          10.211.49.176         328

SYSLOGメッセージ一覧

本機能において出力されるSYSLOGメッセージの一覧を以下に示します。尚、実際に出力される各メッセージの先頭には"[URL FILTER] "というプレフィックスが付与されます。

レベル 出力メッセージ 内容
NOTICE Passed at INTERFACE DIR(NUM) filter: IP_ADDRESS : URL INTERFACEのDIR方向に適用したフィルタ番号NUMのフィルタにマッチした、IP_ADDRESSからURLへアクセスするパケットを通過させた。
Rejected at INTERFACE DIR(NUM) filter: IP_ADDRESS : URL INTERFACEのDIR方向に適用したフィルタ番号NUMのフィルタにマッチした、IP_ADDRESSからURLへアクセスするパケットを破棄した。

関連文書

ページトップへ戻る