Zone-Based Policy Firewall

Материал из Xgu.ru

Перейти к: навигация, поиск
stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.


Zone-Based Policy Firewall — новый подход Cisco к настройке правил межсетевого экрана на маршрутизаторе. В его основе лежит распределение интерфейсов маршрутизатора по зонам безопасности. После этого все правила настраиваются для взаимодействий между зонами.

Такой подход облегчает настройки правил межсетевого экрана. Кроме того в Zone-Based Policy Firewall используется Cisco Policy Language (CPL), которая позволяет более гибко, чем в предыдущих версиях межсетевого экрана, настраивать правила фильтрации трафика.

Zone-Based Policy Firewall появился начиная с IOS 12.4(6)T.

Содержание

[править] Основные понятия

  • Правила настраиваются не на интерфейсах, а между зонами
  • Использует C3PL (Cisco Common Classification Policy Language)
  • По умолчанию всё запрещено
  • Зона может состоять из одного интерфейса или нескольких интерфейсов
  • В пределах зоны по умолчанию разрешен весь трафик
  • Между зонами по умолчанию политика – deny any any
  • Трафик предназначенный маршрутизатору или сгенерированный им разрешен по умолчанию
  • Политика применяется к парам зон с указанием направления. То есть IN_OUT и OUT_IN это две разных политики
  • Если один из интерфейсов принадлежит к какой-либо зоне, другой нет - трафик запрещен
  • CBAC и ZBFW можно использовать одновременно, но только на разных интерфейсах

[править] Базовая настройка ZBFW

Порядок настройки ZBFW:

  1. Создать зоны
  2. Создать пары зон
  3. Настроить class-map с указанием трафика к которому будет применяться политика
  4. Настроить policy-map, которая указывает какие действия будут применяться к трафику в class-map
  5. Применить policy-map к паре зон
  6. Добавить интерфейсы в зону

[править] Создание зон и пар зон

Создать зоны:

zone security IN
zone security OUT
zone security DMZ

Создать пары зон:

zone-pair security IN_OUT source IN destination OUT
zone-pair security OUT_IN source OUT destination IN
zone-pair security OUT_DMZ source OUT destination DMZ

[править] C3PL

C3PL (Cisco Common Classification Policy Language):

  • class-map — описание трафика
  • policy-map — назначение действий
  • service-policy — применение к паре зон

[править] class-map

Примеры class-map:

class-map type inspect match-any OUT_protocols
 match protocol http
 match protocol ssh
 match protocol telnet

class-map type inspect match-all IN_to_DMZ_SSH
 match access-group name IN_TO_DMZ
 match protocol ssh

class-map type inspect OSPF
 match access-group name OSPF

class-map type inspect match-all IN_OUT
 match class-map OUT_protocols
 match access-group name IN_to_remote_OUT

[править] policy-map

Примеры policy-map:

policy-map type inspect IN_OUT_policy
 class type inspect IN_OUT
  inspect

policy-map type inspect OUT_to_DMZ_policy
 class OUT_to_DMZ
  inspect

policy-map type inspect IN_to_SELF_policy
 class OSPF
  pass
 class IN_to_SELF
  inspect
 class class-default
  drop log

[править] service-policy. Применение policy-map к паре зон

zone-pair security IN_OUT source IN destination OUT
 service-policy type inspect IN_OUT_policy

zone-pair security IN_DMZ source IN destination DMZ
 service-policy type inspect IN_to_DMZ_policy

[править] Добавление интерфейсов в зону

interface FastEthernet2/0
 zone-member security DMZ

interface FastEthernet1/0
 zone-member security OUT

interface FastEthernet0/0
 zone-member security IN

[править] Пример настроек

class-map type inspect match-all all-private
 match access-group 101
!
policy-map type inspect priv-pub-pmap
 class type inspect all-private
  inspect
 class class-default
!
zone security private
zone security public
!
zone-pair security priv-pub source private destination public
 service-policy type inspect priv-pub-pmap
!
interface FastEthernet4
 ip address 172.16.108.44 255.255.255.0
 zone-member security public
!
interface FastEthernet5
 ip address 192.168.108.1 255.255.255.0
 zone-member security private
!
access-list 101 permit ip 192.168.108.0 0.0.0.255 any

[править] Дополнительные возможности

[править] parameter-map type inspect

parameter-map type inspect DoS_PARAM_MAP
 max-incomplete high 200
 one-minute high 1000
 tcp max-incomplete host 100 block-time 0

policy-map type inspect ZONE1-ZONE2-PMAP
 class type inspect MY_CMAP
  inspect DoS_PARAM_MAP

[править] Инспектирование на уровне приложений

class-map type inspect http LONG_URLS
 match request uri length gt 500

policy-map type inspect http HTTP_POLICY
 class type inspect http LONG_URLS
  reset

class-map type inspect match-all HTTP_TRAFFIC
 match protocol http
 match access-group 101

policy-map type inspect MYPOLICY
 class type inspect HTTP_TRAFFIC
  inspect
  service-policy http HTTP_POLICY

Пример:

class-map type inspect http match-any HTTP-L7-CMAP
 match req-resp protocol-violation
 match request port-misuse any

policy-map type inspect http HTTP-L7-PMAP
 class type inspect http HTTP-L7-CMAP
  reset
  log

class-map type inspect match-any HTTP-L4-CMAP
 match protocol http

policy-map type inspect L4-PMAP
 class type inspect HTTP-L4-CMAP
  inspect
  service-policy http HTTP-L7-PMAP

zone security Private
zone security Public

interface GigabitEthernet0/1
 zone-member security Private

interface Serial0/0
 zone-member security Public

zone-pair security Priv-to-Pub sour Private dest Public
 service-policy type inspect L4-PMAP

[править] Просмотр настроек

Зоны и назначенные интерфейсы:

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


zone IN
  Member Interfaces:
    FastEthernet0/0

zone OUT
  Member Interfaces:
    FastEthernet1/0

zone DMZ
  Member Interfaces:
    FastEthernet2/0

Пары зон:

dyn1#sh zone-pair security 
Zone-pair name IN_OUT
    Source-Zone IN  Destination-Zone OUT 
    service-policy IN_OUT_policy
Zone-pair name IN_DMZ
    Source-Zone IN  Destination-Zone DMZ 
    service-policy not configured
Zone-pair name OUT_DMZ
    Source-Zone OUT  Destination-Zone DMZ 
    service-policy not configured


dyn1#sh class-map type inspect 
 Class Map type inspect match-all IN_to_DMZ_HTTP (id 12)
   Match access-group name IN_TO_DMZ
   Match protocol http

 Class Map type inspect match-all IN_OUT (id 2)
   Match class-map OUT_protocols
   Match access-group name IN_to_remote_OUT

 Class Map type inspect match-all IN_to_DMZ_SSH (id 13)
   Match access-group name IN_TO_DMZ
   Match protocol ssh

 Class Map type inspect match-any OUT_protocols (id 1)
   Match protocol http
   Match protocol ssh
   Match protocol telnet
dyn1#sh policy-map type inspect IN_to_DMZ_policy
  Policy Map type inspect IN_to_DMZ_policy
    Class IN_to_DMZ_HTTP
      Inspect 
    Class IN_to_DMZ_SSH
      Inspect 
    Class class-default
      Drop
dyn1#sh policy-map type inspect zone-pair

policy exists on zp IN_OUT
 Zone-pair: IN_OUT

  Service-policy inspect : IN_OUT_policy

    Class-map: IN_OUT (match-all)
      Match: class-map match-any OUT_protocols
        Match: protocol http
          0 packets, 0 bytes
          30 second rate 0 bps
        Match: protocol ssh
          0 packets, 0 bytes
          30 second rate 0 bps
        Match: protocol telnet
          0 packets, 0 bytes
          30 second rate 0 bps
      Match: access-group name IN_to_remote_OUT

   Inspect
        Session creations since subsystem startup or last reset 0
        Current session counts (estab/half-open/terminating) [0:0:0]
        Maxever session counts (estab/half-open/terminating) [0:0:0]
        Last session created never
        Last statistic reset never
        Last session creation rate 0
        Maxever session creation rate 0
        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
dyn1#sh policy-map type inspect zone-pair sessions

policy exists on zp IN_OUT
 Zone-pair: IN_OUT

  Service-policy inspect : IN_OUT_policy

    Class-map: IN_OUT (match-all)
      Match: class-map match-any OUT_protocols
        Match: protocol http
          0 packets, 0 bytes
          30 second rate 0 bps
        Match: protocol ssh
          0 packets, 0 bytes
          30 second rate 0 bps
        Match: protocol telnet
          0 packets, 0 bytes
          30 second rate 0 bps
      Match: access-group name IN_to_remote_OUT

   Inspect

    Class-map: class-default (match-any)
      Match: any 
      Drop
        0 packets, 0 bytes
dyn1#sh policy-map type inspect zone-pair OUT_DMZ se

policy exists on zp OUT_DMZ
 Zone-pair: OUT_DMZ

  Service-policy inspect : OUT_to_DMZ_policy

    Class-map: OUT_to_DMZ (match-all)
      Match: access-group name OUt_TO_DMZ
      Match: class-map match-any DMZ_prot
        Match: protocol ssh
          0 packets, 0 bytes
          30 second rate 0 bps
        Match: protocol http
          0 packets, 0 bytes
          30 second rate 0 bps

   Inspect

      Number of Established Sessions = 1
      Established Sessions
        Session 67A20D80 (192.168.6.2:51083)=>(172.16.1.8:22) ssh:tcp SIS_OPEN
          Created 00:00:54, Last heard 00:00:40
          Bytes sent (initiator:responder) [1151:1651]
          

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


[править] Взаимодействие с другими функциями

[править] Дополнительная информация