Het selectievakje lijkt de hele beslissing, en op Android is dat niet zo. Hetzelfde aangevinkte pakket betekent “alleen deze app gebruikt de VPN” onder een alleen-opnemen-basis en “deze app slaat de VPN over” onder een basis die de geselecteerde uitsluit. Mensen installeren een client, vinden een lijst met het label Toegestane apps, vinken het ene pakket aan dat ze belangrijk vinden en lopen weg met een beleid dat het tegenovergestelde doet. Van client wisselen helpt zelden; de basis kiezen voordat je de lijst aanraakt wel.

De basis is het beleid, niet het selectievakje

Onder Android's VpnService configureert een client routering per app met addAllowedApplication of addDisallowedApplication. De eerste beperkt de tunnel tot de vermelde pakketten, de tweede tunnelt alles behalve die. Clients verpakken de twee in een UI die er bijna identiek uit kan zien, en sommige labelen de sectie naar de lijst in plaats van naar de modus, dus de sectietitel alleen kan je niet vertellen welke basis actief is.

Lees de modusbediening boven de lijst, niet de kop. In de upstream OpenVPN for Android-client heeft de lijst met toegestane apps een alleen-opnemen-basis en een basis die de geselecteerde uitsluit, en een branded build kan beide anders formuleren terwijl hij dezelfde twee gedragingen houdt. Een schermafbeelding van een andere client, of van een oudere versie van dezelfde, is geen bewijs over de modus waarin je zit.

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

Die tabel is de hele mythe. De app aanvinken is een uitspraak over één pakket; de basis bepaalt of die uitspraak “opnemen” of “uitsluiten” is.

Kies de modus, dan het pakket

Werk in deze volgorde, want een selectie onder de ene basis kan een moduswijziging overleven en het effect ervan stil omkeren:

  1. Identificeer het echte pakket en of het de persoonlijke of de werkprofielkopie is.
  2. Open de app-selectie-instellingen voor precies het VPN-profiel waarmee je verbindt.
  3. Stel de basis in waarvan de betekenis “alleen geselecteerde apps gebruiken de VPN” is.
  4. Neem het bedoelde pakket op en laat ongerelateerde apps buiten de set.
  5. Verbind opnieuw zodat de client de interface met de nieuwe lijst opbouwt.

Het profiel is net zo belangrijk als het pakket. Een client kan meerdere profielen hebben, en app-selectie hoort bij het profiel waarmee je daadwerkelijk verbindt; een profiel bewerken dat je nooit gebruikt verandert niets. Op een beheerd apparaat is het werkprofiel een aparte gebruiker met zijn eigen app-kopie en eigen beleid, dus dat de persoonlijke instantie in de tunnel zit zegt niets over de werkinstantie.

Verbind opnieuw voordat je het resultaat beoordeelt

VpnService leest de applijsten wanneer de tunnelinterface tot stand komt. Een lopende tunnel neemt een lijstwijziging niet per se over, en clients verschillen erin of ze automatisch opnieuw opbouwen of wachten tot je de verbinding verbreekt en opnieuw verbindt.

Als de wijziging niets lijkt te doen, test dan de herverbinding voordat je aan de lijst twijfelt. Doe daarna een nieuwe aanvraag in plaats van een pagina te herladen die al open stond: een app die een bestaande verbinding vasthoudt is een slecht testobject, en het resultaat dat je ziet kan bij de oude interface horen.

Je werkstroom kan de app verlaten

Een app kan overdragen aan een browser voor aanmelding, aan een documentviewer of aan een deeldoel. Onder een alleen-opnemen-basis staan die helpers buiten de tunnel, dus een werkstroom kan halverwege mislukken ook al was de eerste app correct geconfigureerd. Neem de helper alleen op als de werkstroom hem echt nodig heeft, en voeg hem bewust toe in plaats van hem tijdens een demo te ontdekken.

App-selectie vervangt ook niet het routebeleid van de verbinding zelf. Het profiel moet nog steeds de bestemmingsprefixen en adresfamilies dragen die de app gebruikt, en de gateway moet de dienst nog steeds toestaan. Een correct vermelde app met een onbereikbare bestemming ziet er hetzelfde uit als een verkeerd geconfigureerde lijst.

Test beide kanten, schrijf het beleid dan op

Test één nieuwe aanvraag in de opgenomen app en één in een app die buiten moet blijven. Vergelijk het uitgangsadres en de toegang tot een privébron, en herhaal na een herverbinding. Als je organisatie Androids beleid gebruikt om verbindingen zonder VPN te blokkeren, kan een uitgesloten app helemaal geblokkeerd worden in plaats van direct te gaan; dat is het beleid dat werkt, geen fout om omheen te routeren.

Leg de modus vast, de pakketnamen met hun profiel, welke apps moeten omzeilen, welke adresfamilies de tunnel draagt en wat er moet gebeuren als de tunnel wegvalt. Als de client de werkstroom niet netjes kan uitdrukken, kies dan een bredere goedgekeurde app-set of een beheerd-profielbeleid in plaats van firewallregels op rootniveau te bewerken, wat geen deel is van Androids ondersteunde mechanisme per app.

Gerelateerde artikelen