Op certificaten gebaseerde proxy-authenticatie in een iOS VPN-app omvat verschillende technische stappen die zijn gericht op het correct configureren van de VPN- en proxy-instellingen, terwijl ze ervoor zorgen dat certificaten veilig op het iOS-apparaat worden geïmplementeerd en beheerd. Deze methode verbetert de beveiliging door digitale certificaten te gebruiken om de client te verifiëren naar de VPN-server en de proxy, waardoor de noodzaak van door gebruikers ingevoerde referenties wordt geëlimineerd of verminderd.
VPN proxy -configuratie op iOS
In iOS kan de VPN -proxyconfiguratie worden gedaan door de proxy -instellingen op te geven voor de VPN -verbinding. Deze configuratie kan handmatig of automatisch worden beheerd:
- Handmatige proxy -instelling vereist het opgeven van het adres van de proxy, de poort en alle benodigde authenticatie.
-Automatische proxyconfiguratie kan worden ingesteld met behulp van proxy auto-configuratie (PAC) -bestanden of met behulp van Web Proxy Auto-Discovery Protocol (WPAD). PAC -bestanden kunnen bijvoorbeeld worden gehost via HTTPS en via een URL aan het apparaat worden verstrekt.
Het gebruik van een VPN -proxyconfiguratie zorgt ervoor dat de proxy wordt toegepast op alle netwerkverbindingen als de VPN de standaardroute biedt of selectief voor hosts binnen de DNS -zoekdomeinen van de VPN biedt als de VPN in de split -tunnelmodus werkt. Deze opstelling is cruciaal voor het sturen van authenticerend verkeer via de proxy als onderdeel van de VPN -tunnel.
Certificaatinstellingen en validatie
Het implementeren van op certificaten gebaseerde authenticatie vereist de volgende belangrijke certificaatoverwegingen:
- De VPN -server moet een identiteitscertificaat presenteren dat zijn DNS -naam of IP -adres in het veld Onderwerp Alternative Name (SubjectAltName) bevat om de authenticiteit van de server naar het clientapparaat te valideren.
- Dit certificaat moet worden ondertekend door een certificaatautoriteit (CA) vertrouwd door het clientapparaat.
- Het clientapparaat moet het CA -certificaat hebben geïnstalleerd om het servercertificaat te vertrouwen.
- De VPN -server moet worden geconfigureerd om clientcertificaten te accepteren en te valideren. Deze certificaten moeten worden uitgegeven door een vertrouwde CA en de server kan velden in het clientcertificaat gebruiken om gebruikersgroepen of rollen te identificeren.
- De certificaten moeten geldig, vertrouwd zijn en niet zijn verlopen. In tegenstelling tot sommige protocollen, verzendt de server in iOS VPN -setups niet de volledige Certificate Trust -keten, dus het apparaat moet al de volledige trustketen hebben geïnstalleerd.
Certificaten implementeren op iOS -apparaten
IOS-apparaten kunnen op certificaat gebaseerde authenticatie effectief gebruiken wanneer de certificaten correct worden geïmplementeerd, vaak via MDM-systemen (Mobile Device Management) zoals Microsoft Intune. Belangrijkste stappen voor implementatie zijn onder meer:
1. Het importeren en vertrouwen van het root CA -certificaat van de VPN -server op het apparaat. Dit omvat meestal het installeren van een vertrouwd certificaatprofiel op het apparaat.
2.. Configureren en implementeren van clientauthenticatiecertificaten. Deze kunnen worden geduwd door profielen die het eenvoudige certificaatregelingsprotocol (SCEP) of openbare sleutel Cryptography Standards (PKCS) ondersteunen.
3. VPN -profielen toewijzen die certificaatverificatie opgeven als de methode voor verbinding.
4. Zorg ervoor dat de certificaten op de juiste manier worden gemarkeerd voor klantauthenticatie in hun belangrijkste gebruiksvelden.
MDM -tools helpen bij het beheren van deze certificaten, het waarborgen van de naleving van het beveiligingsbeleid en het verminderen van het risico van blootgestelde privésleutels door de beveiligde implementatie te automatiseren. Zonder een MDM te gebruiken, faalt het handmatig installeren van certificaten op iOS-apparaten vaak voor certificaatgebaseerde VPN-authenticatie, omdat het systeem VPN-client-apps beperkt om vrijwel geïnstalleerde certificaten vrijelijk toegang te krijgen tot handmatig geïnstalleerde certificaten.
Per-app VPN en certificaatverificatie
Apple ondersteunt Per-App VPN-configuraties waarmee VPN-connectiviteit kan worden gezocht naar individuele apps in plaats van systeembreed. Bij het instellen van per-app VPN met certificaatverificatie:
- Een vertrouwd rootcertificaatprofiel moet worden gemaakt en naar het apparaat worden geduwd.
- Een certificaatprofiel (SCEP of PKC's) dat het clientcertificaat levert, is geconfigureerd en toegewezen.
- Er wordt een VPN -profiel gemaakt gemaakt op het opgeven van het clientcertificaat als de authenticatiemethode.
- De VPN wordt toegewezen aan apparaatgroepen om per-app VPN-autorisatie mogelijk te maken.
Dit bewaart op certificaten gebaseerde authenticatiebeveiliging, waardoor beheerders het VPN-gebruik kunnen beperken tot specifieke bedrijfstoepassingen, wat met name nuttig is in bedrijfsomgevingen.
Technische implementatie in aangepaste iOS VPN -apps
Voor ontwikkelaars die een aangepaste iOS VPN-app bouwen die op certificaat gebaseerde proxy-authenticatie gebruikt, zijn de volgende componenten en API's essentieel:
- Gebruik het NetWorKexTension Framework om VPN -verbindingen te configureren en te beheren.
- Configureer de NEVPNManager of NetunnelProvider om VPN -verbindingsparameters op te geven.
- Laad clientcertificaten veilig in de sleutelhanger van de app. Deze certificaten moeten toegankelijk zijn door het VPN -verbindingsprofiel.
- Stel TLS -authenticatie in voor zowel de VPN -tunnel als alle proxycommunicatie door te verwijzen naar het clientcertificaat en het valideren van het servercertificaat.
- Behandel proxy -instellingen programmatisch en geef het proxyserveradres en poort op als onderdeel van de VPN -configuratie, die mogelijk PAC -bestanden ondersteunen.
- Implementeer Logica van certificaatvalidatie als onderdeel van de levenscyclus van VPN -verbinding om ervoor te zorgen dat de certificaten actueel zijn en overeenkomen met de verwachte identiteiten.
- Bied mechanismen voor certificaatvernieuwing of herinschrijving met behulp van een beveiligd protocol zoals SCEP wanneer certificaten verlopen.
Ontwikkelaars moeten ook rekening houden met de vereisten en beperkingen van Apple op certificaattoegang en VPN -configuratie op iOS. De app moet bijvoorbeeld de juiste rechten hebben en gebruikers moeten mogelijk de installatie van profielen of certificaten handmatig accepteren, tenzij beheerd via MDM.
Uitdagingen en overwegingen
- IOS beperkt VPN -apps om clientcertificaten te gebruiken buiten profielen die zijn beheerd via MDM, waarvoor ondernemingsimplementatiestrategieën nodig zijn.
- Handmatige installatie van clientcertificaten leidt vaak tot connectiviteitsproblemen vanwege de beperkingen van iOS -sandboxen en certificaattoegang.
- De VPN -server moet correct zijn geconfigureerd om de validatie van het clientcertificaat af te handelen en ervoor te zorgen dat de overeenkomst van certificaatkenmerken met gebruikersrechten.
- Proxy -configuratie via VPN moet compatibel zijn met de tunneling- en routeringsmechanismen van de VPN; Split -tunneling kan een extra proxy -configuratie vereisen.
- De algehele beveiliging hangt af van zorgvuldig certificaatlevenscyclusbeheer, inclusief uitgifte, vernieuwing en intrekking.
Samenvatting
Het implementeren van certificaatgebaseerde proxy-authenticatie in een iOS VPN-app omvat het configureren van de VPN om proxy-instellingen te gebruiken (handmatig of gebaseerd op PAC), het implementeren van vertrouwde CA- en clientcertificaten via MDM-oplossingen en het opgeven van certificaatauthenticatie in VPN-profielen. Ontwikkeling vereist het gebruik van het NetworkeStension Framework van Apple om VPN -verbindingen te configureren met behulp van certificaten die veilig in de sleutelhanger worden opgeslagen, waardoor TLS -authenticatie wordt gewaarborgd op zowel VPN- als proxy -niveaus. Vanwege iOS -systeembeperkingen worden certificaatimplementatie en -beheer meestal afgehandeld via MDM -tools voor bedrijven om naadloze en veilige authenticatie -ervaringen mogelijk te maken.
Deze architectuur zorgt voor een sterke authenticatie met behulp van certificaten, verbetert de beveiliging door wachtwoordafhankelijkheid te verwijderen en ondersteunt bedrijfsscenario's zoals per-app VPN-configuraties, allemaal die voldoen aan iOS-beveiligings- en managementkaders.