Netko je izradio automatizaciju koja uključuje VPN kada se pojavi inkognito kartica, i ona ne radi pouzdano. Za to postoji strukturni razlog i vrijedi ga razumjeti prije podešavanja automatizacije. Android pravila VPN-a po aplikaciji odabiru pakete aplikacija, a inkognito je stanje unutar jednog paketa, pa pravilo ne može razlikovati njih dvoje. Obavijest se aktivira nakon što je preglednik već počeo raditi, pa čak i ispravan okidač stiže prekasno. Prođite kroz provjere u nastavku redom; neuspjeh na četvrtoj provjeri znači da treba promijeniti pristup, a ne konfiguraciju.

Prva provjera: potvrdite što pravilo po aplikaciji može odabrati

Android VPN aplikacija gradi svoj tunel s popisima dopuštenih ili zabranjenih aplikacija, a ti popisi primaju nazive paketa. Chrome u normalnom načinu i Chrome u inkognito načinu isti su paket, s istim korisničkim identifikatorom i istim mrežnim dopuštenjem, pa pravilo koje uključuje ili isključuje Chrome vrijedi za oba jednako. Platforma nema identitet vezan uz karticu s kojim bi se mogla usporediti.

To nije nedostatak koji treba zaobići; to je razina detalja koju API nudi. Ako je vaš zahtjev promet Chromea kroz tunel i sve ostalo izvan njega, pravilo po aplikaciji to izražava točno. Ako je vaš zahtjev da samo privatne kartice idu kroz tunel dok obične kartice idu izravno, nijedno pravilo po aplikaciji to ne može izraziti i nikakva količina logike obavijesti neće dodati birač koji platforma nema.

Pazite na zamku identiteta paketa tijekom provjere. Beta ili izdanje proizvođača drugi je paket od stabilnog preglednika, pa pravilo koje pokriva jedan tiho promašuje drugi:

adb shell pm list packages | grep -i chrome

Druga provjera: testirajte može li okidač ikada biti dovoljno ran

Promatrač obavijesti promatra obavijesti koje smije vidjeti. Promatranje nije presretanje: preglednik je već razriješio naziv i otvorio vezu dok obavijest postoji, i ništa na tom putu ne čeka da vaša automatizacija završi. Zadatak koji zatim pokreće VPN klijent mora čekati korisničko sučelje klijenta, eventualni upit za privolu i rukovanje tunela, što se mjeri u sekundama, dok se prvi zahtjev mjeri u milisekundama.

I sama detekcija je krhka zbog drugog razloga. Tekst obavijesti mijenja se između verzija i lokalizacija, pa uzorak usklađen s jednim izdanjem prestaje odgovarati nakon ažuriranja, a neuspjeh je tih. Obavijest koja nedostaje nije dokaz da privatno pregledavanje nije prisutno; može značiti samo da se niz promijenio ili da je kanal utišan.

Postoji legitimna inačica ovog tijeka rada i ona je uređena, a ne reaktivna: prvo spojite odobreni VPN, potvrdite signal spremnosti koji stvarno dokazuje da tunel prenosi promet, zatim otvorite inkognito sesiju putem podržanih kontrola preglednika i zaustavite se ako provjera spremnosti ne uspije. To štiti sesiju koju tek počinjete bez pretvaranja da štitite onu koja već radi.

Treća provjera: revidirajte dopuštenje koje ćete dati

Pristup obavijestima osjetljivo je dopuštenje koje usluzi omogućuje čitanje obavijesti svake aplikacije, ne samo preglednika. Dati ga nepoznatom alatu za automatizaciju radi promatranja jednog stanja preglednika loša je zamjena, a pristup ostaje i nakon završetka eksperimenta. Dodiri vođeni pristupačnošću još su gori: oni su skriptni sloj iznad sučelja, a ne podržano sučelje za upravljanje VPN-om, i pucaju pri svakoj promjeni izgleda.

Prije nego što bilo što dodijelite, pitajte je li isti ishod ostvariv podržanim mehanizmom. Ako je odgovor zahtjev politike, obično jest: platforma može provesti tunel za aplikaciju ili profil bez ikakve usluge slušanja.

Četvrta provjera: koristite uvijek uključeno i blokiranje kada je zahtjev provedba

Ako preglednik nikada ne smije komunicirati izvan tunela, provedba pripada postavkama platforme, a ne makrou. Android podržava uvijek uključen VPN s načinom blokiranja koji sprječava promet kada tunel nije uspostavljen, a upravljani uređaji mogu ga dobiti politikom. Potvrdite što uređaj sada ima umjesto da pretpostavljate:

adb shell settings get global always_on_vpn_app
adb shell settings get global always_on_vpn_lockdown

Vrijednost aplikacije koja nije null znači da je paket konfiguriran kao uvijek uključen, a vrijednost blokiranja 1 znači da su veze izvan tunela blokirane. Taj par pretvara naviku najboljeg truda u jamstvo i ujedno potpuno uklanja utrku, jer se tunel uspostavlja prije nego što je promet aplikacije dopušten.

Dvije granice vrijedi ovdje navesti. Radni profili imaju vlastitu VPN konfiguraciju, pa pravilo provjereno u osobnom profilu ne govori ništa o radnom. A zasebno instaliran preglednik, prilagođena kartica koju otvori druga aplikacija ili webview unutar aplikacije drugi je paket ili kontekst s vlastitim usmjeravanjem, pa provjerite stvarni paket umjesto da pretpostavite da je drugačije stiliziran prozor zasebna domena.

Peta provjera: zapišite tijek rada i testirajte put neuspjeha

Što god odabrali, dokumentirajte redoslijed i uvjet prekida. Za tijek pogodnosti to znači: tunel gore, spremnost dokazana, inkognito otvoren i tvrdi zastoj ako spremnost ne uspije. Za put provedbe to znači: uvijek uključena aplikacija konfigurirana, blokiranje omogućeno i očekivano ponašanje kada se tunel uopće ne može podići, a to je nikakav promet umjesto nezaštićenog prometa.

Zatim testirajte neuspjeh, ne samo uspjeh. Prekinite tunel tijekom sesije i pogledajte što preglednik radi; blokirajte proces VPN aplikacije i potvrdite da ništa ne curi. Na kraju, držite dva modela privatnosti odvojeno u korisničkoj dokumentaciji: inkognito kontrolira privremeno stanje preglednika i ne skriva promet od mreže, dok VPN prenosi promet ali ne briše prijave ni bilo što poslano unutar privatne sesije.

Povezani članci