Palo Alto GNS3 Lab
Projekt do nauki obsługi firewalli Palo Alto w wirtualnym środowisku GNS3
Wstęp
Do stworzenia środowiska wykorzystany został emulator GNS3. Dodatkowo potrzebne było również narzędzie do konteneryzacji - na przykład Docker.
Po uruchomieniu programu GNS3 tworzymy nowy szablon i wybieramy opcję pozwalająca na zainstalowanie urządzenia z serwera GNS. Wybieramy firewall Palo Alto na emulatorze Qemu i klikamy “Install”.
Instalujemy na maszynie wirtualnej GNS3, jako Qemu binary wybieramy /usr/bin/qemu-system-x86_64 i przechodzimy dalej. Tworzymy nową wersję i wskazujemy plik z obrazem .qcow2. W przypadku wersji 10.1.9 liczbę vCPU należy ustawić przynajmniej na 2, a pamięć RAM na 4500MB. Po pierwszym uruchomieniu zostaniemy poproszeni o dane do logowania (domyślnie jest to admin:admin
). Aby zmienić hasło wchodzimy w tryb konfiguracji poprzez komendę configure
, następnie wpisujemy set mgt-config users admin password
, dwukrotnie podajemy nowe hasło i zapisujemy przy użyciu commit
.
Początkowa konfiguracja Palo Alto oraz webterm
W trybie konfiguracji wpisujemy polecenie ustawiające statyczny adres IP na interfejsie zarządzania (management), na przykład: set deviceconfig system ip-address 192.168.1.1 netmask 255.255.255.0 type static
. Umożliwi nam to dostęp do firewalla poprzez interfejs webowy z sieci lokalnej w następnych krokach. Skonfigurujemy jeszcze serwery DNS od Google oraz Quad9 poleceniem: set deviceconfig system dns-setting servers primary 8.8.8.8 secondary 9.9.9.9
. Na koniec oczywiście zapisujemy konfigurację komendą commit
.
Aby dodać kontener webterm, który umożliwi nam dostęp do firewalla Palo Alto poprzez przeglądarkę (oraz narzędzie terminala - bardzo przydatne, chociażby banalne polecenie ping
), wybieramy opcję New template
, wyszukujemy webterm
i instalujemy. Przeciągamy webterm do naszego projektu i w konfiguracji sieci ustawiamy poniższe opcje:
Oczywiście adres jak i maska sieci mogą być inne, pod warunkiem, że zachowamy spójność w daleszej konfiguracji.
Za pomocą tej instancji będziemy zarządzać naszym firewallem dlatego dodajemy połączenie między (jedynym) interfejsem eth0
, a management
w PA-VM. Podobne działanie wykonujemy jeszcze dwukrotnie - dla serwera, gdzie adres ustawimy na 192.168.10.1/24
, a interfejs w firewallu na eth1/1
oraz klienta z adresem 192.168.20.1/24
i interfejsem eth1/2
po drugiej stronie. Nasz projekt na obecną chwilę powinien wyglądać mniej więcej tak:
Logowanie do firewalla przez przeglądarkę
Uruchamiamy webterm-1 i wybieramy opcję Console
. W przeglądarce odwiedzamy adres 192.168.1.1
i logujemy się do panelu administracyjnego za pomocą hasła, które ustawiliśmy w terminalu Palo Alto we wcześniejszym kroku.
(dla wygody możemy zainstalować np TigerVNC i ustawić vnc
jako domyślny typ konsoli w ustawieniach PA-VM)
Zarządzanie firewallem Palo Alto
Zmodyfikujmy lekko naszą sieć i dodajmy kolejnego klienta oraz L2 switch. W panelu NETWORK
i karcie Interfaces
ustawiamy typ interfejsu eth1/1
na L3 oraz adres na 192.168.10.100/24
, a eth1/2
również na L3 i odpowiednio 192.168.20.100/24
. Pierwszy podłączony jest bezpośrednio do naszego serwera, a drugi do switcha z klientami. Virtual router ustawiamy na wartość default
. Security Zone możemy ustawić bezpośrednio w widoku poszczególnych interfejsów lub na karcie Zones
.
Tworzymy 2 Security Zones - Client
oraz Server
i dodajemy do nich odpowiednie interfejsy sieciowe.
W zakładce POLICIES
-> Security
możemy tworzyć polityki bezpieczeństwa. Domyślnie mamy 2 - intrazone-default
, która zezwala na komunikację wewnątrz oraz interzone-default
, która blokuje komunikację między różnymi zone’ami. Wypróbujmy komendę ping
na Kliencie 1 (192.168.20.1).
Jak widać, możemy komunikować się wewnątrz Security Zone - Client, z klientem 2 (192.168.20.2), ale nie mamy dostępu do innych sieci, na przykład z serwerem.