Разлика между версии на „Конфигуриране на ZBF“

от БАРЗИКТ Wiki
Направо към: навигация, търсене
(R1)
 
(12 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]]
Ред 52: Ред 56:
 
#Поставяне на интерфейс в дадена зона с '''zone-member security'''
 
#Поставяне на интерфейс в дадена зона с '''zone-member security'''
  
==Създаване на зони==
+
==Стъпка 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
 +
 +
Създаването на зоните на R1 се извършва чрезц командата '''zonde secirty''' ''[име на зона]''.
 +
<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 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)#
 +
</pre>
 +
 +
==Стъпка 2: Определяне на класове трафик==
 +
За да се дефинира кой трафик да се проверява и пропуска в примера се използва ACL. Възможно е да се приложат и други методи за L4 и L7.
 +
<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)#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)#
 +
</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>

Текуща версия към 18:43, 7 август 2015

Zone-Based Policy Firewall Design and Application Guide

IOS Zone-Based Firewall

Примерна топология

ZBF Topology.png

Базова конфигурация

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

  1. Определяне на зоните
  2. Дефиниране на политики между зоните
  3. Дизайн на физическата свързаност
  4. Дефиниране на групи (subset) от зони и обединяване (merge) на потоците от трафик

Стъпки при конфигуриране на ZBF чрез CLI

  1. Създаване на зони чрез команда zone security
  2. Определяне на класове трафик чрез class-map type inspect
  3. Определяне на политики чрез policy-map type inspect
  4. Дефиниране на връзки между две отделни зони чрез zone-pair
  5. Поставяне на интерфейс в дадена зона с zone-member security

Стъпка 1: Създаване на зони

В примерната топология нека приемем, че на R1 трябва да се зададат следните две зони:

  1. INSIDE-ZONE - която да е към мрежа 172.16.0.0
  2. 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