0

Mikrotik Site-to-Site VPN z Palo Alto Networks

Załóżmy, że nasza firma posiada dwa oddziały w różnych miastach, i jedno Data Center. Dzięki Site-to-Site VPN możemy połączyć, ze sobą dwie sieci lokalne. Jest to dużo bezpieczniejsze i wydajniejsze niż zwykłe połączenie VPN Gateway. W jednej lokalizacji używamy Firewall Palo Alto Networks PA-220, a w drugiej router Mikrotik CCR. Zaczniemy od przygotowania bardziej złożonej konfiguracji, czyli ustawiamy Firewall Palo Alto Networks.

Schemat połączeń

Do poprawnego zestawienia tunelu vpn nie zbędne będą nam ustawienia Phase1 i Phase2 oraz rodzaju IKE.

Konfiguracja PA-220

Zaczynamy od przygotowania nowego interfejsu na potrzeby tunelu. Przechodzimy na Network-> Interfaces, zakładka Tunnel. Dodajemy nowy interfejs. Nie możemy zmienić jego nazwy, ale za to możemy przypisać mu numer. Dla wygody przedostatni oktet adresu IP jest moim numerem tunelu. Virtual Router, wskazujemy domyślny routing dla tunelu, w przypadku kilku dostawców Internetu, VR możemy mieć kilka. Tworzymy nową Security Zone. Zalecam, aby każdy tunel miał inną Security Zone, ułatwi to zarządzanie ruchem oraz poprawi bezpieczeństwo. W zakładce IPv4 dodajemy adresacje.

Przechodzimy do konfiguracji Fazy 1, w przypadku Palo Alto jest to IKE Crypto i IKE Gateway. Zaczynamy od IKE Crypto, przyciskiem Add dodajemy nowy wpis który uzupełniamy zgodnie ze schematem z początku wpisu.

  • Authentication: SHA256
  • Encryption: AES-256
  • DH Group: 14
  • Key Lifetime: 8h

Całość powinna wyglądać jak na obrazku poniżej:

Uzupełniamy IKE Gateway:

  • Name: podajemy dowolny opis
  • Version: IKEv2 only mode
  • Address Type: zostawiamy IPv4
  • Interface: wskazujemy WANowy interfejs, w przypadku kilku publicznych adresów IP, w polu Local IP Address musimy ręcznie wybrać z jakiego adresu skorzystamy do zestawienia tunelu.
  • Peer IP Address Type: zostawiamy na IP
  • Authentication: Pre-shared Key
  • Pre-shared Key: podajemy losowy ciąg znaków, najlepiej z generatora
  • Enable NAT-T: jeżeli oba urządzenia są za natem, musimy włączyć tą opcje
  • IKE Crypto Profile: wskazujemy wcześniej utworzony profil IKE Crypto

Ustawienia Fazy pierwszej zakończone. Czas na Fazę 2. W Palo Alto Networks to IPSec Crypto Profile. Analogicznie jak w przypadku ike crypto, fazę drugą ustawiamy zgodnie ze schematem z początku wpisu.

  • Name: podajemy dowolnie
  • IPSec Protocol: ESP
  • Encryption: aes-256-cbc
  • Authencitacion: sha1
  • DH Group: group 14
  • Key Lifetime: 1h

Czas na przygotowanie tunelu, z menu bocznego wybieramy IPSec Tunnels i przyciskiem Add dodajemy nowy wpis.

  • Name: podajemy dowolnie
  • Tunnel Interface: wskazujemy wcześniej utworzony interfejs
  • IKE Gateway: wcześniej utworzony wpis
  • IPSec Crypto Profile: analogicznie jak wyżej
  • Proxy IDs: szyforwane podsieci, local to nasza lokalna podsieć, remote podsieć za tunelem.

W proxy IDs dodaliśmy podsieć dostępną za tunelem, aby wszystko zdziałało, tą samą podsieć musimy dodać do Virtual Routers, a jako gateway wskazujemy adres IP tunelu. Jeżeli nie dodamy takiego wpisu tunel nie zestawi się poprawnie.

Ostatnim etapem jest przygotowanie odpowiednich reguł security. Pierwsza reguła zezwala na połączenie zestawienie połączenia.

  • Name: podajemy dowolnie
  • Source Zone: wybieramy zonę odpowiedzialną za dostęp do Internetu
  • Source Address: wskazujemy publiczny adres(Peer) urządzenia po drugiej stronie. Nie zalecam używania reguł typu any/any
  • Destination Zone: ponownie wskazujemy zone odpowiedzialną za dostęp do Internetu, ponieważ tunel zestawiamy na publicznych adresach
  • Destination Address: podajemy nasz publiczny adres ip, pamiętasz, ten sam co wskazywaliśmy w IPSec Crypto Profile
  • Application: ponownie odradzam używania wpisu any, do poprawnego zestawienia tunelu wystaczy nam ike i ipsec-esp-udp
  • Service: zostawiamy na application-default, czyli domyślne porty dla wcześniej wskazanych aplikacji
  • Action: Allow
  • Log at Session End: zaznaczamy

Druga reguła odpowiedzialna jest za odblokowanie ruchu do i z tunelu. Podobnie jak wcześniej nie zalecam używania reguł typu any/any. Warto poświęcić trochę więcej czasu na przygotowanie reguł, ale dokładnie sprecyzować jakie urządzenia mogą ze sobą się łączyć oraz na jakich portach czy aplikacjach. Daje to nam większą kontrole nad tym co się dzieje w naszej sieci o bezpieczeństwie nie wspominając.

  • Name: podajemy dowolnie
  • Source Zone: ruch jest w dwie strony dlatego podajemy od razu zone odpiwiedzialna za kontrole tunelu oraz łącza lanowego
  • Source Address: wskazujemy tylko te komputery i urządzenia, które mogą się komunikować za pomocą tunelu
  • Destination Zone: analogicznie jak Source Zone
  • Destination Address: Analogicznie jak Source Address
  • Application: wskazujemy tylko dozwolne aplikacje, np. jeżeli ruch poprzez tunel to tylko http i https, z aplikacji wybierzemy web-browsing i ssl 
  • Service: zostawiamy na application-default, czyli domyślne porty dla wcześniej wskazanych aplikacji
  • Action: Allow
  • Log at Session End: zaznaczamy

Konfigurację PA-220 mamy już zakończoną wystarczy wcisnąć Commit i poczekać na zatwierdzenie zmian. Jeżeli zrobiliśmy coś nie tak, firewall nie pozwoli zastosować zmian.

Konfiguracja Mikrotika

Jednym z pierwszych kroków jakie musimy zrobić na Mikrotiku to bypass NATu. Jeżeli chcemy mieć dostęp do podsieci za tunelem musimy lekko oszukać NAT. Przechodzimy na IP->Firewall i znakiem plusa dodajemy nowy wpis.

  • Source Address: podajemy adresację lokalną z Mikrotika
  • Dst. Address: podajemy adresację z PA-220
  • Action: ustawiamy na Accept

Bardzo ważne jest, aby reguła była na samej górze wpisów w Firewallu.

Odblokowujemy port 500 i 4500 na potrzeby zestawienia połączenia ike.

Z menu bocznego wybieramy IP->IPSec i w zakładce Policy Proposals dodajemy nowy wpis.

  • Name: podajemy dowolnie
  • Auth. Algorithms: sha1
  • Encr. Algorithms: aes-256-cbc
  • Lifetime: 1h
  • PFS Group: mode2048

W zakładce Groups tworzyny nowy wpis z wartością 14.

Tworzymy nowy Peer Profiles.

  • Name: podajemy dowolnie
  • Hash Algorithms: sha256
  • Encryption Algorithms: aes-256
  • DH Group: modp 20148
  • Lifetime: 8h
  • NAT-T: zaznaczone

 

Dodajmy nowy wpis w Policies.

  • Src. Address: podsieć lokalną Mikrotika
  • Dst. Address: podsieć lokalną w Palo Alto Netowrks
  • Protocol: zostawiamy all
  • Action: Encrypt
  • Level: require
  • IPsec Protocols: esp
  • Tunnel: zaznaczone
  • SA Src. Address: publiczny adres Mikrotika
  • SA Dst. Address: publiczny adres PA-220
  • Proposal: wcześniej utworzony wpis

Ostatnim krokiem jest skonfigurowanie Peer’a. Przechodzimy na zakładkę Peers i dodajmy nowy wpis.

  • Address: publiczny adres PA-220
  • Profile: wcześniej utworzony profil
  • Auth. Method: pre shared key
  • Exchange mode: IKE2
  • Secret: klucz, który dodaliśmy w PA-220 przy polu Pre-shared Key
  • Policy Template Group: group14

Podsumowanie

Konfigurowanie połączeń IPSec Site to Site, nie jest zbyt dużym wyzwaniem dla administratora sieci, jednak trzeba zwrócić uwagę na bezpieczeństwo reguł. Niestety w praktyce bardzo często zdarzają się sytuacje, w których ruch do i z tunelu jest nie filtrowany. Firewall Palo Alto daje nam większe możliwość zarządzania ruchem, dlatego, to na nim ustawiliśmy bardziej rygorystyczne reguły.

Zapraszam do zapoznania się z materiałem video.

Grzegorz Kowalik

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Captcha * Time limit is exhausted. Please reload the CAPTCHA.