La casella sembra l’intera decisione, e su Android non lo è. Lo stesso pacchetto spuntato significa «solo questa app usa la VPN» con una base solo-includi e «questa app aggira la VPN» con una base escludi-i-selezionati. Le persone installano un client, trovano una lista chiamata App consentite, spuntano l’unico pacchetto che interessa e se ne vanno con una policy che fa l’opposto. Cambiare client raramente aiuta; scegliere la base prima di toccare la lista aiuta.

La base è la policy, non la casella

Con il VpnService di Android, un client configura il routing per app con addAllowedApplication o addDisallowedApplication. Il primo limita il tunnel ai pacchetti elencati, il secondo instrada nel tunnel tutto tranne quelli. I client avvolgono entrambi in un’interfaccia che può sembrare quasi identica, e alcuni chiamano la sezione in base alla lista invece che alla modalità, quindi il solo titolo della sezione non può dirti quale base è attiva.

Leggi il controllo della modalità sopra la lista, non l’intestazione. Nel client originale OpenVPN for Android la lista delle app consentite ha una base solo-includi e una escludi-i-selezionati, e una build brandizzata può formulare entrambe diversamente mantenendo gli stessi due comportamenti. Uno screenshot da un altro client, o da una versione precedente dello stesso, non è prova della modalità in cui sei.

What the client showsWhat a checked app gets
Allowed apps, include-only baselineThe app uses the tunnel; unchecked apps do not
Allowed apps, exclude-selected baselineThe app bypasses the tunnel; everything else uses it
No list configuredClient or profile default, commonly all apps

Quella tabella è l’intero mito. Spuntare l’app è un’affermazione su un pacchetto; la base decide se l’affermazione è «includila» o «escludila».

Prima la modalità, poi il pacchetto

Lavora in quest’ordine, perché una selezione fatta con una base può sopravvivere a un cambio di modalità e invertirne silenziosamente l’effetto:

  1. Identifica il pacchetto reale e se è la copia del profilo personale o di quello di lavoro.
  2. Apri le impostazioni di selezione delle app per l’esatto profilo VPN con cui ti connetti.
  3. Imposta la base il cui significato è «solo le app selezionate usano la VPN».
  4. Includi il pacchetto previsto e lascia le app non correlate fuori dall’insieme.
  5. Riconnettiti così il client ricostruisce l’interfaccia con la nuova lista.

Il profilo conta quanto il pacchetto. Un client può contenere più profili, e la selezione per app appartiene a quello con cui ti connetti davvero; modificare un profilo che non usi mai non cambia nulla. Su un dispositivo gestito, il profilo di lavoro è un utente separato con la propria copia dell’app e la propria policy, quindi il fatto che l’istanza personale sia dentro il tunnel non dice nulla sull’istanza di lavoro.

Riconnettiti prima di giudicare il risultato

VpnService legge gli elenchi delle app quando viene stabilita l’interfaccia del tunnel. Un tunnel attivo non riprende necessariamente una modifica alla lista, e i client differiscono sul fatto di ricostruire automaticamente o attendere che ti disconnetta e riconnetta.

Se la modifica sembra non fare nulla, prova la riconnessione prima di dubitare della lista. Poi fai una richiesta nuova invece di ricaricare una pagina già aperta: un’app che mantiene una connessione stabilita è un cattivo soggetto di test, e il risultato che vedi potrebbe appartenere alla vecchia interfaccia.

Il tuo flusso di lavoro può uscire dall’app

Un’app può passare a un browser per l’accesso, a un visualizzatore di documenti o a una destinazione di condivisione. Con una base solo-includi quei helper restano fuori dal tunnel, quindi un flusso di lavoro può fallire a metà anche se la prima app era configurata correttamente. Includi l’helper solo se il flusso di lavoro ne ha davvero bisogno, e aggiungilo deliberatamente invece di scoprirlo durante una demo.

La selezione per app non sostituisce nemmeno la policy di routing propria della connessione. Il profilo deve ancora portare i prefissi di destinazione e le famiglie di indirizzi usate dall’app, e il gateway deve ancora consentire il servizio. Un’app elencata correttamente con una destinazione irraggiungibile sembra uguale a una lista mal configurata.

Prova entrambi i lati, poi annota la policy

Prova una richiesta nuova nell’app inclusa e una in un’app che dovrebbe restare fuori. Confronta l’indirizzo di uscita e l’accesso a una risorsa privata, poi ripeti dopo una riconnessione. Se la tua organizzazione usa la policy di Android per bloccare le connessioni senza VPN, un’app esclusa può essere bloccata del tutto invece di andare diretta; è la policy che funziona, non un guasto da aggirare.

Annota la modalità, i nomi dei pacchetti con il loro profilo, quali app devono aggirare, quali famiglie di indirizzi porta il tunnel e cosa dovrebbe succedere quando il tunnel è giù. Se il client non riesce a esprimere il flusso di lavoro in modo pulito, scegli un insieme di app approvato più ampio o una policy di profilo gestito invece di modificare regole del firewall a livello di root, che non fa parte del meccanismo per app supportato da Android.

Articoli correlati