PRAKTYKA
Cisco ASA 5505 Podstawy konfiguracji Grzegorz Gałęzowski
Dziś, gdy nasze społeczeństwo jest w dużym stopniu zależne od komunikacji cyfrowej, potrzeba bezpieczeństwa informacji nieustannie wzrasta. Z uwagi na wartość i poufny charakter informacji obecnych w dzisiejszych sieciach, wszyscy odpowiedzialni powinni inwestować także w bezpieczeństwo działów informatycznych. Bez zabezpieczeń firma może ucierpieć z powodu kradzieży lub modyfikacji danych, konsekwencji prawnych i innych problemów, które wiążą się ze stratami finansowymi. Dowiesz się:
Powinieneś wiedzieć:
• O wprowadzeniu do konfiguracji ściany ogniowej Cisco ASA • O umiejętności korzystania z poleceń IOS • O podstawach zabezpieczania sieci lokalnych
• Podstawowa wiedza na temat obsługi urządzeń Cisco • Posiadać umiejętność pracy z emulatorem terminala
P
oniższy poradnik jest poświęcony ścianie ogniowej ASA 5505 firmy Cisco, które to urządzenie jest przeznaczone dla małych i średnich firm. Na początku opiszę różnice pomiędzy innymi modelami ASA i zaprezentuję parę scenariuszy konfiguracji występujących w realnych systemach. W przeciwieństwie do innych modeli Cisco ASA 5505, ma wbudowany 8-portowy przełącznik sieciowy 10/100 tak, jak to pokazano na zdjęciu powyżej. Począwszy od prawej do lewej, mamy Ethernet 0/0 do Ethernet 0/7. Te dwa ostatnie porty 6 i 7 to również porty Power over Ethernet (PoE), co oznacza, że oprócz zwykłych komputerów można podłączyć telefony IP (lub inne urządzenia korzystające z PoE), które będą zasilane przez port Ethernet. Interfejsy sieciowe w 5505 ASA działają tylko na warstwie 2, co różni ten model od innych z serii ASA. Oznacza to, że nie można skonfigurować adresów warstwy 3 bezpośrednio na każdym interfejsie. Zamiast tego, trzeba przypisać port do sieci VLAN, a następnie skonfigurować wszystkie parametry interfejsu. Jest możliwość podziału wszystkich ośmiu portów w grupy - zwane sieciami VLAN, które funkcjonują jako oddzielne sieci. Pozwala to na poprawę bezpieczeństwa całej infrastruktury, ponieważ urządzenia w różnych sieciach VLAN mogą komunikować się ze sobą
28
poprzez przekazywanie ruchu, przechodzącego bezpośrednio przez firewall, gdzie odpowiednie polityki bezpieczeństwa filtrują pakiety. Połączenia w tej samej sieci VLAN mogą komunikować się między sobą bez filtrowania.
Rysunek 1. Cisco ASA 5505
12/2010
Cisco ASA 5505 Podstawy konfiguracji
ASA 5505 posiada wstępnie skonfigurowane dwie sieci VLAN: VLAN1 i VLAN2. Domyślnie port przełącznika Ethernet 0 (Ethernet 0/0) przeznacza się na VLAN2. Wszystkie inne porty przełącznika są przypisane domyślnie do sieci VLAN1. Fabryczna inaczej domyślna konfiguracja interfejsów sieciowych używa portu Ethernet 0/0 jako interfejsu do połączeń zewnętrznych niezaufanych (podłączenie do Internetu), a reszta z interfejsów (0/1 - 0/7) są skonfigurowane jako interfejsy zaufane do połączeń wewnętrznych w sieci lokalnej. Dwa porty SVI (Switch Vlan Interfaces) to domyślne interfejsy sieci VLAN 1 i VLAN 2, które mogą być używane do przypisywania adresów IP w warstwie 3 i inne ustawienia interfejsu poza obszarem (Ethernet 0/0) na strefę wewnętrzną, czyli Ethernet 0/1 - 0/7).
Licencjonowanie a VLAN
Mimo, że ASA 5505 posiada wstępnie skonfigurowane dwie sieci VLAN, to można utworzyć aż 20 sieci VLAN, w zależności od licencji. Istnieją dwie możliwości licencji w ASA 5505: • •
Base License Security Plus License
Base License
W Base License, można skonfigurować do 3 sieci VLAN, co tworzy segmentację sieci na trzy strefy bezpieczeństwa (wewnętrzna, zewnętrzna, DMZ). Istnieje jednak ograniczenie komunikacji między sieciami VLAN (strefy). Komunikacja między wewnętrznym VLAN i DMZ. VLAN jest ograniczona: strefa wewnętrzna VLAN może wysyłać ruch do DMZ, ale z DMZ nie mogą już wysyłać ruchu do wewnętrznej sieci VLAN. Ponadto, nie można skonfigurować ściany ogniowej nadmiarowo z licencją Base License. Ograniczenia te zostały usunięte w wersji Plus Security (Rysunek 3). Aby skonfigurować DMZ na bazie sieci VLAN License należy skorzystać z poleceń widocznych na Listingu 1.
Listing 1. asa5505(config)#interface Vlan 3
asa5505(config-if)#no forward interface vlan 1 asa5505(config-if)# nameif DMZ
asa5505(config-if)# security-level 50
asa5505(config-if)# ip address 10.2.2.1 255.255.255.0 asa5505(config)# interface Vlan 1 asa5505(config-if)# nameif inside
asa5505(config-if)# security-level 100
asa5505(config-if)# ip address 192.168.1.1 255.255.255.0 asa5505(config)# interface Vlan 2
asa5505(config-if)# nameif outside
asa5505(config-if)# security-level 0
asa5505(config-if)# ip address 100.100.100.1 255.255.255.0
Security Plus License
Licencja ta usuwa wszelkie ograniczenia Base License. Można skonfigurować tutaj do 20 sieci VLAN (porty mogą być skonfigurowane jako porty Trunk, wspierając tym samym multipe sieci VLAN dla każdego portu). Również nie ma ograniczeń komunikacji między sieciami VLAN. Licencja ta wspiera również Active/Standby, czyli nadmiarowość ściany ogniowej i Backup ISP Connectivity (podwójne połączenie z ISP). ASA 5505 jest fabrycznie skonfigurowane w taki sposób, by zaraz po wyjęciu z pudełka było gotowe do pracy. Interfejs Ethernet 0/0 jest skonfigurowany w celu uzyskania adresu IP automatycznie od naszego ISP, a interfejsy wewnętrzne (Ethernet 0/1 - 0/7) są skonfigurowane tak, aby dostarczać adresy IP do hostów dynamicznie z wykorzystaniem DHCP.
Wprowadzenie w konfigurację Cisco ASA 5505 Interfejs użytkownika
Ta lekcja opisuje tryb dostępu i polecenia związane z eksploatacją urządzeń bezpieczeństwa firmy Cisco. Zakładamy, że wiesz jak podłączyć się do urządzenia
Rysunek 2. Tylny panel w Cisco ASA 5505. 1. Gniazdo zasilania 48VDC; 2. Slot SSC; 3. Port konsoli; 4. Slot zabezpieczenia; 5. Reset; 6. Interfejsy USB 2.0; 7. Porty sieciowe 0-5 (10/100); 8. Porty sieciowe 6-7 (10/100 typu Power over Ethernet)
www.hakin9.org
29
PRAKTYKA
za pomocą kabla konsoli (niebieski płaski kabel z RJ45 na jednym końcu, a DB-9 Serial na drugim końcu) i oprogramowaniem do emulacji terminala (np. HyperTerminal). Nie obędzie się także z umiejętności korzystania z podstawowych Command Line Interface.
Tryby Security Appliance Access
Urządzenia zabezpieczające firmy Cisco (PIX i ASA) mają cztery główne tryby administracyjnego dostępu: •
•
•
30
Tryb monitor: w terminalu sygnalizowany znaczkiem > tuż przed poleceniami. Specjalny tryb, który umożliwia aktualizację obrazu przez sieć lub do odzyskiwania hasła. W trybie monitor, można wpisać polecenia, aby określić lokalizację serwera TFTP i położenie obrazu systemu Cisco IOS lub też do odzyskiwania haseł. Dostęp do tego trybu uzyskamy po naciśnięciu klawisza "Break" lub "ESC" natychmiast po uruchomieniu urządzenia. Tryb nieuprzywilejowany: Sygnalizowany w terminalu przez > tuż przed poleceniami. Dostępny gdy uruchamiamy urządzenie. Jeżeli jest to urządzenie z serii Cisco PIX 500, będzie wyświetlany znak zachęty pixfirewall> jeżeli jest to urządzenie z serii Cisco ASA 5500, znakiem zachęty będzie ciscoasa>. Tryb ten nie oferuje rozbudowanej konfiguracji. Aby rozpocząć korzystanie z konfiguracji, pierwsze polecenie jakie należy wprowadzić to polecenie enable. Po wprowadzeniu polecenia w terminalu wciskamy klawisz Enter. System poprosi o hasło. Początkowe hasło jest puste, więc wystarczy ponownie wcisnąć Enter, aby przejść do następnego trybu dostępu (trybu uprzywilejowanego). ciscoasa> enable ← Tryb nieuprzywilejowany password: ← Wprowadzamy tutaj hasło (na początku puste, będziemy musieli je później zdefiniować) ciscoasa# ← Tryb uprzywilejowany Tryb uprzywilejowany: Sygnalizowany jest w terminalu znaczkiem # tuż przed poleceniami. Tryb ten pozwala na zmianę aktualnych ustawień. Wszelkie polecenia dostępne z trybu nieuprzywilejowanego działają również w tym trybie. Można tutaj już zobaczyć aktualną konfigurację systemu za pomocą polecenia show running-config. Mimo tego nadal nie można skonfigu- Rysunek 3.
•
rować jeszcze niczego dopóki nie przejdziemy do trybu konfiguracji. Dostęp do trybu konfiguracji uzyskujemy za pomocą polecenia configure terminal z poziomu trybu uprzywilejowanego (administracyjnego). Tryb konfiguracji: Ten tryb wyświetlany jest w terminalu przez znacznik: (config) # . Możliwa jest tutaj zmiana wszystkich ustawień systemu. Jeżeli chcemy przejść do poprzednich trybów używamy polecenia exit. Tak, jak to zostało przedstawione poniżej: ciscoasa>enable ← Tryb nieuprzywilejowany password: ← Wprowadź hasło ciscoasa# configure terminal ← Tryb uprzywilejowany ciscoasa(config)# ← Tryb konfiguracji ciscoasa(config)# exit ciscoasa# exit ← Powrót do trybu uprzywilejowanego ciscoasa> ← Powrót do trybu nieuprzywilejowanego
Tryb konfiguracyjny (config)# jest czasem nazywany jako Global Configuration Mode. Niektóre polecenia w trybie konfiguracyjnym zmieniają znak zachęty w zależności od tego co konfigurujemy. Na przykład, komenda interface uruchamia tryb konfiguracji interfejsu Ethernet tak, jak pokazano to poniżej: ciscoasa(config)# interface GigabitEthernet0/1 ciscoasa(config-if)# ← Konfiguracja interfejsu i szczegółowych parametrów
Zarządzanie plikami
Tutaj przedstawię system zarządzania plikami konfiguracyjnymi urządzenia.
12/2010
Cisco ASA 5505 Podstawy konfiguracji
Przeglądanie i zapisywanie konfiguracji
Istnieją dwa typy konfiguracji: zapisywane w pamięci NVRAM (running-config) i konfiguracja zapisywana w pamięci Flash (startup-config). Pierwszy tym konfiguracji można przeglądać, wpisując polecenie show running-config z poziomu trybu uprzywilejowanego. Każde polecenie, które wprowadzamy z poziomu terminala jest zapisane w runningconfig i zaczyna obowiązywać natychmiast od wprowadzenia. Niestety przez to, że ten typ konfiguracji przechowywany jest jedynie w pamięci RAM, utrata zasilania lub reset urządzenia powoduje utratę wszelkich ustawień. Aby zapisać aktualnie działającą konfigurację w trwały sposób należy użyć polecenia copy run start lub write memory. Te dwie komendy skopiują zawartość running-config do startup-config, który jest przechowywany w pamięci flash. Tak, jak napisałem powyżej, startup-config stanowi backup konfiguracji urządzenia. Całość jest zapisana w pamięci flash, więc nie zostanie utracona, gdy urządzenie zostanie ponownie uruchomione. Ponadto startup-config jest ładowane podczas uruchomienia urządzenia. Aby wyświetlić zapisaną konfigurację typu startup-config należy użyć polecenia show startup-config.
Poziomy zabezpieczeń
Chciałbym teraz przedstawić koncepcję poziomów zabezpieczeń, używane w Cisco ASA. Dla każdego interfejsu możemy przypisać określony poziom bezpieczeństwa (mogą to być zarówno fizyczne lub logiczne sub-interfejsy) i zasadniczo mamy do dyspozycji poziom liczone od 0 do 100. Im wyższy poziom bezpieczeństwa, tym bardziej zaufany interfejs (a tym samym połączenie z siecią za nim). Podstawową zasadą tutaj obowiązującą jest to że interfejs (lub strefy) o wyższym poziomie bezpieczeństwa mają dostęp do interfejsów o niższym poziomie bezpieczeństwa. Z drugiej strony, interfejs o niższym poziomie bezpieczeństwa nie może uzyskać dostępu do interfejsu o wyższym poziomie bezpieczeństwa, bez wyraźnej zgody ze strony Access Control List (ACL).
Przykład praktyczny
Zobaczmy kilka przykładów poniżej poziomów bezpieczeństwa: •
Poziom bezpieczeństwa 0: Jest to najniższy poziom bezpieczeństwa i jest on przypisany domyśl-
Rysunek 4.
www.hakin9.org
31
PRAKTYKA
•
•
nie do strefy zewnętrznej interfejsu zapory. Jest to najmniej zaufany poziom bezpieczeństwa i musi być przypisany do sieci (interfejsu), który nie będzie mieć dostępu do naszej wewnętrznej sieci. Ten poziom bezpieczeństwa jest zwykle przypisany do urządzenia podłączonego do Internetu. Oznacza to, że urządzenie podłączone do Internetu nie może mieć dostępu do sieci za ścianą ogniową chyba, że jest to wyraźnie dozwolone przez reguły ACL. Poziom zabezpieczeń od 1 do 99: To poziomy zabezpieczeń, które mogą być przypisane do określonych stref, np. DMZ. Poziom bezpieczeństwa 100: Jest to najwyższy poziom bezpieczeństwa i jest on przypisany domyślnie do interfejsu sieci wewnętrznej.
Rysunek 4. ilustruje typowy rozkład poziomów zabezpieczeń przypisanych na sieć wewnętrzną, zewnętrzną i strefę DMZ. Jak widać sieć wewnętrzna jest podłączona do interfejsu o najwyższym poziomie zabezpieczeń (interfejsu G0/1 z zabezpieczeniami na poziomie 100), interfejs jest tutaj określony jako„wewnętrzny”. Łącze z Internetem jest postawione na interfejsie (G0/0) i nadana została mu nazwa "zewnetrzny". Ma przypisany poziom bezpieczeństwa 0. Strefa DMZ ustawiona jest na poziomie bezpieczeństwa 50. Strzałki z kierunkami wskazują na powyższym rysunku ruch sieciowy. Jak widać, strefa wewnętrzna ma dostęp zarówno do DMZ i sieci zewnętrznej (poziom 100 ma swobodny dostęp do stref na poziomie 50 i 0). Ze strefy DMZ można uzyskać dostęp jedynie
do Internetu (poziom 50 ma tutaj jedynie dostęp do poziomu 0). Wreszcie, z sieci zewnętrznej nie można uzyskać dostępu ani do sieci wewnętrznej ani do strefy DMZ. Omówiony przykład to domyślne zachowanie urządzeń typu Cisco PIX/ASA. Możemy oczywiście zmienić domyślne reguły i umożliwić dostęp z dolnego poziomu do wyższego za pomocą statycznego NAT i Access Control Lists.
Pierwsza konfiguracja
Krok1: Konfiguracja hasła dla trybu uprzywilejowanego (enable password) Domyślnie nie ma założonego hasła dostępowego dla urządzenia, więc pierwszy krok zanim cokolwiek innego ustawimy jest utworzenie hasła dla trybu uprzywilejowanego Hasło będzie potrzebne, aby umożliwić późniejszy dostęp do urządzenia: ciscoasa(config)# enable password moje_tajne_haslo
Krok 2: Zarządzanie z poziomu linii poleceń Urządzeniem Cisco ASA możemy zdalnie zarządzać za pomocą takich usług, jak: Telnet, SSH i graficznym interfejsem Web przy użyciu protokołu https. Najbardziej zalecaną metodą zarządzania urządzeniem tego typu jest usługa SSH, w odróżnieniu od telnetu będziemy mieli szyfrowane połączenia z urządzeniem. Aby włączyć SSH, musimy najpierw utworzyć nazwę użytkownika i hasło do uwierzytelniania, a następnie wygenerować klucze RSA, a także podać adres IP hosta z, którego będziemy zarządzać siecią.
Rysunek 5.
32
12/2010
Cisco ASA 5505 Podstawy konfiguracji
Powyższe zasady tworzymy za pomocą poniższych komend:
Przykładowa konfiguracja może wyglądać następująco:
•
ciscoasa(config)#username
ciscoasa(config)# interface GigabitEthernet0/1
•
ciscoasa(config)#aaa authentication ssh console
•
ciscoasa(config)#
cisco
password
admin
← zakładamy użytkownika i definiujemy jego hasło LOCAL
SSH
← zakładamy uwierzytelnianie dla konsoli
modulus 1024
crypto
key
generate
← generowanie kluczy RSA
rsa
Określamy strefę z której można mieć dostęp do zarządzania urządzeniem Cisco ASA ciscoasa(config)#ssh 10.1.1.1. 255.255.255.255 inside ciscoasa(config)#ssh 10.1.1.1 255.255.255.255 inside ciscoasa(config)#ssh 200.200.200.1 255.255.255.255 outside
Krok 3: Konfiguracja nazwy hosta Domyślna nazwa hosta dla Cisco ASA to ciscoasa, a dla Cisco PIX to pixfirewall. Wskazane jest, aby skonfigurować unikatowe nazwy dla nowej zapory, aby można było ją odróżnić od innej zapory, która może wystąpić w sieci. ciscoasa(config)# hostname Warsaw-FW Warsaw-FW(config)#
Od teraz urządzenie będzie się przedstawiać jako Warsaw-FW. Krok 4: Konfiguracja interfejsów W Cisco ASA interfejsy są numerowane jako Gigabit Ethernet 0/0, GigabitEthernet 0/1, GigabitEthernet 0/2 itd. Wszystkie ustawienia dla interfejsu dokonujemy w trybie konfiguracyjnym interfejsu: •
ciscoasa(config)# interface GigabitEthernet0/1 ←
•
ciscoasa(config-if)#
wybieramy interfejs, który będziemy konfigurować ← tutaj możemy już podać szczegółowe parametry dla konfigurowanego interfejsu.
ciscoasa(config-if)# nameif wewnetrzna
ciscoasa(config-if)#ip address 10.0.0.1 255.255.255.0 ciscoasa(config-if)#security-level 100
←
bezpieczeństwa 100
domyślny poziom
ciscoasa(config-if)#no shutdown
ciscoasa(config)# interface GigabitEthernet0/0 ciscoasa(config-if)# nameif zewnetrzna
ciscoasa(config-if)#ip address 10.1.1.1 255.255.255.0 ciscoasa(config-if)#security-level 0
←
Jest to interfejs
przeznaczony dla sieci zewnętrznej,
ustawiamy poziom bezpieczeństwa na 0
ciscoasa(config-if)# no shutdown
Krok 5: Konfiguracja routingu Routing jest istotnym krokiem w konfiguracji, w przeciwnym razie urządzenie nie będzie wiedziało gdzie wysyłać ruch docelowy. W powyższym przykładzie pokazujemy tylko statyczny routing, oczywiście dynamiczne protokoły routingu takie jak OSPF lub RIP mogą być także skonfigurowane. Do konfiguracji użyjemy komendy route. Składnia polecenia jest następująca: ciscoasa(config)#route “nazwa_interfejsu” “docelowy_ adres_ip” “maska_sieci” “brama”
Poniżej przykład konfiguracji: •
ciscoasa(config)# route zewnetrzna 0.0.0.0 0.0.0.0
•
ciscoasa(config)#
100.2.2.2
← Trasa domyślna route
255.255.255.0 192.168.1.1
wewnetrzna
192.168.2.0
← routing statyczny
Konfiguracja trasowania kończy podstawowy zakres konfiguracji urządzenia Cisco ASA.
Mamy tutaj możliwość skonfigurowania: •
nameif “nazwa interfejsu”:
•
ip address “adres ip” “maska sieci”:
• •
wybranego interfejsu
przypisuje nazwę dla
przypisuje adres IP wraz z jego maską dla danego interfejsu security-level “numer od 0 do 100”: przypisuje poziom bezpieczeństwa w zakresie od 0 do 100 no shutdown: domyślnie wszystkie interfejsy są wyłączone, więc za pomocą tego polecenia go uruchamiamy.
www.hakin9.org
GRZEGORZ GAŁĘZOWSKI Kontakt z autorem: gsgalezowski@gmail.com
33