動的フィルタの設定(PPPoE・NAT)

ここでは、PPPoE、NAT、動的フィルタの設定を行います。

ネットワークの構成は、下図の通りです。

まず、PPPoEとNATの設定を行います。

# console prompt R1
R1# ip route default gateway pp 1
R1#ip lan1 address 192.168.1.1/24
R1# pp select 1
R1pp1# pppoe use lan2
R1pp1# pp auth accept pap chap
R1pp1# pp auth myname (PPPoE接続ID) (PPPoE接続パスワード)
R1pp1# ppp lcp mru on 1454
R1pp1# ppp ipcp ipaddress on
R1pp1# ppp ipcp msext on
R1pp1# ppp ccp type none
R1pp1# ip pp mtu 1454
R1pp1# ip pp nat descriptor 1
R1pp1# pp enable 1
R1pp1# nat descriptor type 1 masquerade
R1pp1# dns server pp 1
R1pp1# dns private address spoof on
R1pp1#pp select none

動的フィルタの設定

動的フィルタの設定を行います。

まず、ICMPを許可するフィルタを定義します。

R1# ip filter 1 pass * * icmp * *

動的に生成されるフィルタに合致するパケット以外を遮断するためのフィルタを定義します。

R1# ip filter 2 reject * * * * *

 DNS、WWW、FTPサーバに対する動的フィルタを定義します。プロトコルとして、TCP/UDPを指定しないのは、アプリケーション固有の処理を行わせるためです。

R1# ip filter dynamic 1 * * domain
R1# ip filter dynamic 2 * * www
R1# ip filter dynamic 3 * * ftp

 外部のメールサーバに対する動的フィルタを定義します。フィルタ3に合致するパケットを検出したら、その逆方向にフィルタ4に合致するパケットを一定時間通過させます。

 TCPのidentは、認証の一種で、メール通信を行う際に、メールサーバ側からidentによりユーザ認証が行われる場合があります。そのために動的フィルタで通過せるように定義しておきます。

R1# ip filter 3 pass * * tcp * smtp,pop3
R1# ip filter 4 pass * * tcp * ident
R1# ip filter dynamic 4 * * filter 3 in 4

その他の通信のために、TCP/UDPの動的フィルタを定義します。

R1# ip filter dynamic 10 * * tcp
R1# ip filter dynamic 11 * * udp

 source-routeオプション付きのパケットを遮断するための設定を行います。source-routeオプションは、フィルタリングを潜り抜けるなどの攻撃に悪用される可能性があるため遮断します。

R1# ip filter source-route on

Directed Broadcastアドレス宛てのパケットを遮断する設定を行います。smurf attack攻撃に対処します。

R1# ip filter directed-broadcast on

 pp inに全てのパケットを遮断する静的フィルタ2を適用していますが、動的フィルタの働きで、通過フィルタが自動生成されるので、必要なパケットは通過できます。

 また、静的フィルタを定義する場合は、注意して下さい。動的フィルタは、初めは存在しないため、初めは全て静的フィルタの適用順にチェックされることとなります。

 すなわち、初めてのコネクションは、まず、静的フィルタとチェックされることとなるため、通すべきコネクションが、この静的フィルタで遮断されることのないように注意が必要です。

R1# pp select 1
R1pp1# ip pp secure filter in 1 2
R1pp1# ip pp secure filter out dynamic 1 2 3 4 10 11
R1pp1# pp select none
R1# save
R1# restart

設定の検証

ここでは、設定した内容を検証していきます。

PC1から、WWW、FTPなどの通信を行います。

問題なく、通信できるはずです。

R1ルータの管理画面にブラウザで接続して、PP1の出側の状態を確認します。

動的フィルタが、作成されていることが確認できます。

 動的フィルタは、このように動的に自動生成されますが、ルータの負荷は大きくなるので、実際の運用は、ルータの性能、トラフィック量、NATなどの他の設定とを鑑みて設定してゆくこととなります。ルータの負荷があまりにも大きくなる場合、ルータのトラフィック処理が追いつかなくなることがあります。

GUIによる動的フィルタの設定

 ここまで、動的フィルタをコマンドで設定する方法を紹介してきましたが、WebインタフェースのGUIによる設定も行うことができます。敷居の高い動的フィルタの設定を簡単な操作で設定できるようになっています。

設定画面は次のようになっています。

R1ルータののコンフィグ

●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