Konfiguracja tunelu IPSec VPN (IKEv2) z wykorzystaniem klienta wbudowanego w systemy Windows 8.1/10/11 metoda zaawansowana - PowerShell

firmware 3.x VPN client-2-site IKEv2

 

1.Konfiguracja urządzenia Stormshield

Po zalogowaniu się do urządzenia przechodzimy do zakładki Obiekty -> Certyfikaty – PKI i tworzymy nowy urząd certyfikacji (CA), który będzie stosowany w ramach połączeń IKEv2 (CA nie może zawierać we właściwościach adresu mailowego):

Podczas tworzenia nowego CA definiujemy nazwę CN, identyfikator, atrybuty urzędu certyfikacyjnego oraz hasło:

Po utworzeniu nowego CA (w naszym przykładzie CA o nazwie „IKEv2_CA”) tworzymy certyfikat dla serwera VPN. Certyfikat musi zostać wygenerowany dla nazwy domenowej skojarzonej z obsługiwanym przez urządzenie publicznym adresem IP (na naszym przykładzie jest to domena „vpn.stormshield.pl”). Wymóg posiadania domeny jest spowodowany wymogami po stronie klienta IKEv2 wbudowanym w systemy Windows 8/8.1/10, który łączy się z serwerem VPN wykorzystując nazwę domenową. Podczas połączenia weryfikowane jest dopasowanie nazwy domenowej z certyfikatem serwera. Klient IKEv2 po stronie systemów Windows wymaga ponadto, aby certyfikat serwera posiadał parametry ServerAuth oraz SubjectAltName.

W tym celu zaznaczamy nasze nowo utworzone CA i klikamy w Dodaj -> Certyfikat serwera

Po wykonaniu powyższych czynności w zakładce Obiekty -> Certyfikaty – PKI powinien pojawić się wygenerowany przez nas certyfikat serwera:

Po utworzeniu certyfikatu serwera ustawiamy CA utworzone w poprzednim punkcie jako domyślny urząd certyfikacji:

Następnie przechodzimy do zakładki Użytkownicy -> Użytkownicy i grupy. Wybieramy użytkownika, który będzie logował się do tunelu IKEv2. Jeżeli nie masz jeszcze skonfigurowanej bazy użytkowników, kliknij tutaj. We właściwościach konta wybranego przez nas użytkownika musi zostać podany jego adres mailowy. W przypadku gdy jest on już podany, przechodzimy do zakładki Certyfikat i generujemy certyfikat użytkownika. Podczas generowania certyfikatu nadajemy hasło, które będzie wymagane przy jego imporcie na stacji roboczej oraz podajemy hasło nadane podczas tworzenia CA:

Po utworzeniu certyfikatu użytkownika przechodzimy z powrotem do zakładki Obiekty -> Certyfikaty – PKI i eksportujemy do plików następujące elementy:

  • CA (w formacie PEM),
  • certyfikat użytkownika (w formacie P12).

Podczas eksportu certyfikatu użytkownika nadajemy hasło, które będzie wykorzystane przy jego imporcie na stacji roboczej:

W następnym kroku przechodzimy do zakładki Użytkownicy -> Polityki dostępu i w sekcji Szczegółowy dostęp dodajemy regułę dla wybranego przez nas użytkownika zezwalającą na połączenia w ramach tunelu IPSec:

Po nadaniu uprawnień użytkownika przechodzimy do zakładki Połączenia VPN -> IPSec VPN i w sekcji Konfiguracja tuneli IPSec -> Konfiguracja klientów mobilnych dodajemy nową politykę Config mode:

W kreatorze jako Sieć lokalna wybieramy obiekt all. W polu Sieć zdalna dodajemy nowy obiekt typu Zakres – będzie to zakres adresów IP, z którego klienci mobilni będą otrzymywać adresację IP. Definiowany zakres nie może zawierać się w adresacji żadnej z sieci występujących w obrębie konfiguracji urządzenia:

Następnie tworzymy profil klienta IKEv2, w którym jako metodę uwierzytelnienia wskazujemy opcję Certyfikat:

W kolejnym kroku wybieramy utworzony we wcześniejszych krokach certyfikat serwera oraz CA:

Utworzoną konfigurację akceptujemy za pomocą przycisku Zakończ:

Po utworzeniu wstępnej konfiguracji przechodzimy do zakładki Certyfikaty i klucze współdzielone, w celu upewnienia się czy urząd certyfikacji użyty do podpisania certyfikatu serwera, został wskazany w konfiguracji jako bezpieczny.

Do poprawnej konfiguracji potrzebne będzie jeszcze utworzenie nowych profili dla obu faz połączenia (IKE i IPSec). W tym celu przechodzimy do sekcji Profile IPSec i za pomocą przycisku Dodaj definiujemy profil IKE oraz profil IPSec:

Następnie modyfikujemy nowo utworzone profile według poniższych parametrów:

W kolejnym kroku modyfikujemy stworzoną konfigurację tunelu IKEv2 tak, aby wykorzystywane były profile zdefiniowane w poprzednim kroku:

Następnie przechodzimy do sekcji Konfiguracja sieci -> Proxy DNS i włączamy funkcjonalność Proxy DNS dla zakresu adresów zdefiniowanego podczas konfiguracji połączenia VPN:

W ostatnim kroku przechodzimy do zakładki Polityki ochrony -> Firewall i NAT i dodajemy reguły umożliwiające zestawienie tunelu oraz reguły dla ruchu z sieci VPN do sieci wewnętrznej oraz do Internetu:

2. Konfiguracja natywnego klienta IKEv2 pod systemem Windows 10

Na stacji z zainstalowanym systemem Windows 10 przechodzimy do magazynu certyfikatów:

W magazynie certyfikatów dodajemy wyeksportowany z urządzenia urząd certyfikacyjny (CA – plik w formacie PEM):

Do magazynu certyfikatów importujemy również certyfikat użytkownika (plik w formacie P12):

Podczas importu certyfikatu użytkownika podajemy hasło nadane przy jego eksporcie z urządzenia:

W celu utworzenia nowego połączenia VPN otwieramy aplikację PowerShell z uprawnieniami administratora:

Wprowadzamy poniższą komendę uzupełniając odpowiednie nazwy:

Add-VpnConnection -Name "nazwa_polaczenia" -ServerAddress "adres_serwera" -TunnelType "Ikev2" -AuthenticationMethod MachineCertificate -Passthru

nazwa_polaczenia – informacja jak będzie nazywać się połączenie VPN w systemie Windows.

adres_serwera – adres, na który nastąpi połączenie (nazwa domenowa podana podczas konfiguracji urządzenia Stormshield). W naszym przypadku będzie to vpn.stromshield.pl

Set-VpnConnectionIPsecConfiguration -ConnectionName "nazwa_polaczenia" -AuthenticationTransformConstants SHA256128 -CipherTransformConstants AES256 -DHGROUP Group14 -EncryptionMethod AES256 -IntegrityCheckMethod SHA256 -PfsGroup PFS2048 -Force -Passthru

W konfiguracji połączeń sieciowych powinno pojawić się nowe połączenie. W jego właściwościach modyfikujemy zakładkę Zabezpieczenia zgodnie z poniższym zrzutem ekranowym:

Przydatna informacja:

Jeżeli nie mamy swojej nazwy domenowej to możemy wykorzystać plik hosts w poniższym katalogu, gdzie należy wprowadzić odpowiedni wpis:

C:\windows\system32\drivers\etc\hosts