Zone-Based Policy Firewall
Материал из Xgu.ru
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:
- Создать зоны
- Создать пары зон
- Настроить class-map с указанием трафика к которому будет применяться политика
- Настроить policy-map, которая указывает какие действия будут применяться к трафику в class-map
- Применить policy-map к паре зон
- Добавить интерфейсы в зону
[править] Создание зон и пар зон
Создать зоны:
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
[править] Взаимодействие с другими функциями
[править] Дополнительная информация
- Conceptual Difference Between Cisco IOS Classic and Zone-Based Firewalls
- PPTP Connection Through Zone Based Firewall Router with NAT Configuration Example
- Zone-Based Policy Firewall Design and Application Guide
- Using VPN with Zone-Based Policy Firewall