URLフィルタの設定

ここでは、URLフィルタを設定していきます。まずは、下図のネットワークを設定します。

●R1のコンフィグ

console prompt R1
ip route default gateway pp 1
ip filter source-route on
ip filter directed-broadcast on
ip lan1 address 192.168.1.1/24
pp select 1
 pppoe use lan2
 pp auth accept pap chap
 pp auth myname (PPPoE接続ID) (PPPoE接続パスワード)
 ppp lcp mru on 1454
 ppp ipcp ipaddress on
 ppp ipcp msext on
 ppp ccp type none
 ip pp mtu 1454
 ip pp secure filter in 1 2
 ip pp secure filter out dynamic 1 2 3 4 10 11
 ip pp nat descriptor 1
 pp enable 1
ip filter 1 pass * * icmp * *
ip filter 2 reject * * * * *
ip filter 3 pass * * tcp * smtp,pop3
ip filter 4 pass * * tcp * ident
ip filter dynamic 1 * * domain
ip filter dynamic 2 * * www
ip filter dynamic 3 * * ftp
ip filter dynamic 4 * * filter 3 in 4
ip filter dynamic 10 * * tcp
ip filter dynamic 11 * * udp
nat descriptor type 1 masquerade
dns server pp 1
dns private address spoof on

URLフィルタの定義

URLフィルタを定義していきます。

 URLフィルタを評価する順番は、「url INTERFACE filter」コマンドに登録された順番に適用されます。適用される順番と合致した場合の動作は、パケットフィルタ型のファイアウォールの定義と似ています。

 URLフィルタは、合致した場合は、合致した場合の動作(通過/破棄)を行い、それ以降のフィルタは評価されません。そのため、全てのフィルタに合致しない場合は、破棄されることになるので、該当しないサイトにアクセスさせたいのであれば、全てのWebアクセスを通過させるフィルタを用意します。

例えば、次のURLを定義します。

R1# url filter 1 pass www.yahoo.co.jp
R1# url filter 2 reject yahoo
R1# url filter 3 pass *
R1# url lan1 filter in 1 2 3

※Yahoo!さん。すみません。制限すべきサイトではありませんが、例として定義しています。

※現在では、httpではなく、httpsが用いられています。

Webブラウザを起動して、「Yahoo!」にアクセスします。

Yahoo! JAPAN

あなたの毎日をアップデートする情報ポータル。検索、ニュース、天気、スポーツ、メール、ショッピング、オークションなど便利なサービスを展開しています。

アクセスできます。

「Yahoo!きっず」にWebブラウザでアクセスします。

Yahoo!きっず - 安全に楽しく学べる子ども向けポータルサイト

「Yahoo!きっず(ヤフーきっず)」は子供向けポータルサイトです。インターネットの情報検索や、図鑑、食育、ゲームなど安全に楽しく学べるサービスを提供しています。

フィルタ2の「yahoo」に合致するため破棄されます。

 「Yahoo!」のURL「http://www.yahoo.co.jp/」に「yahoo」が含まれますが、フィルタ1の方で先に合致するため、そちらで通過の処理が行われます。

フィルタの適用を削除します。

R1# no url lan1 filter in 1 2 3

今度は、フィルタの適用順を下のように変更します。

R1# url lan1 filter in 2 1 3

「Yahoo!」「Yahoo!きっず」にWebブラウザでアクセスします。

今度は、ともにアクセスできません。フィルタ1で「Yahoo!」を許可しているにも関わらずアクセスできません。

 それは、フィルタ2がはじめに評価され、「Yahoo!」「Yahoo!きっず」のURL内の「yahoo」という文字列に合致するため破棄されることになります。

Webアクセスのレスポンス改善

 インターネットに接続するルータは、NATやらファイアウォールやらと処理することがたくさんあります。ルータの性能には、上限があり、例えば、NATのコネクションの上限数が、4,096、ファイアウォールのコネクション上限数が、4,096などの制限があります。

 Webアクセスの利用状況によっては、性能の上限に達してしまいWebアクセスのレスポンスが急激に悪くなることもあります。

 ルータの負荷が大きくなる通信の一つに動画サイトの閲覧があります。動画の閲覧には非常に多くのコネクションが必要になるため、多くのユーザが同時に動画サイトを閲覧するとルータの負荷が高くなり、Webアクセスのレスポンスが急激に悪くなることもあります。

動画サイトへの閲覧を制限することで、Webアクセスのレスポンスが改善される場合があります。

それでは、設定を追加していきます。

まず、既に作成済みのURLフィルタを削除します。

# no url filter 1 pass www.yahoo.co.jp
# no url filter 2 reject yahoo
# no url filter 3 pass *
# no url lan1 filter in 2 1 3

動画サイトのURLフィルタを作成します。

URLに「.video」「video.」を含む動画サイトのフィルタは、下のように定義します。

※「.video」「video.」の文字列が含まれるサイトの皆様、すみません。悪意はありません。

# url filter 1 reject .video *
# url filter 2 reject video. *
# url filter 3 pass *
# url lan1 filter in 1 2 3

URLに「.video」「video.」が含まれるサイトにアクセスします。アクセスできないはずです。

URLフィルタの限界

 URLフィルタは、URLに含まれる文字列と合致するかどうかのチェックであるため、IPアドレスを指定してWebサイトへアクセスされると閲覧できてしまいます。

 しかし、IPアドレスによるアクセスは、DNSにより名前解決を事前に行ってIPアドレスを調べておく必要があります。また、毎回、IPアドレスを指定してアクセスするのは、煩わしい作業です。

そのため、URLフィルタは、ある程度の効果はあります。

GUIにおけるURLフィルタの設定

URLフィルタのGUIにおけるで設定を紹介します。

「Yahoo」にはアクセスできるが、「Yahoo!きっず」には、アクセスできないURLフィルタを作成します。

コマンドで定義すると以下のようになりますが、これをGUIで設定していきます。

# url filter 1 pass www.yahoo.co.jp
# url filter 2 reject yahoo
# url filter 3 pass *
# lan1 filter in 1 2 3

ルータにブラウザからアクセスします。

「管理者向け用のページ」にアクセスします。

 RTX1000、RTX1100では、GUIによるURLフィルタの設定を行うことができませんが、RTX1200では、GUIで設定を行うことができます。

GUIによるURLフィルタの設定は、静的フィルタの設定と似ており、同じような操作で設定を行うことができます。

 URLフィルタのメンテナンスは、GUIによる設定が使い勝手が良いです。なぜなら、運用管理しているとフィルタしたいサイトは、その都度、変わってくるからです。