NETWORK ENGINEER BLOG

Tips and Reviews for Engineers

Cisco Zone-Based Firewall 設定例

Cisco の Zone-Based Firewall(ZBF)を設定してみました。目的は下記のとおりです。

  • インターネットから、ルーターへの DOS アタックを防止する。
  • インターネットから、WebVPN アクセスを行う。
  • プライベートから、インターネットへの通信は制限しない。

ゾーンを定義します。

Router(config)#zone security Trust
Router(config)#zone security Internet

定義したゾーンをインターフェースへ割り当てます。

Router(config)#interface vlan 1
Router(config-if)#zone-member security Trust

Router(config)#int dialer 1
Router(config-if)#zone-member security Internet

Router(config)#interface virtual-template 1
Router(config-if)#zone-member security Trust

インターフェースに割り当てたゾーンを確認します。

Router#show zone security
zone self
  Description: System defined zone

zone Trust
  Member Interfaces:
    Vlan1
    Virtual-Template1
    Virtual-Access2

zone Internet
  Member Interfaces:
    Dialer1

セキュリティゾーンペアを設定します。

Router(config)#zone-pair security Trust->Internet source Trust destination Internet
Router(config)#zone-pair security Internet->Router source Internet destination self

ゾーン間で許可する通信を class-map で定義します。

Router(config)#class-map type inspect match-any All_Protocols
Router(config-cmap)#match protocol tcp
Router(config-cmap)#match protocol udp
Router(config-cmap)#match protocol icmp

Router(config)#class-map type inspect match-any TCP/UDP_Protocols
Router(config-cmap)#match protocol tcp
Router(config-cmap)#match protocol udp

セキュリティゾーンペアに適用される policy-map を設定します。

Router(config)#policy-map type inspect Trust_to_Internet
Router(config-pmap)#class type inspect All_Protocols
Router(config-pmap-c)#inspect

Router(config-pmap)#policy-map type inspect Internet_to_Router
Router(config-pmap)#class type inspect TCP/UDP_Protocols
Router(config-pmap-c)#inspect

セキュリティゾーンペアに policy-map を割り当てます。

Router(config)#zone-pair security Trust->Internet
Router(config-sec-zone-pair)#service-policy type inspect Trust_to_Internet

Router(config)#zone-pair security Internet->Router
Router(config-sec-zone-pair)#service-policy type inspect Internet_to_Router

policy-map では、log オプションを指定する事が可能です。

policy-map type inspect Internet_to_Router
 class type inspect TCP/UDP_Protocols
  inspect
 class class-default
  drop log

%FW-6-DROP_PKT: Dropping icmp session ***.***.***.***:0 ***.***.***.***:0
 on zone-pair Internet->Router class class-default due to DROP action found
 in policy-map with ip ident 0

統計情報を確認します。

Router#show policy-map type inspect zone-pair

policy exists on zp Trust->Internet
 Zone-pair: Trust->Internet

  Service-policy inspect : Trust_to_Internet

    Class-map: All_Protocols (match-any)
      Match: protocol tcp
        76 packets, 2432 bytes
        30 second rate 0 bps
      Match: protocol udp
        0 packets, 0 bytes
        30 second rate 0 bps
      Match: protocol icmp
        0 packets, 0 bytes
        30 second rate 0 bps

   Inspect
        Packet inspection statistics [process switch:fast switch]
        tcp packets: [0:2026]

        Session creations since subsystem startup or last reset 76
        Current session counts (estab/half-open/terminating) [31:0:0]
        Maxever session counts (estab/half-open/terminating) [34:8:9]
        Last session created 00:00:00
        Last statistic reset never
        Last session creation rate 56
        Maxever session creation rate 56
        Last half-open session total 0
        TCP reassembly statistics
        received 0 packets out-of-order; dropped 0
        peak memory usage 0 KB; current usage: 0 KB
        peak queue length 0


    Class-map: class-default (match-any)
      Match: any
      Drop
        0 packets, 0 bytes

policy exists on zp Internet->Router
 Zone-pair: Internet->Router

  Service-policy inspect : Internet_to_Router

    Class-map: TCP/UDP_Protocols (match-any)
      Match: protocol tcp
        12 packets, 480 bytes
        30 second rate 0 bps
      Match: protocol udp
        25 packets, 6944 bytes
        30 second rate 2000 bps

   Inspect
        Packet inspection statistics [process switch:fast switch]
        tcp packets: [156:314]
        udp packets: [0:25]

        Session creations since subsystem startup or last reset 37
        Current session counts (estab/half-open/terminating) [1:16:0]
        Maxever session counts (estab/half-open/terminating) [4:16:1]
        Last session created 00:00:01
        Last statistic reset never
        Last session creation rate 16
        Maxever session creation rate 16
        Last half-open session total 16
        TCP reassembly statistics
        received 0 packets out-of-order; dropped 0
        peak memory usage 0 KB; current usage: 0 KB
        peak queue length 0


    Class-map: class-default (match-any)
      Match: any
      Drop
        1569 packets, 100416 bytes