Startラボ 第13回 「C841のFW(ファイアーウォール)の設定にチャレンジ2」

こんにちは。社会人2年目の新米SEのTEと申します。

前回は、CLIでC841のZonebase Firewallの設定を途中まで行いました。
その続きで、今回はZonebase Firewallの設定を完了させたいと思います。

前回と同じものですが、以下の構成イメージを目指します。

Zonebase Firewallの設定の手順については、
簡単にまとめると以下のような流れとなります。

①ゾーンの作成(グループの作成)
②ゾーンとインターフェースの紐づけ(グループメンバーの決定)
③ゾーンペアの作成(グループ間の通信経路パターンの作成)
④クラスマップの作成(対象とするトラフィックの種類を定義)
⑤ポリシーマップの作成(ルール(アクション)を定義)
⑥ゾーンペアに対してポリシーマップを適用(通信経路パターンに対してルール適用)

因みに前回に①~③の設定はしたので、今回は④~⑥の設定を行いたいと思います。
という事でまずは、④~⑥についてもう少し具体的に説明致します。

④クラスマップの作成(対象とするトラフィックの種類を定義)
まず、クラスマップでは、どの種類のトラフィックを対象とするかを条件設定により指定する事ができます。今回はTCP、UDP、ICMPのトラフィックを対象とする「クラスマップ」を作成します。

⑤ポリシーマップの作成(ルール(アクション)を定義)
ポリシーマップでは、特定の通信に対してどういったアクションを行うかを指定する事ができます。Zonebase Firewallでは、以下の3つのアクションが選択可能です。

・廃棄(drop):通信を拒否します。何も設定が無ければ、こちらが適用されます。
・通過(pass):通信を許可します。
・検査(inspect):行きの通信を許可し、その通信に対しての戻りの通信は許可します。検査された通信は、接続情報やセッションの情報をルータが維持する事でこの動作を実現しています。

今回は作成したクラスマップの条件に一致した通信は、検査(inspect)し、一致しない通信に対しては、通過(pass)させるというルールを定義する「ポリシーマップ」を作成します。

⑥ゾーンペアに対してポリシーマップを適用(通信経路パターンに対してルール適用)
前回③で作成したゾーンペアに対してポリシーマップを適用させます。
今回は、in-zone(Vlan1)からout-zone(Dialer1)への通信パターンである「PAIR-1」とself-zone(ルータ自身)からout-zone(Dialer1)への通信パターンである「PAIR-2」に対して、先ほど作成したポリシーマップを適用させます。

以下が手順④~⑥の設定コマンドとなります。
手順①~③の設定コマンドにつきましては、前回記事をご覧ください。

Zonebase Firewallの設定(手順④~⑥まで)
――――――――――――――――――――――――――――――――――――――――
1.    Router> enable
2.    Router# configure terminal
3.    Router(config)# class-map type inspect match-any CLASS
4.    Router(config-cmap)# match protocol tcp
5.    Router(config-cmap)# match protocol ucp
6.    Router(config-cmap)# match protocol icmp
7.    Router(config-cmap)# exit
8.    Router(config)# policy-map type inspect POLICY-1
9.    Router(config-pmap)# class type inspect CLASS
10.    Router(config-pmap-c)# inspect
11.    Router(config-pmap-c)# exit
12.    Router(config-pmap)# class class-default
13.    Router(config-pmap-c)# pass
14.    Router(config-pmap-c)# end
15.    Router# configure terminal
16.    Router(config)# zone-pair security PAIR-1 source in-zone destination out-zone
17.    Router(config-sec-zone-pair)# service-policy type inspect POLICY-1
18.    Router(config-sec-zone-pair)# exit
19.    Router(config)# zone-pair security PAIR-2 source self destination out-zone
20.    Router(config-sec-zone-pair)# service-policy type inspect POLICY-1
21.    Router(config-sec-zone-pair)# end
22.    Router# copy running-config startup-config
――――――――――――――――――――――――――――――――――――――――
3行目 class-map type inspect match-any CLASS コマンドを使用して、クラスマップ「CLASS」を作成します。
※match-any とした場合、次に指定する条件のいずれかに一致した通信に適用するクラスマップとなります。これを match-all とした場合には、次に指定した条件の全てに一致した通信に適用するクラスマップとなります。
4~6行目 match protocol コマンドを使用して、TCP・UDP・ICMPのプロトコルをクラスマップ「CLASS」の条件として指定します。
8 行目 policy-map type inspect POLICY-1 コマンドを使用して、「POLICY-1」というポリシーマップを作成します。
9行目 class type inspect CLASS コマンドを使用して、ポリシーマップが対象とする範囲(クラス)としてクラスマップ「CLASS」を指定します。
10 行目 inspect コマンドを使用して、クラスマップ「CLASS」に一致した通信へのアクションをインスペクションに指定します。
※インスペクションは、行きの通信とその通信に対しての戻りの通信のみ許可します。
12行目 class class-default コマンドを使用して、クラスで指定した条件に当てはまらなかった通信への設定を行います。
13行目 pass コマンドを使用して、クラスで指定した条件に当てはまらなかった通信を許可するよう設定します。
※設定しなかった場合は、デフォルトの通信を禁止する「drop」のアクションとなります。
17 行目service-policy type inspect POLICY-1 コマンドを使用して、ゾーンペア「PAIR-1 」に対してポリシーマップ「POLICY-1」を適用します。
20 行目service-policy type inspect POLICY-1 コマンドを使用して、ゾーンペア「PAIR-2 」に対してポリシーマップ「POLICY-1」を適用します。


以上でZonebase Firewallの設定は終了です。

単純なポリシールールの割には、かなり複雑な書き方だと思われた方も多いかと思いますが、今回の様にクラスマップやゾーンペア、ポリシールールなどを最初に個別で作っていれば、ネットワークの設定変更が生じた際に必要な部分のみ変更すれば良いので、その点では書きやすいのかなと思いました。

今回は以上となります。
次回は、これまでのZonebase Firewallの設定が正しいかどうか動作検証したいと思います。

引き続き宜しくお願い致します。

カタログDL等、iDATEN(韋駄天)ログインが必要なコンテンツがございます。
必要に応じて、ログインしてご利用ください。
iDATEN(韋駄天)のご利用に関してご不明点があるお客様は こちら をお読みください。

Ciscoの記事