Konfiguracja FWSM w Catalyst serii 6×00

Dzisiaj zajmiemy się konfiguracją sprzętowego firewall-a w Catalyst serii 6×00 zwanego FWSM. Wśród wielu opcji tego rozwiązania firmy CISCO, bardzo fajną jest możliwość uruchomienia wielu niezależnych instancji FWSM-a zwanych kontakstami. Co to oznacza? – tworzymy wirtualne firewall-e, które działają niezależnie, tzn. to co się dzieje w jednym kontekście nie ma wpływu na inne, np. zresetowanie wszystkich połączeń, będzie dotyczyło tylko tych sieci, które są zdefiniowane w danej instancji FWSM-a).

Ale do rzeczy.
Zakładamy, że chcemy odgrodzić sieć firmową (działająca w VLAN 60) od Internetu (działający w VLAN 6). Nasza firma jest bardzo bogata, więc posiadamy dwa Catalyst-y serii 6×00 wraz z kartami FWSM. Oba przełączniki pracują jako HSRP, więc i FWSM-y skonfigurujemy do pracy Active / Standby.
——————————–
Konfiguracja Catalyst -a (zakładamy, że jego nazwa to … switch 😉 ) :
1.    Zakładamy (jeżeli nie ma) VLAN-y dla obu sieci:
switch#configure terminal //zakładamy, że już jesteśmy w trybie uprzywilejowanym
switch(config)#vlan 6 //zakładamy lub modyfikujemy istniejący VLAN 6
switch(config-if)#name ISP_Internet //nazwa VLAN-u 6
switch(config-if)#exit
switch(config)#vlan 60 //zakładamy lub modyfikujemy isntniejący VLAN 60
switch(config-if)#name Internet_w_firmie
switch(config-if)#exit
2.    Jeżeli przez przypadek mamy dwa przełączniki Catalyst pracujące jako HSRP oraz w obu mamy FWSM, to potrzebne nam będą jeszcze dwa dodatkowe VLAN-y, po których firewalle będą wymieniały między sobą informacje na temat stanu / konfiguracji itp… Niech będą to kolejno VLAN-y 7 i 8
switch#conf t //skrót od configure terminal
switch(config)#vlan 7
switch(config-if)#name FWSM-Failover
switch(config-if)#exit
switch(config)#vlan 8
switch(config-if)#name FWSM-State
switch(config-if)#exit
3.    Skoro zdefiniowaliśmy VLAN-y, nadeszła pora na przekierowanie ich do FWSM-a (tutaj jest ciekawa uwaga – wyłączenie FWSM-a polega na … usunięciu przekierowania VLAN-ów w Catalyst – oto potęga CISCO. Nic nie trzeba kombinować w samym firewallu, wystarczy „ominąć go” na samym przełączniku poprzez wykasowanie: switch(config)#no firewall module x vlan-group y , gdzie y to grupa vlanów, które usuwamy z firewalla zainstalowanego w module nr x):
switch#conf t
switch(config)#firewall multiple-vlan-interfaces
switch(config)#firewall vlan-group 6  6, 60 (tworzymy grupę nr 6, która zawiera dwa VLANy 6 i 60)
switch(config)#firewall module x vlan-group 6 (przekazujemy do  FWSM umieszczonego w module nr x – jak nie wiesz jaki to numer to użyj switch#sh module w konsoli Catalyst -grupy, sparowanych VLAN-ów)

!! Od tej pory FWSM „widzi” wszystkie VLANy które są określone w ramach grup dodanych wyżej !!

4.    Pozostaje zdefiniować wygodny alias, aby bezpoleśnie przechodzić do FWSM-a:
switch#conf t
switch(config)#alias exec fw session slot x proc 1 (gdzie x to nr podawany wcześniej w module x)
switch(config)#exit
! od tej pory wystarczy wklepać w trybie uprzywilejowanym fw aby połączyć się z FWSM !
Konfigurację przełącznika mamy za sobą, pora na śmietankę tego artykułu…
——————————–
Konfiguracja FWSM -a :

W niniejszym artykule zakładamy, że uruchamiamy kilka kontekstów firewall-a.
1.    FWSM>en (przechodzimy do trybu uprzywilejowanego)
2.    FWSM#conf t
3.    Ustawienie hasła do FWSM:
FWSM(config)#passwd <hasło> encrypted (dopiska encrypted spowoduje zapisanie hasła zaszyfrowanego, a nie jawnego 😉
4.    Ustawienie hasła na tryb uprzywilejowany:
FWSM(config)#enable password <nasze_tajne_hasło>
5.    Nazwa naszego firewalla:
FWSM(config)#hostname fw (zmieniamy nazwę na fw)
6.    Teraz skonfigurujemy na obu FWSM-ach „failover”, dzięki temu wszelkie dalsze zmiany będą się propagowały automatycznie z FWSM pracującego w trybie Active ->Standby, i to bez naszego udziału 😉 (wpisy dodajemy osobno na jednym i drugim FWSM-ie, jednakowo, no z jednym wyjątkiem o czym niżej):
fw>en
fw#conf t
fw(config)#failover (uruchamiamy tryb failover)
fw(config)#failover lan unit primary (w urządzeniu które ma być ważniejsze)
fw(config)#failover lan unit secondary (a to w drugim)
fw(config)#failover lan interface faillink vlan7 (VLAN wcześniej przygotowany na Catalyst)
fw(config)#failover link statelink vlan8 (ten też przygotowaliśmy)
fw(config)#failover interface ip faillink 192.168.1.1 255.255.255.252 standby 192.168.1.2 (przykładowe adresy IP – zauważmy że mogą to być adresy z zakresu adresów prywatnych)
fw(config)#failover interface ip statelink 192.168.1.5 255.255.255.252 standby 192.168.1.6
fw(config)#exit
fw#write memory

! teraz wracamy na urządzenie wybrane jako Primary i tam wprowadzamy wszelkie zmiany. Powinny się one propagować do urządzenia Secondary, pod warunkiem poprawnego dodania VLAN-ów 7 i 8 w obu Catalyst-ach !

7.    fw(config)#mode multiple (ustalamy pracę z kontekstami)
mode single -> pojedyncza instancja FWSM
8.    W tym momencie mamy FWSM z kontekstami. Domyślnie znajdujemy się w kontekście systemowym, który umożliwia opracje dodawania / usuwania / modyfikacji wszystkich kontekstów (łącznie z alokacją VLAN-ów).
Aby nie zastanawiać się w jakim kontekście pracujemy, zmieniamy znak zachęty tak aby przekazywał informację na temat:
nazwy FWSM oraz ewentualnej nazwy kontekstu (a później aktualny stan jak skonfigurujemy failover – praca Master / Slave – dla dwóch FWSM-ów):
fw(config)#prompt hostname context priority state

! informacja o stanie jest bardzo ważna, ponieważ nie powinno się wprowadzać zmian dla FWSM-a pracującego w trybie Standby – sprawa jest prosta wszystkie zmiany propagują się automatycznie z urządzenia Active -> Standby ale NIE ODWROTNIE. Zawsze można wykonać komendę „sh failover state” i sprawdzić w jakim trybie pracuje aktualny FWSM !
——————————–
KREOWANIE KONTEKSTÓW

1.    Stwórzmy pierwszą instancje FWSM i nazwijmy ją „internet”:
logujemy się na FWSM (pamiętamy o aliasie fw), i przechodzimy do trybu konfiguracji (tj. fw(config)#)
2.    Tworzymy nowy kontekst:
fw(config)#context internet (jak zrobimy sh run to zobaczymy, że już istnieje ale bez żadnej konfiguracji)
3.    Przechodzimy do trybu jego konfiguracji:
fw(config)#context internet
4.    I określamy plik konfiguracyjny dla danego kontekstu
fw(config-cxt)#config-url disk:/internet.cfg
5.    Ostatnią rzeczą pozostało określenie, które z VLAN-ów skierowanych do FWSM-a będą widoczne w danym kontekście (pamiętajmy, że skierować mogliśmy kilka grup VLAN-ów). W naszym przypadku skierowaliśmy pojedynczą grupę VLAN-ów (6 i 60):
fw(config-cxt)#allocate-interface vlan6
fw(config-cxt)#allocate-interface vlan60
6.    Możemy już opuścić tryb konfiguracji kontekstu:
fw(config-cxt)#exit
——————————–

KONFIGURACJA KONTEKSTU

1.    Możemy pierwszy raz przejść do samego kontekstu, który w poprzednim kroku wygenerowaliśmy:
fw(config)#changeto context internet
2.    I teraz możemy robić co się nam podoba 😉 I tak dotyczyć to będzie tej instancji FWSM-a, czyli do dzieła.
Ustalamy tryb pracy firewalla na transparentny (zalecany dla sieci typu Internet – FWSM jest wpięty szeregowo pomiędzy siecią wewnętrzną a zewnętrzną, czyli standardowo):

!!!
w tym miejscu proszę zwrócić uwagę na prompt: fw/internet/pri/act# – tak jak określiliśmy:
fw – nazwa FWSM-a
internet – nazwa kontekstu
pri – FWSM zdefiniowany jako Primary (drugi będzie sec)
act – aktualny stan failover – active (może być std – standby) Pamiętamy, że zmieniamy konfigurację tylko na active ? Mam nadzieję, że tak 😉
!!!

fw/internet/pri/act#configure terminal
fw/internet/pri/act(config)#firewall transparent
3.    A teraz zmieniamy nazwę FWSM w tym kontekście:
fw/internet/pri/act(config)#hostname FWSM-Internet
4.    Przydałoby się określić który z przekazanych do kontekstu VLAN-ów jest stroną naszej sieci (HOME), a który jest od strony Internetu (WORLD). To właśnie teraz zrobimy.
5.    Przechodzimy do konfiguracji pierwszego VLAN-u:
fw/internet/pri/act(config)#interface vlan 6
fw/internet/pri/act(config-if)#nameif Internet_HOME (nazwa jest dla nas, aby się nie pogubić 😉
fw/internet/pri/act(config-if)#bridge-group 1 (oba interfejsy HOME i WORLD łączymy we wspólną grupę)
fw/internet/pri/act(config-if)#security-level 100 (im większy poziom, tym tany interfejs jest bardziej bezpieczny, ustawiając na tym 100 a na drugim 0 wskazujemy, który jest HOME (100), a który WORLD(0))
fw/internet/pri/act(config-if)#exit

6.    Teraz zajmijmy się drugim VLAN-em (strona zewnętrzna FWSM-a)
fw/internet/pri/act(config)#interface vlan 60
fw/internet/pri/act(config-if)#nameif Internet_WORLD
fw/internet/pri/act(config-if)#bridge-group 1
fw/internet/pri/act(config-if)#security-level 0 (jeżeli ma to być strona WORLD, to musi być mniejsza wartość niż dla vlan 6. Wartości 0 / 100 używa się aby uwydatnić różnicę, ale w przypadku tylko 2 interfejsów może być 1 i 2)
fw/internet/pri/act(config-if)#end
7.    Skoro skonfigurowaliśmy oba VLAN-y, teraz pora na wykreowanie interfejsu BVI, dzięki któremu FWSM będzie mógł dokonywać routingu pomiędzy naszymy VLAN-ami, czyli pomiędzy wejściem i wyjściem FWSM:
fw/internet/pri/act(config)#interface BVI 1
fw/internet/pri/act(config-if)#ip address <adres_IP> (adres IP musi należeć do sieci w której są wykreowane VLAN-y 6 i 60)
fw/internet/pri/act(config-if)#exit
——————————–

KONFIGURACJA ACL

1.    Skoro skonfigurowaliśmy cały kontekst, należy ustalić jakieś listy ACL. Przykładowa lista dla interfejsu Internet_HOME (czyli od strony naszej sieci firmowej):
fw/internet/pri/act(config)#access-list IN_HOME remark HTTP dla wszystkich z firmy (opis danego wpisu)
fw/internet/pri/act(config)#access-list IN_HOME extended permit tcp any any eq http
2.    A na koniec pozostaje tylko zapisanie konfiguracji:
fw/internet/pri/act(config)#write memory
3.    Możemy wrócić do kontekstu systemowego aby np. dodać kolejny kontekst: change system  lub opuścić FWSM?

Uff, koniec 😉

!!! Uwaga !!!!
Aby dostać się do FWSM w konsoli Catalyst wpisujemy fw (zdefiniowany na samym początku alias) gdzie po przejściu autoryzacji hasłami zdefiniowanymi na samym początku znajdziemy się w kontekście systemowym. Aby dodać np. listę ACL, należy przejść do danego kontekstu (changeto context <nazwa>)

Dodaj komentarz

Twój adres email nie zostanie opublikowany.