4

Mikrotik IPSec IKEv2 z iOS12

VPN IPSec IKEv2

Każdy kto ceni prywatność i bezpieczeństwa danych powinien używać połączeń vpn nie tylko na komputerze, ale także i na telefonie, tablecie. Mając router Mikrotika możemy w dość prosty sposób przygotować konfigurację bazującą na protokole IKEv2. Jeżeli nie posiadasz routera Mikrotika, bądź nie chcesz, aby Twój operator podglądał co robisz sprawdź innych dostawców VPN’a

Konfiguracja Mikrotika

Komunikację między routerem a urządzeniem z system iOS dodatkowo zabezpieczymy certyfikatami. Nie wiąże się to z żadnymi dodatkowymi kosztami. Certyfikaty wystawami za pomocą routera. W pierwszej kolejności wygenerujemy certyfikat CA, jeżeli chcemy w przyszłości unieważniać certyfiakty CA-CRL Host podajemy publiczny adres IP routera. Przechodzimy na System->Certificates

  • Name: podajemy dowolnie
  • Country: PL, ale jest to pole opcjonalne
  • Common Name: CA
  • Key Usage: zaznaczamy crl sign, key cert. sign

Generowanie certyfikatu serwera

Zostajemy w oknie z certyfikatami i znakiem plusa dodajemy nowy certyfikat. Potrzebujemy certyfiakt serwera i certyfikat dla klienta. Zaczynamy od wygenerowania certyfikatu dla serwera, czyli routera.

  • Name: podajemy dowolnie
  • Country: PL
  • Common Name: jeżeli mamy swoją domenę z przekierowaną na router, to w tym miejscu należy ją podać. W innym przypadku należy wpisać publiczny adres IP routera
  • Subject Alt. Name: publiczny adres IP routera
  • Key Size: 2048 lub wyższe
  • Days Valid: dowolnie, domyślnie jest 365 dni
  • Key Usage: tls server

W następnym kroku podpisujemy wygenerowany certyfikat wykorzystując wcześniej przygotowany certyfikat CA. Jako CA CRL Host ponownie podajemy publiczny adres IP routera. Jedną z ostatnich czynności jest zaznaczenie pola Trusted.

Generowanie certyfikatu klienta

Ponownie klikamy na znak plusa i przechodzimy do generowania certyfikatu dla klienta. Każdy klient powinien posiadać swój indywidualny certyfikat.

  • Name: podajemy dowolnie
  • Common Name: dowolna nazwa
  • Key Size: 2048 lub wyższe
  • Days Valid: domyślnie 1 rok, możemy dowolnie zmienić
  • Key Usage: tls client

Analogicznie jak przy certyfikacie serwera podpisujemy wcześniej wygenerowanym CA. Po zakończeniu podpisywania zaznaczamy pole Trusted

Eksportowanie certyfikatów

Kolejnym etapem jest wyeksportowanie certyfikatów na końcowe urządzenie. Potrzebny jest certyfikat CA oraz certyfikat klienta. Klikając prawym przyciskiem myszy na CA wybieramy opcje eksport. Podobną czynność wykonujemy dla certyfikatu klienta, ale w tym przypadku typ ustawiamy na PKCS12 i podajemy hasło. Dzięki temu w jednym pliku mamy certyfikat i klucz. Najprostszą metodą przesłania certyfikatów na urządzenie jest dodanie ich jako załączniki w poczcie. Jeżeli na telefonie bądź na tablecie macie skonfigurowaną pocztę poprzez domyślną aplikację mail, instalacja zajmuje kilka minut. Wrócimy do tego w dalszej częsci artykułu.

 

Przygotowanie adresacji dla użytkowników VPN’a

Z menu wybieramy IP->pool i znakiem plusa dodajemy nową pulę. Adresację możemy ustawić dowolną.

Konfigurowanie IPSec

Przechodzimy na IP->IPSec i zaczynamy od zmiany domyślnego wpisu IPsec Proposal

  • Auth. Algorithms: sha256
  • Encr. Algorithms: aes-256 cbc
  • Lifetime: 00:30:00
  • PFS Group: none

Następnie tworzymy nowy Peer Profile

  • Name: podajemy dowolnie
  • Hash Algorithms: sha256
  • Encryption Algorithms: aes-192, aes-256
  • DH Group: modp2048
  • Proposal Check: obey
  • Lifetime: 1d
  • Nat T : zaznaczamy

Kolejnym krokiem jest utworzenie Peer’a. Zmieniamy zakładkę na Peers i znakiem plusa dodajemy nowy wpis.

  • Address: chcemy, aby każdy(kto ma certyfikat) mógł podłączyć się do VPN’a, dlatego zostawiamy 0.0.0.0/0
  • Profile: wcześniej utworzony profil
  • Auth, Method: rsa signature
  • Exchange Mode: IKE2
  • Passive: zaznaczamy
  • Certificate: wskazujemy certyfikat serwera
  • Remote Certificate: wskazujemy certyfikat klienta
  • Policy Template Group: default
  • Send Initial Contact: odznaczamy
  • My ID Type: fqdn
  • My ID: wartość jaką podaliśmy w polu common name przy generowaniu certyfikatu serwera
  • Mode Configuration: cfg1
  • Generate Policy: port strict

Konfiguracja iPhone, iPad

Na urządzeniach końcowych konfiguracja jest dużo prostsza. Tak jak wspomniałem trochę wcześniej najszybszą metodą na zainstalowanie certyfikatów jest wysyłka ich mailem. W przypadku domyślnej aplikacji mail w urządzeniach iOS, można bardzo łatwo zainstalować certyfikaty. Wystarczy otworzyć certyfikaty z załącznika.

Bardzo ważne jest, aby w polu ID zdalny ustawić taką samą nazwę jaką mamy przy Common Name certyfikatu serwera oraz pola My ID w ustawieniach Peer Profile.

Materiał Video

Grzegorz Kowalik

4 Comments

  1. Hi. Great video… PLEASE HELP ME 😉
    1. Should any ports be open?
    2. Any rules in firewall or nat?

  2. Cześć,
    przebrnąłem przez Twój poradnik konfiguracji L2TP – działa. Zachciało mi się teraz certyfikatów i mam taki problem, że router (RB450G) odczuca połączenie od iOS 12.3.1; w logach można przeczytać: “ipsec,error EAP not configured”.
    W internetach nie znalazłem podpowiedzi.
    Poradź.

  3. Hehehe, odpowiem sam sobie – w iPhonie w konfiguracji VPN ustawiłem uwierzytelnianie użytkownika certyfikatem, a powinno być “brak”. Teraz działa:)

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.