Dwie aplikacje na iPhone'a mogą obie dodać wpis VPN w Ustawieniach, obie nazywać się klientami VPN i niemal nie dzielić żadnej implementacji. Apple nazywa jedną z tych integracji Osobistym VPN, i właśnie ta nazwa wywołuje większość zamieszania. Osobisty VPN to API do tworzenia i zarządzania konfiguracjami, które korzystają z wbudowanej implementacji IPsec lub IKEv2. Dostawca tunelu pakietowego to drugi model: aplikacja dostarcza rozszerzenie, które implementuje stronę klienta własnego protokołu. Wszystko, co ludzie potem wywnioskują z etykiety, od szyfrów po własność i po to, czy telefon musi być zarządzany, jest wnioskiem, a nie stwierdzeniem.

Kto implementuje tunel

Ten podział decyduje, kto odpowiada, gdy coś się zepsuje. Przy wbudowanym IPsec lub IKEv2 maszyną stanów tunelu zarządza iOS, a aplikacja odpowiada za konfigurację i przyciski. Przy dostawcy aplikacja odpowiada za oba, więc błąd protokołu staje się aktualizacją aplikacji, a nie systemu.

Porównanie jest krótkie, jeśli zapytać, kto implementuje protokół.

IntegrationApple interfaceProtocol implementation
Personal VPNNEVPNManager with a Personal VPN configurationThe system IPsec or IKEv2 client
Packet tunnelNETunnelProviderManager plus the provider extensionWhatever the extension implements

Dokumentacja Osobistego VPN wspomina też o wyraźnym monicie autoryzacji użytkownika, gdy aplikacja po raz pierwszy zapisuje konfigurację, co należy do tego modelu, a nie do aplikacji VPN w ogóle.

Dwa twierdzenia o etykiecie, które warto porzucić

Pierwsze mówi, że Osobisty VPN wybiera szyfr. Nie wybiera; wynegocjowany zestaw pochodzi z protokołu i jego konfiguracji, a etykieta Osobisty nic nie mówi o tym, który otrzymasz. Drugie mówi, że Osobisty VPN oznacza proxy lub ograniczony tunel. Oznacza wbudowany IPsec lub IKEv2, czyli pełny tunel, gdy tylko trasy tak mówią.

Obecność aplikacji nie jest więc dowodem co do protokołu przewodowego. Klient strony trzeciej mówiący WireGuard lub OpenVPN jest z założenia aplikacją dostawcy, ponieważ iOS nie implementuje tych protokołów natywnie.

Dlaczego sformułowanie korporacyjne wprowadza w błąd

Dokumentacja Apple'a klasyfikuje konfiguracje NETunnelProviderManager jako zwykłe korporacyjne konfiguracje VPN. To sformułowanie jest kategorią API i popycha ludzi ku dwóm przeciwnym błędom: założeniu, że aplikacja konsumencka nie może korzystać z modelu dostawcy, oraz założeniu, że telefon musi być w tym celu nadzorowany. Żadne z nich nie wynika. Aplikacje konsumenckie rutynowo dostarczają dostawców, a nadzór to osobne pytanie o to, kto może egzekwować politykę.

Własność zarządzania jest tym czwartym pytaniem i jest niezależna od obu modeli. Konfiguracja zainstalowana przez organizację niesie własną tożsamość, zakres ruchu i reguły cyklu życia, a te podróżują z profilem, a nie z aplikacją, która akurat jest zainstalowana. Czytaj je razem z modelem integracji, ponieważ zarządzany profil wbudowany i niezarządzany profil dostawcy mogą znajdować się na jednym telefonie jednocześnie.

Sprawdź dowód, a nie zrzut ekranu

Zrzuty ekranu to najgorszy dostępny dowód, ponieważ grupowanie w Ustawieniach zmienia się między wersjami. Zarządzany profil nazywa własny typ ładunku: profil wbudowany deklaruje typ VPN, taki jak IKEv2 lub IPsec, podczas gdy profil dostawcy niesie podtyp nazywający identyfikator pakietu dostawcy. Można to sprawdzić na urządzeniu przed sobą i przetrwa to kolejny remont interfejsu.

Jeśli chodzi o samą aplikację, użyta klasa odpowiada na to samo pytanie z drugiej strony: obiekty konfiguracji z API Osobistego VPN albo menedżer dostawcy i jego rozszerzenie.

Następnie wybieraj według tego, co operator faktycznie dostarcza. Tam, gdzie istnieje zgodny profil natywny, ścieżka wbudowana ma mniej ruchomych części i o jedną rzecz mniej do aktualizacji. Tam, gdzie usługa potrzebuje protokołu, którego iOS nie dostarcza, aplikacja dostawcy jest jedyną opcją, a jej tempo wydań staje się częścią twojego ryzyka.

Zachowaj rekord razem z połączeniem

Przypisz uwierzytelnianie i politykę zasobów do rekordu połączenia, a nie do aplikacji, aby ponowna instalacja nie zabrała ze sobą modelu autoryzacji. Ten rekord jest też tym, czego potrzebuje inżynier wsparcia, gdy tunel wstaje, a nic innego nie działa.

Pytanie, które warto zadać na końcu, nie brzmi, który model jest lepszy. Brzmi: który model obsługuje twój operator i który możesz debugować o drugiej w nocy narzędziami, które naprawdę masz.

Powiązane artykuły