1

Mikrotik od zera – VPN Site-to-Site IPSec IKEv2 Certyfikat #09

Tunel VPN Site-to-Site IPSec IKEv2 z Certyfikatami

Konfiguracja jest identyczna jak w przypadku wcześniejszego materiału, dlatego omówię, tylko przygotowanie samych certyfikatów oraz ich instalacje na dwóch routerach. Tunel IPSec z wykorzystaniem certyfikatów czyli autoryzacja metodą X.509 jest uważana za jedną najbezpieczniejszych, dlatego zalecam konfigurację tunelów vpn ipsec właśnie z wykorzystaniem certyfikatów.

Wprowadzenie do aurotyzacji X.509

Zanim zaczniemy konfiguracje routera Mikrotik, zaczniemy od małego wprowadzania jak działa autoryzacja X.509 i skąd wziąć certyfikaty. Najważniejszą rzeczą jaką powinieneś zapamiętać to hierarchia certyfikatów. Na najwyższym poziomie mam Urząd Certyfikacji Root-CA jego jedynym zadaniem jest wystawianie i podpisywanie Urzędów Certyfikacji(CA) niższych poziomów. Infrastrukturę Klucza Publicznego(PKI) możemy zbudować we własnym zakresie w oparciu o serwer z systemem Windows Server bądź zakupić usługę w chmurze, co niestety wiąże się z dużymi kosztami. Możemy także skorzystać z Mikrotika, co zaprezentuje w tym materiale. W skład PKI wchodzi:

  • Urząd Rejestracji(RA)
  • Urząd Certyfikacji(CA)
  • Repozytorium kluczy, certyfikatów i listy odwołanych certyfikatów(CRL)

Generowanie certyfikatu CA

Wykorzystamy router Mikrotika jako serwer certyfikatów. Z bocznego menu wybieramy System->Certificates i znakiem plus dodajemy nowy certyfikat, który posłuży jak CA. Jako Root-CA użyjemy router Mikrotika.

  • Name: podajemy dowolnie
  • Country: PL
  • Common Name: w przypadku certyfikatu CA, możemy zastosować dowolną nazwę
  • Key Size: zostawiamy 2048
  • Days Valid: w przypadku lokalnego CA możemy nawet wybrać 5 lat

Key Usage zostawiamy przy domyślnych ustawieniach. W następnym kroku podpisujemy wystawiony certyfikat CA poprzez wydanie polecenia w terminalu:

 /certificate sign Router1-CA ca-crl-host=publiczny_adres_ip

mikrotik ipsec cert new ca certificate
mikrotik ipsec cert new ca certificate
mikrotik ipsec cert new ca certificate

Generowanie certyfikatu serwera

Ponownie klikamy na znak plusa i dodajemy nowy certyfikat. W tym kroku przygotujemy certyfikat dla serwera.

  • Name: podajemy dowolnie
  • Country: PL
  • Common Name: jeżeli posiadamy własną domenę, w której rekord A wskazuje na adres IP routera możemy, to pole uzupełnić nazwą domenową
  • Subject Alt. Name: Niektóre urządzenia weryfikują dodatkowe pola, dlatego warto także je uzupełnić.

Key Usage zmieniamy na tls client oraz tls server.

Ostatnim etapem przygotowania certyfikatu jest jego podpisanie przez wcześniej wystawione CA. Klikamy prawym przyciskiem myszny na certyfikat i wybieramy opcje sign.

  • Certificate: wskazujemy certyfikat, który ma zostać podpisany
  • CA: wybieramy wcześniej przygotowane CA
  • CA CRL Host: adres ip routera. Lista CRL jest bardzo ważna w przypadku unieważnia certyfikatów
mikrotik ipsec cert new server certificate
mikrotik ipsec cert new server certificate
mikrotik ipsec cert new server certificate

Generowanie certyfikatu klienta

Klikamy w znak plus i przechodzimy do przygotowania parametrów certyfikatu dla klienta. Parametry ustawiamy podobnie jak dla certyfikatu serwera, jeżeli router posiada publiczny statyczny adres IP, także możemy umieścić go w certyfikacie. W przypadku Key Usage zostawiamy tylko TLS Client

mikrotik ipsec cert new client
mikrotik ipsec cert new client
mikrotik ipsec cert new client

Eksportowanie certyfikatów klienta

Poprawne zestawienie tunelu wymaga prawidłowego certyfikatu klienta. Przygotowany wcześniej certyfikat należy wyeksportować i przekazać do klienta. Klikamy prawym przyciskiem myszy na certyfikat klienta i wybieramy Export.

  • Certificate: wskazujemy certyfikat klienta
  • Type: PKCS12, ponieważ wraz z certyfikatem klienta zostanie wyeksportowany cały chain certyfikatów, włącznie z CA
  • Export Passphare: dowolne hasło
mikrotik ipsec cert export

Konfiguracja Mikrotika

Całość konfiguracji jest praktycznie identyczna jak w przypadku konfigurowania połączenia z wykorzystaniem klucza pre shared key. Zasadniczą różnicą jest zmiana metody autoryzacji przy konfigurowaniu Identities.

  • Auth. Method: digital signature
  • Certificate: wskazujemy certyfikat serwera
  • Remote Certificate: możemy ograniczyć połączenie do konkretnego certyfikatu. Jeżeli zostawimy pole na none, router zaakceptujesz dowolny certyfikat podpisany przez nasze CA.
mikrotik ipsec cert identities

Import certyfikatu klienta na drugim routerze

Wyeksportowane certyfikaty należy dodać do routera klienckiego. Podobnie jak w przypadku eksportu, certyfikat możemy dodać za pomocą drag&drop przenosząc plik do Files w Mikrotiku. Następnie przechodzimy na System->Certificates i klikamy w import. Po poprawnym zaimportowaniu certyfikatów, możemy zmienić ich wyświetlaną nazwę na coś bardziej przyjaznego.

mikrotik ipsec cert import
mikrotik ipsec cert

Konfiguracja drugiego routera

Konfiguracja połączenia ipsec na routerze klienta wygląda praktycznie tak samo jak przy pierwszym routerze. Ustawiamy Phase1 i Phase2 na tych samych parametrach. Jedyna różnica występuje przy Identities, gdzie musimy wskazać certyfikat klienta.

D:youtubeartymt_od_zera�9ipsec_certmikrotik ipsec cert identities

Materiał Video

Grzegorz Kowalik

One Comment

  1. Mam stworzonego firewalla typu Zone Based Firewall, któremu odpowiadają odpowiednie grupy interfejsów Inside, Outside, DMZ. Stworzyłem na mikrotiku serwer VPN Site-to-Client. Teraz pytanko… W grupie “outside to firewall” stworzyłem reguły przepuszczające protokół ipsec-esp oraz odpowiednie porty. VPN się łączy, internet działa. Nie ma jednak kontaktu z lokalnymi zasobami, oprócz DMZ. Również w grupie “firewall to inside” cały ruch jest puszczony. Generalnie wygląda to tak, że adresacja VPNa nie jest dodana do żadnej z grup (inside, outside, dmz), przez co jest blokowana. Pojawił się jednak problem, bo VPN po IPSecu nie ma żadnego przypisanego interfejsu (np. OpenVPN tworzy po połączeniu widoczny interfejs, który można odpowiednio przypisać). Czy da się to jakoś zrobić?

Dodaj komentarz

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