Tasker: poveži VPN pre otvaranja privatnog URL-a
Tasker treba da se poveže i sačeka pre otvaranja privatnog URL-a: definiši spremnost, koristi klijentov interfejs za upravljanje i drži stalnu vezu za tvrdu granicu.
Otvaranje privatnog URL-a i nada da će tunel prvi oživeti jeste trka, a pregledač obično pobeđuje. Prečica koja reaguje na stranicu koja se već učitava propustila je DNS upit i često prvu vezu, a upravo je tom delu trebao VPN. Radni tok mora da poseduje redosled umesto da ga posmatra. Tri uslova odlučuju da li ovaj tok uopšte pripada Tasker-u.
Jedna ulazna tačka treba da poseduje sled
Daj privatnoj usluzi jednu odobrenu ulaznu tačku i pusti tu tačku da izvede korake po redu. Proveri odredište, izaberi nameravani profil, zatraži vezu, sačekaj rezultat spremnosti sa ograničenjem koliko dugo ćeš čekati, i tek onda otvori URL. Ako bilo koji korak ne uspe, zaustavi se i reci to umesto da pređeš na direktno otvaranje.
Baš tu poslednju klauzulu ljudi preskaču. Radni tok koji ipak otvori URL kada vreme istekne gori je od nikakve automatizacije, jer stvara zahtev koji izgleda kao neuspeli VPN, a nikada ga nije koristio.
1. validate destination against the approved list
2. select the intended VPN profile
3. request connection through the client's supported interface
4. wait for readiness, maximum 20 seconds
5. open the URL only if readiness succeeded
6. on timeout, stop and report
Numerisana lista iznad je ugovor, a ne izvezeni profil. Svaki klijent drugačije ostvaruje svoju upravljačku površinu, a neki zahtevaju dodatak, izričitu dozvolu za upravljanje ili jednokratni pristanak korisnika koji nijedna automatizacija ne može da pruži.
Povezano nije isto što i spremno
Status koji kaže da je tunel pokrenut dokazuje da je klijent prihvatio zahtev. Ne dokazuje da razrešivač sada vraća privatne adrese ili da je nameravana usluga dostupna. To su odvojeni rezultati, a jaz između njih je mesto gde prečica koja otvara prerano tiho pada. Klijent izveštava o svom stanju, a ne o stanju puta koji će URL koristiti.
Definiši spremnost prema nečemu što radni tok može da posmatra. Stanje veze od klijenta, razrešena adresa iz očekivanog opsega ili provera dostupnosti konkretne usluge sve rade, pod uslovom da provera ne može da se vrati na uobičajeni mrežni put. Provera koja uspe preko normalne rute ne govori ti ništa.
Ograniči čekanje. Uslov spremnosti bez vremenskog ograničenja pretvara pokvaren profil u prečicu koja visi, a korisnici to prijavljuju kao zamrzavanje telefona, a ne kao problem sa VPN-om.
Šta Tasker može, a šta ne može
Tasker daje lepak: okidač, uređenu listu radnji, uslove i radnju za URL. Njegova radnja otvaranja URL-a izvodi samo korak otvaranja i ništa drugo. Korak povezivanja mora da dođe od VPN klijenta, preko dodatka, intent-a ili izložene usluge koju klijent dokumentuje i dozvoljava.
OpenVPN for Android, na primer, dokumentuje interfejs za daljinsko upravljanje izgrađen na AIDL-u i intent-ima. To je mogućnost tog klijenta, a ne licenca da njime upravlja bilo koji zadatak na uređaju. Daj kontrolu samo aplikaciji koju nameravaš, jer sloj automatizacije koji može da poveže i prekine tunel jeste upravljačka površina koju vredi zaštititi.
Ako instalirani klijent ne izlaže nijedan podržani mehanizam upravljanja, iskren odgovor je da se ovaj radni tok ne može izgraditi na tom klijentu. Stara stranica za poređenje funkcija nije specifikacija mogućnosti za verziju na telefonu.
Kada granica mora biti obavezna
Automatizacija je pogodnost, a pogodnost ne može da nametne bezbednosnu granicu. Ako je zahtev da obuhvaćene aplikacije nikada ne komuniciraju bez VPN-a, koristi podešavanje stalnog VPN-a i blokiranja platforme ili ekvivalentnu upravljanu konfiguraciju. Događaj pregledača koji se aktivira posle početka navigacije ne može da zameni to nametanje, koliko god zadatak bio pažljivo uređen.
Odluči šta gradiš. Prečica koja se prvo poveže pa otvori korisna je i nije garancija. Upravljani uređaj sa uključenim blokiranjem jeste garancija i uopšte mu ne treba Tasker sled.
| Requirement | Mechanism |
|---|---|
| Open the page after the tunnel is ready | Ordered task with a bounded readiness wait |
| Never allow traffic outside the tunnel | Always-on VPN with blocking, or managed policy |
| Only some apps use the tunnel | Per-app VPN or work-profile scope |
| Different URL every time | Validate the input before opening it |
Prođi kroz tri ishoda, a ne jedan
Pokreni radni tok protiv uspešne veze, namernog isteka vremena i običnog ponovnog povezivanja nakon pada tunela. Slučaj isteka vremena otkriva da li se sled zaista zaustavlja, a slučaj ponovnog povezivanja otkriva da li se spremnost proverava ili se samo pretpostavlja iz prethodnog uspeha. Prvo pokreni slučaj isteka vremena, jer radni tok koji ignoriše neuspeh nije vredan testiranja na uspeh.
Dozvoli samo odredišta sa odobrene liste i proveri svaku vezu koja dolazi spolja pre nego što je otvoriš. Zadatak koji prihvata proizvoljne veze pretvara se u način za pokretanje neočekivanih šema, a privatna administratorska stranica do koje se tako dođe gori je ishod od neuspelog prečaca.
Zapiši profil, uslov spremnosti i vremensko ograničenje pored zadatka. Sledećoj osobi koja promeni VPN klijent trebaće sva tri, a nijedno od njih nije vidljivo sa ikone prečaca.