Zwou ganz verschidden Aarbechte ginn ënner dem Numm programmatesch VPN gefouert, an nëmmen eng dovu steet enger gewéinlecher App op enger vun de béiden mobilen Plattformen zur Verfügung. Déi éischt ass e Profil aschalten, deen de Benotzer schonn gespaart huet; déi zweet ass en Tunnel bannen an sengem eegene Prozess bauen. Android gëtt Iech déi zweet iwwer VpnService an iOS gëtt Iech déi zweet iwwer d’Berechtegung Network Extension, wärend déi éischt beim System, engem Geräteeegentümer oder engem MDM-Server bleift. Erauszefannen, wéi eng Dir wierklech braucht, mécht de Projet meeschtens méi kleng.

Zwou Aarbechte mat engem Numm

En gespaarte Profil aktivéiere bedeit engem bestoenden Tunnel ze soen, dass en eropkënnt: en Host, en Zertifikat, e Protokoll, alles schonn an enger Plaz konfiguréiert, déi de Benotzer ka gesinn. En Tunnel baue bedeit, datt Äre Code d’Interface, de Paketsloop an de Protokoll besëtzt. Si gesinn an engem Produktbacklog ähnlech aus a deelen bal keng Implementatioun.

Keng vun de béiden mobile Plattformen deckt déi éischt enger SDK-App of. Eng Verbindung, déi erschéngt, ouni datt de Benotzer eppes mécht, ass net vu Malware z’ënnerscheeden, dofir setzen déi zwee Systemer en Zoustëmmungsgate virun all App, déi Traffic dréit.

Android: en Zoustëmmungsgate an keng Profil-API

VpnService existéiert zënter Android 4.0 a léisst eng App eng tun-Interface uleeën an duerno Päck liesen a schreiwen. De Service muss mat BIND_VPN_SERVICE deklaréiert ginn, an VpnService.prepare() produzéiert den Systemdialog, deen de Benotzer freet, et z’erlabe. D’Plattformbeispill ToyVpn ass déi kloerst Ausso iwwer d’virgesinn Form: Äre Code besëtzt d’Interface an alles, wat duerch et fléisst.

Wat et net mécht, ass en Andrag op dem System sengem VPN-Astellungsbildschierm bäizefügen. Dofir gëtt et keng ëffentlech API, an d’Astellunge-App hält hir Profiler an engem Späicher, deen eng gewéinlech App net erreecht. Opruff op déi verstoppte Klassen aus enger normaler Applikatioun produzéieren Profiler, déi de System ni oplëscht, dofir hält Code, deen an engem Build ze schaffen ausgesinn huet, am nächsten stëll op ze schaffen.

De verwaltete Wee ass separat. En Apparat- oder Profilseigentümer kann e ëmmer-aktive VPN-Paket iwwer d’Apparatpolitik-APIen bestëmmen, an en Entreprise-Tool ka e Profil schécken, deen de Benotzer duerno approuvéiert. Dat ass Apparatsverwaltungsbefugnis, net eng Erlabnes, déi eng App bei der Installatioun ufrot. Wann Äre Client eng Organisatioun ass, ass dëst de Wee, fir deen Dir musst plangen; wann Äre Client eng Persoun ass, déi aus engem Buttek installéiert, ass et iwwerhaapt net verfügbar.

iOS: d’Berechtegung ass d’Grenz

iOS deelt déi selwecht Aarbecht anescht op. En VPN-Client implementéiert e Pakettunnelprovider oder en App-Proxy am Network Extension Kader, an déi entspriechend Berechtegung muss dem Entwécklerkont ginn. Eng perséinlech VPN-Konfiguratioun iwwer NEVPNManager existéiert fir de méi einfachen Fall, an et leeft nach ëmmer am selwechte Erlabnesmodell. Apple dokumentéiert déi ganz Uewerfläch an der Network Extension-Referenz, déi een nach liese sollt, ier een den Ëmfang vun der Aarbecht festleet.

Et gëtt kee unterstützte Wee, de VPN-Astellungsbildschierm opzemaachen, dem Benotzer seng gespaarte Konfiguratiounen ze liesen oder eng dovu starten. Wat e Client ka maachen, ass e Konfiguratiounsprofil ze schécken, deen de Benotzer installéiert, an duerno den entstanenen Tunnel iwwer gewéinlech Netzwierkopruff ze benotzen. Tunneling pro App gëtt vun engem MDM-Server iwwer eng Op-Ufro-Regel zougewisen, net vun der App zur Lafzäit gewielt.

En VPN-Client vun engem groussen Ubider ass keen Beweis, datt Äre Kont datselwecht ka schécken. Déi Berechtegunge ginn pro Entwécklerkont ugefrot a gepréift, dofir läit de Kalennerrisiko bei Apple, net an Ärem Sprintplang.

Den Desktop erreecht méi wäit, awer den Eegentum ännert sech net

Windows ass de permisse Fall. Add-VpnConnection leet en Telefonsbuch-Andrag aus enger erhéichter PowerShell-Sessioun un, an rasdial verbënnt oder trennt en aus engem Skript. Eng App ka och e Ubider-Client iwwer seng dokumentéiert Kommandozeil steieren. De Profil ze schafen ass nach ëmmer eng administrativ Handlung, well den Andrag an engem Späicher fir déi ganz Maschinn lieft.

macOS behält sech d’selwecht mat aneren Tools. scutil --nc start an stop schaffen op Servicer, déi schonn existéieren, während een ze schafen eng Systemadministratiounsaufgab ass. De Prozess op engem Laptop ze besëtzen mécht Iech net zum Eegentümer vun der Konfiguratioun.

Wat een amplaz bauen

Wann déi richteg Fuerderung ass, datt Är App eng intern API erreecht, da genüügt den Tunnel, deen de Benotzer schonn bedreift. Schéckt gewéinlech HTTPS-Ufroen, loosst de System de Wee wielen, an hält op, den Tunnel wëllen ze kontrolléieren. Wann d’Fuerderung ass, datt nëmme vum Ärer App säin Traffic den Tunnel benotzt, da frot ëm Per-App-VPN iwwer de Verwaltungskanal, oder beendet TLS bannen an der App géint en Service, deen ouni et erreechbar ass.

Verstoppte APIe sinn eng Kuerzstreck, déi et sech net lount. Si änneren sech tëscht Verëffentlechungen, si falen an der App-Revue duerch, an d’Feeler, déi si produzéieren, gesinn deene, deen de Code ierft, wéi gewéinlech Netzwierkfeeler aus. De Verglach ass net Android géint iOS; et ass en Tunnel ze besëtzen géint d’Plattform ze froen, Traffic ze leeden, an nëmmen déi éischt ass Är ze bauen.

Ähnlech Artikelen