Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Come posso implementare l'autenticazione proxy basata su certificati in un'app VPN iOS


Come posso implementare l'autenticazione proxy basata su certificati in un'app VPN iOS


L'autenticazione proxy basata sui certificati in un'app VPN iOS prevede diverse fasi tecniche incentrate sulla configurazione delle impostazioni VPN e proxy in modo appropriato garantendo che i certificati siano distribuiti e gestiti in modo sicuro sul dispositivo iOS. Questo metodo migliora la sicurezza utilizzando i certificati digitali per autenticare il client al server VPN e al proxy, eliminando o riducendo la necessità di credenziali avvertite dagli utenti.

configurazione proxy vpn su iOS

In iOS, la configurazione proxy VPN può essere eseguita specificando le impostazioni proxy per la connessione VPN. Questa configurazione può essere gestita manualmente o automaticamente:

- La configurazione del proxy manuale richiede la specifica dell'indirizzo del proxy, della porta e di qualsiasi autenticazione necessaria.
-La configurazione automatica del proxy può essere impostata utilizzando i file PAC (Proxy Auto-Configuration (PAC) o utilizzando Web Proxy Auto-Discovery Protocol (WPAD). Ad esempio, i file PAC possono essere ospitati su HTTPS e forniti al dispositivo tramite un URL.

L'uso di una configurazione proxy VPN garantisce che il proxy sia applicato a tutte le connessioni di rete se la VPN fornisce il percorso predefinito o selettivamente per gli host all'interno dei domini di ricerca DNS della VPN se la VPN funziona in modalità tunnel divisa. Questa configurazione è fondamentale per la direzione di autenticazione del traffico attraverso il proxy come parte del tunnel VPN.

configurazione e convalida del certificato

L'implementazione dell'autenticazione basata sul certificato richiede le seguenti considerazioni di certificato chiave:

- Il server VPN deve presentare un certificato di identità che contiene il suo nome DNS o l'indirizzo IP nel campo Nome alternativo dell'oggetto (SUCGIETLALTNAME) per convalidare l'autenticità del server sul dispositivo client.
- Questo certificato deve essere firmato da un'autorità di certificazione (CA) attendibile dal dispositivo client.
- Il dispositivo client deve avere il certificato CA installato per fidarsi del certificato del server.
- Il server VPN deve essere configurato per accettare e convalidare i certificati client. Questi certificati devono essere emessi da una CA di fiducia e il server può utilizzare i campi nel certificato client per identificare gruppi di utenti o ruoli.
- I certificati devono essere validi, affidabili e non scaduti. A differenza di alcuni protocolli, il server nelle configurazioni di iOS VPN non invia l'intera catena di fiducia del certificato, quindi il dispositivo deve già installare la catena di fiducia completa.

Distribuzione dei certificati su dispositivi iOS

I dispositivi iOS possono utilizzare l'autenticazione basata su certificati in modo efficace quando i certificati vengono distribuiti correttamente, spesso tramite sistemi MDM di gestione dei dispositivi mobili (MDM) come Microsoft Intune. I passaggi chiave per la distribuzione includono:

1. Importazione e fiducia nel certificato di root CA del server VPN sul dispositivo. Ciò prevede in genere l'installazione di un profilo di certificato di fiducia sul dispositivo.
2. Configurazione e distribuzione dei certificati di autenticazione client. Questi possono essere spinti attraverso i profili che supportano i certificati PKCS (Simple Certificate Enrollment Protocol) o Standards per la crittografia a chiave pubblica.
3. Assegnazione di profili VPN che specificano l'autenticazione del certificato come metodo per la connessione.
4. Garantire che i certificati siano contrassegnati in modo appropriato per l'autenticazione del cliente nei loro campi di utilizzo chiave.

Gli strumenti MDM aiutano a gestire questi certificati, garantendo la conformità alle politiche di sicurezza e riducendo il rischio di chiavi private esposte automatizzando la distribuzione sicura. Senza utilizzare un MDM, l'installazione manuale dei certificati su dispositivi iOS spesso non riesce per l'autenticazione VPN basata sui certificati, poiché il sistema limita le app client VPN di accedere liberamente ai certificati installati manualmente.

per-app VPN e autenticazione del certificato

Apple supporta le configurazioni VPN per APP che consentono di esprimere la connettività VPN alle singole app anziché a tutto il sistema. Quando si imposta VPN per-app con autenticazione del certificato:

- Un profilo di certificato di root affidabile deve essere creato e spinto al dispositivo.
- Un profilo di certificato (SCEP o PKCS) che fornisce il certificato client è configurato e assegnato.
- Viene creato un profilo VPN che specifica il certificato client come metodo di autenticazione.
- La VPN è assegnata ai gruppi di dispositivi per abilitare l'autorizzazione VPN per app.

Ciò conserva la sicurezza di autenticazione basata sui certificati consentendo agli amministratori di limitare l'utilizzo VPN a specifiche applicazioni aziendali, che è particolarmente utile in ambienti aziendali.

Implementazione tecnica nelle app VPN iOS personalizzate

Per gli sviluppatori che costruiscono un'app VPN iOS personalizzata che utilizza autenticazione proxy basata sui certificati, sono essenziali i seguenti componenti e API:

- Utilizzare il framework NetWorkExtension per configurare e gestire le connessioni VPN.
- Configurare NevpnManager o NetunnelProvider per specificare i parametri di connessione VPN.
- Carica i certificati client nel portachiavi dell'app in modo sicuro. Questi certificati devono essere accessibili dal profilo di connessione VPN.
- Imposta l'autenticazione TLS sia per il tunnel VPN che per qualsiasi comunicazione proxy facendo riferimento al certificato client e convalidando il certificato del server.
- Gestire le impostazioni proxy a livello di programmazione, specificando l'indirizzo e la porta del server proxy come parte della configurazione VPN, potenzialmente supportando i file PAC.
- Implementare la logica di convalida del certificato come parte del ciclo di vita della connessione VPN per garantire che i certificati siano aggiornati e abbinano le identità previste.
- Fornire meccanismi per il rinnovo del certificato o il rievocatore utilizzando un protocollo sicuro come Scep quando scadono i certificati.

Gli sviluppatori devono inoltre considerare i requisiti e le restrizioni di Apple sull'accesso al certificato e sulla configurazione VPN su iOS. Ad esempio, l'app deve avere diritti adeguati e potrebbe essere necessario accettare manualmente l'installazione di profili o certificati se non gestiti tramite MDM.

sfide e considerazioni

- IOS limita le app VPN dall'utilizzare i certificati client al di fuori dei profili gestiti tramite MDM, che richiedono strategie di distribuzione aziendale.
- L'installazione manuale dei certificati client spesso porta a problemi di connettività a causa di sandboxing iOS e restrizioni di accesso ai certificati.
- Il server VPN deve essere configurato correttamente per gestire la convalida del certificato client e garantire l'abbinamento degli attributi del certificato alle autorizzazioni utente.
- La configurazione proxy su VPN deve essere compatibile con i meccanismi di tunneling e routing della VPN; Il tunneling diviso può richiedere una configurazione proxy aggiuntiva.
- La sicurezza generale dipende dall'attenta gestione del ciclo di vita del certificato, inclusi emissione, rinnovo e revoca.

Riepilogo

L'implementazione dell'autenticazione proxy basata su certificati in un'app VPN iOS prevede la configurazione della VPN per utilizzare le impostazioni proxy (manuale o basato su PAC), distribuire i certificati CA e client attendibili tramite soluzioni MDM e specificare l'autenticazione del certificato nei profili VPN. Lo sviluppo richiede di sfruttare il framework di networkkextension di Apple per configurare le connessioni VPN utilizzando certificati memorizzati in modo sicuro nel portachiavi, garantendo l'autenticazione TLS a livello di VPN e proxy. A causa delle restrizioni di sistema iOS, la distribuzione e la gestione dei certificati vengono generalmente gestite tramite strumenti Enterprise MDM per consentire esperienze di autenticazione senza soluzione di continuità e sicure.

Questa architettura garantisce una forte autenticazione utilizzando i certificati, migliora la sicurezza rimuovendo le dipendenze delle password e supporta scenari aziendali come le configurazioni VPN per APP, tutte conformi ai framework di sicurezza e gestione iOS.