Разлика между версии на „Конфигуриране на ZBF“
(→R1) |
|||
(10 intermediate revisions by the same user not shown) | |||
Ред 1: | Ред 1: | ||
[[Category:Cisco]] | [[Category:Cisco]] | ||
+ | [http://www.cisco.com/c/en/us/support/docs/security/ios-firewall/98628-zone-design-guide.html Zone-Based Policy Firewall Design and Application Guide] | ||
+ | |||
+ | [http://packetlife.net/blog/2012/jan/30/ios-zone-based-firewall/ IOS Zone-Based Firewall] | ||
+ | |||
=Примерна топология= | =Примерна топология= | ||
[[Файл:ZBF_Topology.png]] | [[Файл:ZBF_Topology.png]] | ||
Ред 53: | Ред 57: | ||
==Стъпка 1: Създаване на зони== | ==Стъпка 1: Създаване на зони== | ||
− | В примерната топология нека приемем, че на R1 трябва да | + | В примерната топология нека приемем, че на R1 трябва да се зададат следните две зони: |
#INSIDE-ZONE - която да е към мрежа 172.16.0.0 | #INSIDE-ZONE - която да е към мрежа 172.16.0.0 | ||
#OUTSIDE-ZONE - каято да е към интерфейс GigabitEthernet 0/1 | #OUTSIDE-ZONE - каято да е към интерфейс GigabitEthernet 0/1 | ||
Ред 73: | Ред 77: | ||
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word"> | <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word"> | ||
R1(config)# | R1(config)# | ||
− | R1(config)#access-list 101 permit ip 172.16.0.0 0.0.255.255 any | + | R1(config)#access-list 101 permit ip 172.16.0.0 0.0.255.255 any eq 5000 |
R1(config)# | R1(config)# | ||
− | R1(config)#class-map type inspect match- | + | R1(config)#class-map type inspect match-any R1-CLASS-MAP |
R1(config-cmap)#match access-group 101 | R1(config-cmap)#match access-group 101 | ||
+ | R1(config-cmap)#match protocol dns | ||
R1(config-cmap)#exit | R1(config-cmap)#exit | ||
R1(config)# | R1(config)# | ||
+ | </pre> | ||
+ | |||
+ | ==Стъпка 3: Дефиниране на политики за анализ== | ||
+ | Политиката за анализ определя какво действие да се извърши с дадения трафик. | ||
+ | |||
+ | Възможните действие са: | ||
+ | *inspect - анализира потока от данни | ||
+ | *drop - отхвърля трафика | ||
+ | *pass - безусловно пропуска трафика | ||
+ | |||
+ | <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word"> | ||
+ | R1(config)# | ||
+ | R1(config)#policy-map type inspect R1-POLICY-PMAP | ||
+ | R1(config-pmap)#class type inspect R1-CLASS-MAP | ||
+ | R1(config-pmap-c)#inspect | ||
+ | R1(config-pmap-c)#exit | ||
+ | R1(config-pmap)#exit | ||
+ | R1(config)# | ||
+ | </pre> | ||
+ | |||
+ | ==Стъпка 4: Дефиниране на връзки между две отделни зони== | ||
+ | За да функционира ZBF е необходимо да се дефинират връзки между две отделни зони, наречени "zone pair". | ||
+ | |||
+ | <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word"> | ||
+ | R1(config)# | ||
+ | R1(config)#zone-pair security R1-ZONEPAIR-1 source INSIDE-ZONE destination OUTSIDE-ZONE | ||
+ | R1(config-sec-zone-pair)#service-policy type inspect R1-POLICY-PMAP | ||
+ | R1(config-sec-zone-pair)#exit | ||
+ | R1(config)# | ||
+ | </pre> | ||
+ | |||
+ | ==Стъпка 5: Определяне на физическите интерфейси и зоните== | ||
+ | Последната стъпка е да се посочи, кой физически интерфейс в коя зона принадлежи. | ||
+ | |||
+ | <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word"> | ||
+ | interface GigabitEthernet 0/0 | ||
+ | zone-member security INSIDE-ZONE | ||
+ | exit | ||
+ | interface GigabitEthernet 0/1 | ||
+ | zone-member security OUTSIDE-ZONE | ||
+ | exit | ||
+ | </pre> | ||
+ | |||
+ | =Проверка на ZBF= | ||
+ | За да се провери работата на ZBF може да се използва командата '''show policy-map type inspect zone-pair sessions'''. | ||
+ | |||
+ | <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word"> | ||
+ | R1# show policy-map type inspect zone-pair sessions | ||
+ | Zone-pair: R1-ZONEPAIR-1 | ||
+ | |||
+ | Service-policy inspect : R1-POLICY-PMAP | ||
+ | |||
+ | Class-map: R1-CLASS-MAP (match-all) | ||
+ | Match: access-group 101 | ||
+ | Inspect | ||
+ | |||
+ | Established Sessions | ||
+ | Session 297740240 (172.16.0.2:19)=>(80.0.0.80:0) icmp SIS_OPEN | ||
+ | Created 00:00:04, Last heard 00:00:04 | ||
+ | ECHO request | ||
+ | Bytes sent (initiator:responder) [512:512] | ||
+ | Class-map: class-default (match-any) | ||
+ | Match: any | ||
+ | Drop (default action) | ||
+ | 0 packets, 0 bytes | ||
+ | R1# | ||
+ | </pre> | ||
+ | |||
+ | =Ctrl+C/Ctrl+V= | ||
+ | ==R1== | ||
+ | <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word"> | ||
+ | enable | ||
+ | conf t | ||
+ | hostname R1 | ||
+ | interface gi0/0 | ||
+ | ip address 172.16.0.1 255.255.0.0 | ||
+ | no shut | ||
+ | interface gi0/1 | ||
+ | ip address 10.0.0.1 255.0.0.0 | ||
+ | no shut | ||
+ | exit | ||
+ | router ospf 1 | ||
+ | network 172.16.0.0 0.0.255.255 area 0 | ||
+ | network 10.0.0.0 0.255.255.255 area 0 | ||
+ | exit | ||
+ | |||
+ | zone security INSIDE-ZONE | ||
+ | zone security OUTSIDE-ZONE | ||
+ | |||
+ | access-list 101 permit ip 172.16.0.0 0.0.255.255 any eq 5000 | ||
+ | |||
+ | class-map type inspect match-any R1-CLASS-MAP | ||
+ | match access-group 101 | ||
+ | match protocol dns | ||
+ | exit | ||
+ | |||
+ | policy-map type inspect R1-POLICY-PMAP | ||
+ | class type inspect R1-CLASS-MAP | ||
+ | inspect | ||
+ | exit | ||
+ | exit | ||
+ | |||
+ | zone-pair security R1-ZONEPAIR-1 source INSIDE-ZONE destination OUTSIDE-ZONE | ||
+ | service-policy type inspect R1-POLICY-PMAP | ||
+ | exit | ||
+ | |||
+ | interface gi 0/0 | ||
+ | zone-member security INSIDE-ZONE | ||
+ | exit | ||
+ | interface gi 0/1 | ||
+ | zone-member security OUTSIDE-ZONE | ||
+ | end | ||
+ | </pre> | ||
+ | |||
+ | ==R2== | ||
+ | <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word"> | ||
+ | enable | ||
+ | conf t | ||
+ | hostname R2 | ||
+ | interface gi0/0 | ||
+ | ip address 80.0.0.1 255.0.0.0 | ||
+ | no shut | ||
+ | interface gi0/1 | ||
+ | ip address 10.0.0.2 255.0.0.0 | ||
+ | no shut | ||
+ | exit | ||
+ | router ospf 1 | ||
+ | network 80.0.0.0 0.255.255.255 area 0 | ||
+ | network 10.0.0.0 0.255.255.255 area 0 | ||
+ | end | ||
</pre> | </pre> |
Текуща версия към 18:43, 7 август 2015
Zone-Based Policy Firewall Design and Application Guide
Съдържание
Примерна топология
Базова конфигурация
R1
enable conf t hostname R1 interface GigabitEthernet 0/0 ip address 172.16.0.1 255.255.0.0 no shut interface GigabitEthernet 0/1 ip address 10.0.0.1 255.0.0.0 no shut exit router ospf 1 network 172.16.0.1 0.0.0.0 area 0 network 10.0.0.1 0.0.0.0 area 0 end
R2
enable conf t hostname R2 interface GigabitEthernet 0/0 ip address 80.0.0.1 255.0.0.0 no shut interface GigabitEthernet 0/1 ip address 10.0.0.2 255.0.0.0 no shut exit router ospf 1 network 80.0.0.1 0.0.0.0 area 0 network 10.0.0.2 0.0.0.0 area 0 end
Етапи при проектиране на ZBF
- Определяне на зоните
- Дефиниране на политики между зоните
- Дизайн на физическата свързаност
- Дефиниране на групи (subset) от зони и обединяване (merge) на потоците от трафик
Стъпки при конфигуриране на ZBF чрез CLI
- Създаване на зони чрез команда zone security
- Определяне на класове трафик чрез class-map type inspect
- Определяне на политики чрез policy-map type inspect
- Дефиниране на връзки между две отделни зони чрез zone-pair
- Поставяне на интерфейс в дадена зона с zone-member security
Стъпка 1: Създаване на зони
В примерната топология нека приемем, че на R1 трябва да се зададат следните две зони:
- INSIDE-ZONE - която да е към мрежа 172.16.0.0
- OUTSIDE-ZONE - каято да е към интерфейс GigabitEthernet 0/1
Създаването на зоните на R1 се извършва чрезц командата zonde secirty [име на зона].
R1(config)# R1(config)#zone security INSIDE-ZONE R1(config-sec-zone)# R1(config-sec-zone)#exit R1(config)# R1(config)#zone security OUTSIDE-ZONE R1(config-sec-zone)#exit R1(config)#
Стъпка 2: Определяне на класове трафик
За да се дефинира кой трафик да се проверява и пропуска в примера се използва ACL. Възможно е да се приложат и други методи за L4 и L7.
R1(config)# R1(config)#access-list 101 permit ip 172.16.0.0 0.0.255.255 any eq 5000 R1(config)# R1(config)#class-map type inspect match-any R1-CLASS-MAP R1(config-cmap)#match access-group 101 R1(config-cmap)#match protocol dns R1(config-cmap)#exit R1(config)#
Стъпка 3: Дефиниране на политики за анализ
Политиката за анализ определя какво действие да се извърши с дадения трафик.
Възможните действие са:
- inspect - анализира потока от данни
- drop - отхвърля трафика
- pass - безусловно пропуска трафика
R1(config)# R1(config)#policy-map type inspect R1-POLICY-PMAP R1(config-pmap)#class type inspect R1-CLASS-MAP R1(config-pmap-c)#inspect R1(config-pmap-c)#exit R1(config-pmap)#exit R1(config)#
Стъпка 4: Дефиниране на връзки между две отделни зони
За да функционира ZBF е необходимо да се дефинират връзки между две отделни зони, наречени "zone pair".
R1(config)# R1(config)#zone-pair security R1-ZONEPAIR-1 source INSIDE-ZONE destination OUTSIDE-ZONE R1(config-sec-zone-pair)#service-policy type inspect R1-POLICY-PMAP R1(config-sec-zone-pair)#exit R1(config)#
Стъпка 5: Определяне на физическите интерфейси и зоните
Последната стъпка е да се посочи, кой физически интерфейс в коя зона принадлежи.
interface GigabitEthernet 0/0 zone-member security INSIDE-ZONE exit interface GigabitEthernet 0/1 zone-member security OUTSIDE-ZONE exit
Проверка на ZBF
За да се провери работата на ZBF може да се използва командата show policy-map type inspect zone-pair sessions.
R1# show policy-map type inspect zone-pair sessions Zone-pair: R1-ZONEPAIR-1 Service-policy inspect : R1-POLICY-PMAP Class-map: R1-CLASS-MAP (match-all) Match: access-group 101 Inspect Established Sessions Session 297740240 (172.16.0.2:19)=>(80.0.0.80:0) icmp SIS_OPEN Created 00:00:04, Last heard 00:00:04 ECHO request Bytes sent (initiator:responder) [512:512] Class-map: class-default (match-any) Match: any Drop (default action) 0 packets, 0 bytes R1#
Ctrl+C/Ctrl+V
R1
enable conf t hostname R1 interface gi0/0 ip address 172.16.0.1 255.255.0.0 no shut interface gi0/1 ip address 10.0.0.1 255.0.0.0 no shut exit router ospf 1 network 172.16.0.0 0.0.255.255 area 0 network 10.0.0.0 0.255.255.255 area 0 exit zone security INSIDE-ZONE zone security OUTSIDE-ZONE access-list 101 permit ip 172.16.0.0 0.0.255.255 any eq 5000 class-map type inspect match-any R1-CLASS-MAP match access-group 101 match protocol dns exit policy-map type inspect R1-POLICY-PMAP class type inspect R1-CLASS-MAP inspect exit exit zone-pair security R1-ZONEPAIR-1 source INSIDE-ZONE destination OUTSIDE-ZONE service-policy type inspect R1-POLICY-PMAP exit interface gi 0/0 zone-member security INSIDE-ZONE exit interface gi 0/1 zone-member security OUTSIDE-ZONE end
R2
enable conf t hostname R2 interface gi0/0 ip address 80.0.0.1 255.0.0.0 no shut interface gi0/1 ip address 10.0.0.2 255.0.0.0 no shut exit router ospf 1 network 80.0.0.0 0.255.255.255 area 0 network 10.0.0.0 0.255.255.255 area 0 end