Nekdo je zgradil avtomatizacijo, ki vklopi VPN, ko se pojavi incognito zavihek, in ne deluje zanesljivo. Za to obstaja strukturni razlog in vredno ga je razumeti pred nastavljanjem avtomatizacije. Androidova pravila VPN po aplikacijah izberejo pakete aplikacij, incognito pa je stanje znotraj enega paketa, zato pravilo ne more razlikovati obeh. Obvestilo se sproži po tem, ko je brskalnik že začel delati, zato tudi pravilen sprožilec prispe prepozno. Pojdite skozi spodnja preverjanja po vrsti; neuspeh pri četrtem preverjanju pomeni, da je treba spremeniti pristop, ne konfiguracije.

Prvo preverjanje: potrdite, kaj lahko pravilo po aplikacijah izbere

Aplikacija VPN za Android zgradi svoj tunel s seznami dovoljenih ali prepovedanih aplikacij, ti seznami pa sprejemajo imena paketov. Chrome v običajnem načinu in Chrome v incognito načinu sta isti paket z isto uporabniško identiteto in istim omrežnim dovoljenjem, zato pravilo, ki Chrome vključi ali izključi, velja za oba enako. Platforma nima identitete na ravni zavihka, s katero bi se lahko primerjala.

To ni napaka, ki bi se ji izognili; to je podrobnost, ki jo ponuja API. Če je vaša zahteva promet Chrome skozi tunel in vse ostalo zunaj, pravilo po aplikacijah to izrazi natančno. Če je vaša zahteva, da gredo skozi tunel le zasebni zavihki, običajni pa neposredno, nobeno pravilo po aplikacijah tega ne more izraziti in nobena količina logike obvestil ne bo dodala izbirnika, ki ga platforma nima.

Med preverjanjem bodite pozorni na past identitete paketa. Beta ali izdaja proizvajalca je drug paket kot stabilni brskalnik, zato pravilo, ki pokriva enega, tiho zgreši drugega:

adb shell pm list packages | grep -i chrome

Drugo preverjanje: preizkusite, ali je lahko sprožilec kdaj dovolj zgodnji

Poslušalec obvestil opazuje obvestila, ki jih sme videti. Opazovanje ni prestrezanje: brskalnik je ime že razrešil in povezavo odprl, ko obvestilo obstaja, in nič na tej poti ne čaka, da se vaša avtomatizacija konča. Naloga, ki nato zažene odjemalca VPN, mora počakati na vmesnik odjemalca, morebitno zahtevo za soglasje in rokovanje tunela, ki se merijo v sekundah, medtem ko se prva zahteva meri v milisekundah.

Tudi zaznavanje samo je krhko iz drugega razloga. Besedilo obvestila se spreminja med različicami in lokalizacijami, zato vzorec, usklajen z eno izdajo, po posodobitvi preneha ustrezati, napaka pa je tiha. Manjkajoče obvestilo ni dokaz, da zasebnega brskanja ni; lahko pomeni le, da se je niz spremenil ali da je bil kanal utišan.

Obstaja legitimna različica tega poteka dela in je urejena, ne reaktivna: najprej povežite odobreni VPN, potrdite signal pripravljenosti, ki resnično dokazuje, da tunel prenaša promet, nato odprite incognito sejo prek podprtih kontrolnikov brskalnika in se ustavite, če preverjanje pripravljenosti ne uspe. To zaščiti sejo, ki jo šele začenjate, brez pretvarjanja, da ščitite tisto, ki že teče.

Tretje preverjanje: pregledajte dovoljenje, ki ga nameravate podeliti

Dostop do obvestil je občutljivo dovoljenje, ki storitvi omogoča branje obvestil vsake aplikacije, ne le brskalnika. Podeliti ga neznanemu orodju za avtomatizacijo za nadzor enega stanja brskalnika je slaba menjava, dostop pa ostane tudi po koncu poskusa. Dotiki, ki jih vodi dostopnost, so še slabši: so skriptna plast nad vmesnikom, ne podprt vmesnik za nadzor VPN, in se zlomijo ob vsaki spremembi postavitve.

Preden kar koli podelite, vprašajte, ali je isti izid dosegljiv s podprtim mehanizmom. Če je odgovor zahteva politike, je običajno res: platforma lahko vsili tunel za aplikacijo ali profil brez kakršne koli službe, ki bi poslušala.

Četrto preverjanje: uporabite vedno vklopljeno in blokiranje, ko je zahteva uveljavljanje

Če brskalnik nikoli ne sme komunicirati zunaj tunela, uveljavljanje spada v nastavitve platforme, ne v makro. Android podpira vedno vklopljen VPN z načinom blokiranja, ki preprečuje promet, ko tunel ni vzpostavljen, upravljane naprave pa ga lahko dobijo s politiko. Potrdite, kaj ima naprava zdaj, namesto da bi predvidevali:

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

Neničelna vrednost aplikacije pomeni, da je paket nastavljen kot vedno vklopljen, vrednost blokiranja 1 pa pomeni, da so povezave zunaj tunela blokirane. Ta par spremeni navado najboljšega truda v jamstvo in tudi popolnoma odpravi tekmo, ker je tunel vzpostavljen, preden je promet aplikacije dovoljen.

Tu velja omeniti dve meji. Delovni profili imajo svojo konfiguracijo VPN, zato pravilo, preverjeno v osebnem profilu, ne pove ničesar o delovnem. In ločeno nameščen brskalnik, zavihek po meri, ki ga odpre druga aplikacija, ali webview znotraj aplikacije je drug paket ali kontekst z lastnim usmerjanjem, zato preverite dejanski paket, namesto da bi predpostavili, da je drugače oblikovano okno ločena domena.

Peto preverjanje: zapišite potek dela in preizkusite pot neuspeha

Kar koli izberete, dokumentirajte vrstni red in pogoj prekinitve. Za potek udobja to pomeni: tunel gor, pripravljenost dokazana, incognito odprt in trda zaustavitev, če pripravljenost ne uspe. Za pot uveljavljanja to pomeni: vedno vklopljena aplikacija nastavljena, blokiranje omogočeno in pričakovano vedenje, ko se tunel sploh ne more dvigniti, to je brez prometa namesto nezaščitenega prometa.

Nato preizkusite neuspeh, ne le uspeh. Med sejo prekinite tunel in opazujte, kaj počne brskalnik; blokirajte proces aplikacije VPN in potrdite, da nič ne uhaja. Na koncu imejte dva modela zasebnosti ločeno v uporabniški dokumentaciji: incognito nadzoruje začasno stanje brskalnika in ne skriva prometa pred omrežjem, medtem ko VPN prenaša promet, a ne izbriše prijav ali česar koli poslanega v zasebni seji.

Sorodni članki