Port ufficiale per Android della popolare soluzione VPN strongSwan.
# CARATTERISTICHE E LIMITAZIONI #
* Utilizza l'API VpnService presente su Android 4+. I dispositivi di alcuni produttori sembrano non supportare questo aspetto: il client VPN strongSwan non funzionerà su questi dispositivi!
* Utilizza il protocollo di scambio chiavi IKEv2 (IKEv1 *non* è supportato)
* Utilizza IPsec per il traffico dati (L2TP *non* è supportato)
* Supporto completo per connettività e mobilità modificate tramite MOBIKE (o riautenticazione)
* Supporta l'autenticazione EAP nome utente/password (vale a dire EAP-MSCHAPv2, EAP-MD5 e EAP-GTC) nonché l'autenticazione con chiave/certificato privato RSA/ECDSA per autenticare gli utenti, è supportato anche EAP-TLS con certificati client
* L'autenticazione combinata RSA/ECDSA ed EAP è supportata utilizzando due cicli di autenticazione come definito nella RFC 4739
* I certificati del server VPN vengono verificati rispetto ai certificati CA preinstallati o installati dall'utente sul sistema. I certificati CA o server utilizzati per autenticare il server possono anche essere importati direttamente nell'app.
* La frammentazione IKEv2 è supportata se il server VPN la supporta (strongSwan lo fa dalla versione 5.2.1)
* Lo split tunneling consente di inviare solo un determinato traffico attraverso la VPN e/o di escludere da essa traffico specifico
* La VPN per app consente di limitare la connessione VPN a app specifiche o di escluderle dall'utilizzo
* L'implementazione IPsec attualmente supporta gli algoritmi AES-CBC, AES-GCM, ChaCha20/Poly1305 e SHA1/SHA2
* Le password sono attualmente archiviate come testo in chiaro nel database (solo se archiviate con un profilo)
* I profili VPN possono essere importati da file
* Supporta configurazioni gestite tramite gestione della mobilità aziendale (EMM)
Dettagli e un registro delle modifiche possono essere trovati nei nostri documenti: https://docs.strongswan.org/docs/5.9/os/androidVpnClient.html
# PERMESSI #
* READ_EXTERNAL_STORAGE: consente di importare profili VPN e certificati CA da una memoria esterna su alcune versioni di Android
* QUERY_ALL_PACKAGES: richiesto su Android 11+ per selezionare le app da includere/escludere nei profili VPN e il caso d'uso EAP-TNC opzionale
# ESEMPIO DI CONFIGURAZIONE DEL SERVER #
Esempi di configurazioni del server possono essere trovate nei nostri documenti: https://docs.strongswan.org/docs/5.9/os/androidVpnClient.html#_server_configuration
Tieni presente che il nome host (o indirizzo IP) configurato con un profilo VPN nell'app *deve* essere contenuto nel certificato del server come estensione soggettoAltName.
# FEEDBACK #
Si prega di pubblicare segnalazioni di bug e richieste di funzionalità tramite GitHub: https://github.com/strongswan/strongswan/issues/new/choose
In tal caso, includi le informazioni sul tuo dispositivo (produttore, modello, versione del sistema operativo, ecc.).
Il file di registro scritto dal servizio di scambio chiavi può essere inviato direttamente dall'interno dell'applicazione.
Ultimo aggiornamento
5 ago 2024