Wstęp
Strongswan jest aplikacją pozwalającą na korzystanie z usługi VPN według zasad protokołu IKEv2. Składa się ona z dwóch części. Pierwszą z nich jest aplikacja pełniąca rolę serwera / bramki VPN do którego będą się łączyć urządzenia
Drugim komponentem jest aplikacji kliencka instalowana na telefonach. Dzięki nim urządzenia końcowe będą łączyć się do bramki VPN i otrzymają dostęp do odpowiednich zasobów sieci.
Niniejszy dokument przeprowadza przez proces przygotowania oraz konfiguracji środowiska dla obu tych komponentów: bramy VPN oraz konfiguracji urządzeń końcowych przy pomocy FAMOCa.
Konfiguracja serwera
Wymagania ogólne
Generowanie certyfikatów
Do poprawnego skonfigurowania konieczne będzie zestaw certyfikatów (7,8):
Certyfikat ROOT_CA
Certyfikat SUB_CA
Certyfikat VPN_CERT + klucz prywatny VPN_CERT_KEY
Jeśli bramka VPN jest integrowana z istniejącą już infrastrukturą PKI Microsoft CA, certyfikat bramki VPN_CERT musi być wystawiony z tego samego SUB_CA z jakiego wystawiane będą certyfikaty klienckie urządzeń końcowych.
Istotne jest, aby certyfikat VPN_CERT:
miał ustawione wartość SAN taką samą jak FQDN pod jakim maszyna z bramą VPN rozwiązuje się z internetu:
Subject Alternative Name: DNS: FQDNposiadał ustawione następujące extendedKeyUsage:
serverAuth (1.3.6.1.5.5.7.3.1 - TLS Web Server Authentication)
ikeIntermediate (1.3.6.1.5.5.8.2.2 - IP security end entity)
Bramka VPN
Na maszynie pełniącej rolę bramki VPN (STANDALONE VPN lub FAMOC PROXY) musimy zainstalować paczkę Strongswan pełniącą rolę serwera VPN.
1. Instalacja Strongswan
2. Dodanie Strongswan do procesów uruchamianych przy starcie systemu
3. Wgrać plik z certyfikatem ROOT CA oraz plik z certyfikatem SUB CA (patrz Rozdział 3) do katalogu: /etc/strongswan/ipsec.d/cacerts/
4. Wgrać klucz prywatny certyfikatu serwera (VPN_CERT_KEY) do:
/etc/strongswan/ipsec.d/private
5. Zmienić uprawnienia klucza prywatnego: chmod 640 /etc/strongswan/ipsec.d/private/VPN_CERT_KEY
6. Wgrać klucz certyfikat serwera (VPN_CERT) do /etc/strongswan/ipsec.d/certs
7. Edycja pliku konfiguracyjnego Strongswan zgodnie z poniższym wzorem /etc/strongswan/ipsec.conf:
LAN - zasoby, do których ma być dostęp po podłączeniu do VPN, np. intranet (adres IP lub cała podsieć)
CLIENT_SUBNET - pula adres IP dla urządzeń, które będą miały dostęp do VPN
DNS_IP - adres serwera DNS
VPN_CERT - certyfikat serwera VPN (bramki VPN)
FQDN - adres serwera VPN (bramki VPN), wymagana rozwiązywalna nazwa domenowa
8. Utworzenie pliku ipsec.secrets, pod ścieżką /etc/strongswan/
9. Wyłączenie forwardowania IPv4:
10. Konfiguracja IP tables (zgodnie z wymaganiem 6)
11. Zapisz konfigurację iptables
12. Testowe uruchomienie bramki VPN w trybie debug:
13. Jeśli bramka uruchomiła się poprawnie w trybie debug, zamknij ją (ctrl + c) i uruchom produkcyjnie jako proces Strongswan
Maszyna Aplikacyjna (FAMOC)
Do poprawnego funkcjonowania klienta VPN dla urządzeń android konieczne jest wgranie odpowiedniej aplikacji klienckiej dostarczonej przez FancyFon.
Konfiguracja FAMOC
Konfiguracja Certificate Authority (CA)
Aby w pełni wykorzystać potencjał integracji z bramką VPN zalecane jest skonfigurowanie Certificate Authority (CA) które będzie odpowiedzialne za dystrybucję certyfikatów dla urządzeń klienckich. Na ich podstawie telefony będą uzyskiwały autoryzację do połączenia z bramą VPN.
Jeśli nie chcemy korzystać z W tym celu dodamy lokalne FAMOC CA. Możemy zrobić to pod ścieżką w systemie:
“ZAAWANSOWANE” -> “Ustawienia” -> “Serwery” -> “Dodaj serwer”
Po utworzeniu lokalnego FAMOC CA można przystąpić do konfiguracji klientów VPN dla urządzeń końcowych.
Konfiguracja Android
Aby telefony z systemem Android mogły korzystać z połączenia do VPN konieczne jest aby:
Zainstalować na nich klienta VPN Strongswan
Skonfigurować klienta VPN strongswan
Konfiguracja iOS
Aby telefony z systemem iOS mogły korzystać z połączenia do VPN konieczne jest aby odpowiednio przygotować konfigurację profilu iOS. Nie jest konieczne instalowanie dodatkowych, zewnętrznych aplikacji - konfigurowany jest natywny klient VPN iOS.
Konfiguracja profilu iOS znajduje się pod lokalizacją: Centrum Konfiguracji -> Konfiguracje -> Dodaj Konfiguracje -> iOS -> Konfiguracja podstawowego profilu iOS.
W sekcji “Certyfikaty” należy skonfigurować:
Certyfikat kliencki CLIENT_CERT instalowany na urządzenia iOS generowany przez wskazanie zdefiniowanego VPN_CA (ODNOŚNIK DO CA)
Jeśli zdefiniowany ROOT_CA (7) nie jest zaufany na urządzeniach (np. Korzystamy z certyfikatu self-sign, albo wewnętrznej infrastruktury PKI) - konieczne jest również jego dodanie w konfiguracji.
Przykładową konfigurację certyfikatów przedstawiono na poniższym zrzucie ekranu
W sekcji “Konfiguracja VPN” należy określić konfigurację dla natywnego klienta VPN urządzeń iOS. Do najważniejszych pół w konfiguracji należą:
Nazwa połączenia - tak będzie nazywał się profil VPNowy na urządzeniu
Adres serwera - fqdn bramy vpn
Lokalny identyfikator - jeden z parametrów określających jak urządzenie będzie przedstawiać się do serwera VPN. Ważne - musi zgadzać się z polem “UPN attribute” na certyfikacie klienckim
Zdalny identyfikator - drugi z parametrów określających jak urządzenie będzie przedstawiać się do serwera VPN
Metoda uwierzytelniania - w zalecanym przypadku jest to certyfikat generowany przez FAMOC CA i zdefiniowany w sekcji “CERTYFIKATY” w konfiguracji iOS (patrz wyżej)
Proxy - jeśli będzie używane - tutaj możesz go zdefiniować
Adresy serwerów DNS - tutaj zdefiniuj adresy IP wykorzystywanych serwerów DNS
Podsumowanie
Niniejsza instrukcja pozwala na przejście procesu konfigurowania środowiska VPN Strongswan FAMOC (bramka vpn, konfiguracja FAMOC mdm, konfiguracja klientów). Wymienione kroki pozwolą na przejście całej procedury od postawienia bramki VPN do skonfigurowania urządzeń końcowych i podłączenia się do skonfigurowanych zasobów. W razie jakichkolwiek wątpliwości lub niejasności w związku z opisywaną procedurą, zapraszamy do kontaktu z naszym działem wsparcia technicznego pod adresem: support@fancyfon.com.