Neko je napravio automatizaciju koja uključuje VPN kada se pojavi inkognito kartica i ona ne radi pouzdano. Razlog je strukturni i vrijedi ga razumjeti prije podešavanja automatizacije: Android pravila po aplikacijama biraju pakete aplikacija, a inkognito je stanje unutar jednog paketa. Pravilo ne može razlikovati to dvoje. Obavještenje dolazi tek nakon što je preglednik počeo raditi, pa i ispravan okidač stiže prekasno. Prođite kroz pet provjera po redu; neuspjeh na četvrtoj znači da se mora promijeniti pristup, a ne postavke.

Prva provjera: šta pravilo može izabrati

Aplikacija VPN gradi tunel iz lista dozvoljenih ili zabranjenih aplikacija, a ti listovi uzimaju nazive paketa. Chrome u normalnom režimu i Chrome u inkognito režimu su isti paket, s istim korisničkim identitetom i istom mrežnom dozvolom, pa pravilo koje uključuje ili isključuje Chrome djeluje na oba isto. Platforma nema identitet na razini kartice s kojim bi se mogla upariti.

To nije nedostatak koji treba zaobići; to je preciznost koju API nudi. Ako vam treba promet Chromea unutar tunela, a sve ostalo izvan njega, pravilo po aplikaciji izražava upravo to. Ako vam trebaju samo privatne kartice unutar tunela dok obične idu direktno, nijedno pravilo po aplikaciji to ne može izraziti i nikakva logika obavještenja ne dodaje selektor koji platforma nema.

Pazite na zamku identiteta paketa: beta ili verzija dobavljača je drugi paket od stabilnog preglednika, pa pravilo koje pokriva jedan tiho promašuje drugi:

adb shell pm list packages | grep -i chrome

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

Slušalac obavještenja promatra obavještenja koja smije vidjeti. Promatranje nije presretanje: dok obavještenje postoji, preglednik je već razriješio ime i otvorio vezu, i ništa na tom putu ne čeka vašu automatizaciju. Zadatak koji zatim pokreće VPN klijent mora čekati sučelje klijenta, eventualni upit za pristanak i rukovanje tunela, što se mjeri sekundama, dok se prvi zahtjev mjeri milisekundama.

Otkrivanje je krhko i zbog drugog razloga. Tekst obavještenja mijenja se između verzija i lokalizacija, pa uzorak koji odgovara jednom izdanju prestaje odgovarati nakon ažuriranja, a neuspjeh je tih. Obavještenje koje nedostaje nije dokaz da privatnog pregledanja nema; može značiti samo da se niz promijenio ili da je kanal utišan.

Postoji legitiman oblik ovog toka rada i on je uređen, a ne reaktivan: prvo povežite odobreni VPN, potvrdite signal spremnosti koji stvarno dokazuje da tunel nosi promet, zatim otvorite inkognito sesiju kroz podržane kontrole preglednika i zaustavite se ako provjera spremnosti ne uspije. To štiti sesiju koju ćete tek započeti, bez pretvaranja da štitite onu koja već traje.

Treća provjera: provjerite dozvolu koju ćete dati

Pristup obavještenjima osjetljiva je dozvola koja servisu omogućava čitanje obavještenja svake aplikacije, ne samo preglednika. Dati je nepoznatom alatu za automatizaciju da nadzire jedno stanje preglednika loša je razmjena, a pristup ostaje i nakon završetka eksperimenta. Dodiri vođeni pristupačnošću još su gori: to je sloj skripti nad sučeljem, a ne podržano upravljanje VPN-om, i svaka promjena rasporeda ih slomi.

Prije nego što bilo šta date, pitajte može li se isti ishod postići podržanim mehanizmom. Ako je odgovor zahtjev politike, obično može: platforma može nametnuti tunel za aplikaciju ili profil bez ikakve usluge slušanja.

Četvrta provjera: koristite uvijek uključeno i blokiranje kada je potrebna prisila

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

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

Neprazna vrijednost aplikacije znači da je paket postavljen kao uvijek uključen, a vrijednost zaključavanja 1 znači da su veze izvan tunela blokirane. Par pretvara naviku najboljeg napora u garanciju i potpuno uklanja trku, jer se tunel uspostavlja prije nego što se dopusti promet aplikacija.

Ovdje su važne dvije granice. Radni profili imaju vlastitu VPN konfiguraciju, pa pravilo provjereno u ličnom profilu ne govori ništa o radnom. A odvojeno instaliran preglednik, prilagođena kartica koju otvori druga aplikacija ili web prikaz unutar aplikacije drugi je paket ili kontekst s vlastitim usmjeravanjem, pa provjerite stvarni paket umjesto da pretpostavljate da je drugačije stiliziran prozor zasebna domena.

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

Šta god odabrali, dokumentirajte red i uslov zaustavljanja. Za tok rada udobnosti to znači: tunel podignut, spremnost dokazana, inkognito otvoren i tvrdo zaustavljanje ako spremnost ne uspije. Za put prisile to znači: uvijek uključena aplikacija postavljena, zaključavanje uključ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 tokom sesije i gledajte šta preglednik radi; blokirajte proces VPN aplikacije i potvrdite da ništa ne curi. Na kraju, držite dva modela privatnosti odvojeno u dokumentaciji: inkognito kontrolira privremeno stanje preglednika i ne skriva promet od mreže, dok VPN nosi promet ali ne briše prijave ni bilo šta poslano unutar privatne sesije.

Povezani članci