Sikkerhetsbryteren er på, en app er bevisst utelukket fra tunnelen, og de to kravene motsier hverandre nå. Det ene sier at ingenting får gå ut utenom tunnelen, det andre sier at dette programmet må gå direkte. Hver klient løser den konflikten ulikt, og innstillingssiden forklarer sjelden hvilken regel som vinner. Skriv politikken per applikasjon før du stoler på en etikett.

To politikker, én maskin

En sikkerhetsbryter er et løfte om feil: når tunnelen ikke beskytter trafikken, stopper trafikken. Delt tunnelering er et løfte om utvalg: disse programmene eller destinasjonene bruker tunnelen, og de andre gjør det ikke. Det andre løftet skaper trafikk som det første må ta stilling til. Ingen av løftene er feil; de ble bare skrevet av ulike mennesker for ulike trusler.

Tre utfall er mulige, og bare ett av dem er det utrullingen mente. Den utelukkede appen kan forbli direkte under et avbrudd, noe som respekterer delingen og bryter sikkerhetsbryteren. Den kan bli blokkert sammen med alt annet, noe som respekterer sikkerhetsbryteren og bryter delingen. Eller den kan bli blokkert bare av og til, avhengig av hvordan plattformen vurderer regelen etter at et grensesnitt forsvinner. Det siste tilfellet er det som genererer saker.

Skriv applisten før regelen

List opp programmene som må bruke tunnelen, de som må gå direkte, og navnene eller destinasjonene som aldri må forekomme på noen av listene. Ta med resolvoppførsel og IPv6-siden separat, fordi begge kan følge en annen politikk enn sidetrafikk.

Regler per app treffer vanligvis en kjørbar fil eller en pakke, ikke en profil inne i den. En nettleserprofil, et privat vindu og en utvidelse bærer ingen egen nettverksidentitet, så de arver det prosessen fikk. En hjelpeprosess startet av den nettleseren arver kanskje ikke samme regel i det hele tatt.

Det trengs to lister, ikke én: hva tunnelen skal bære, og hva som ikke under noen omstendighet skal reise utenfor den. Et program som står på begge, er en kravkonflikt og ikke en implementasjonsdetalj, og den må avklares før klienten konfigureres.

Hva klienten gjør under et avbrudd

Noen implementasjoner blokkerer utelukkede apper under et avbrudd og gjenoppretter tilgangen ved gjenoppkobling. Andre beholder den direkte veien hele tiden, noe som er konsistent med delingen og svakere som sikkerhetsegenskap. Låsing på plattformnivå kan overstyre klientens eget valg per app fullstendig. Den forskjellen er ikke kosmetisk, fordi den avgjør om den utelukkede appen er et politikkunntak eller et hull.

Androids alltid på VPN med alternativet for å blokkere tilkoblinger uten VPN er det klareste tilfellet, fordi plattformen håndhever låsingen og ikke klienten, og en utelukket pakke blokkeres sammen med alt annet mens tunnelen er nede. En skrivebordsklient som bruker unntak per app i sin egen driver, lar vanligvis den utelukkede prosessen bli på det fysiske grensesnittet, fordi den aldri eide den prosessens trafikk. Begge oppførselene er forsvarlige, og bare én av dem passer til et krav om at den utelukkede appen må forbli brukbar. Spør hvilken komponent som håndhever regelen før du tolker resultatet.

Les oppførselen for operativsystemet foran deg, ikke innstillingen med samme navn andre steder. Håndhevelses-API-ene er forskjellige, og en avkrysningsboks kan bety strengt forskjellige ting på en datamaskin og på en telefon. Versjonen betyr også noe, fordi låskontrollen har flyttet seg mellom skjermer gjennom Android-utgivelser, og en unntaksliste på klientsiden er ikke samme kontroll som en plattformlåsing.

Tre øyeblikk: tunnel oppe, tunnel nede, gjenoppkoblet

Bruk ufarlige forespørsler på tre tidspunkter: mens tunnelen virker, under avbruddet du bryr deg om, og etter gjenoppkobling. Ett nettleserresultat kan ikke fastslå oppførselen til den utelukkede appen.

curl -sS --max-time 8 https://api.ipify.org
curl -sS --max-time 8 --interface tun0 https://api.ipify.org
dig +short example.com

Utgangsadressen viser hvilken vei som ble valgt, og den eksplisitte grensesnitttesten viser hva som skjer når tunnelen er den eneste tilgjengelige utgangen. Noter forventet resultat ved hver linje før du kjører noen av dem, ellers blir utdata tolket i ettertid.

Hvis en utelukket app går offline, undersøk politikkprioriteten før du legger til en bred brannmur-tillatelse, fordi den rettelsen ødelegger forskjellen du testet. Hvis den forblir direkte, bekreft at det var det dokumenterte unntaket og ikke en tilfeldig tilbakefall. Ved et strengt krav for hele enheten, forkort unntakslisten til den kan testes manuelt.

Relaterte artikler