Tasker: prisijunkite prie VPN prieš atverdami privatų URL
Tasker turėtų prisijungti ir palaukti prieš atverdamas privatų URL: apibrėžkite pasirengimą, naudokite kliento valdymo sąsają ir palaikykite nuolatinį ryšį kietai ribai.
Atverti privatų URL ir tikėtis, kad tunelis pakils pirmas, yra lenktynės, ir dažniausiai laimi naršyklė. Nuoroda, kuri reaguoja į jau įkeliamą puslapį, praleido DNS užklausą ir dažnai pirmąjį ryšį, o būtent tos dalies ir reikėjo VPN. Darbo eigą turi valdyti tvarką, o ne ją stebėti. Trys sąlygos nusprendžia, ar ši eiga apskritai priklauso Tasker.
Vienas įėjimo taškas turi valdyti seką
Duokite privačiai paslaugai vieną patvirtintą įėjimo tašką ir leiskite jam atlikti veiksmus iš eilės. Patikrinkite paskirties vietą, pasirinkite numatytą profilį, paprašykite ryšio, palaukite pasirengimo rezultato su apribojimu, kiek lauksite, ir tik tada atidarykite URL. Jei kuri nors veiksmas nepavyksta, sustokite ir pasakykite tai, o ne pereikite prie tiesioginio atidarymo.
Būtent šios paskutinės sąlygos žmonės ir praleidžia. Eiga, kuri vis tiek atidaro URL pasibaigus laikui, yra blogesnė už jokią automatizaciją, nes sukuria užklausą, kuri atrodo kaip nepavykęs VPN, nors jo niekada nenaudojo.
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
Aukščiau pateiktas numeruotas sąrašas yra sutartis, o ne eksportuotas profilis. Kiekvienas klientas savo valdymo paviršių įgyvendina skirtingai, o kai kurie reikalauja papildinio, aiškaus valdymo leidimo arba vienkartinio naudotojo sutikimo, kurio jokia automatizacija negali suteikti.
Prisijungta nėra tas pats kaip pasirengta
Būsena, kuri sako, kad tunelis pradėjo veikti įrodo, kad klientas priėmė užklausą. Ji neįrodo, kad sprendėjas dabar grąžina privačius adresus arba kad numatyta paslauga pasiekiama. Tai atskiri rezultatai, ir tarpas tarp jų yra vieta, kur per anksti atidaranti nuoroda tyliai nepavyksta. Klientas praneša apie savo būseną, o ne apie kelio, kurį naudos URL, būseną.
Apibrėžkite pasirengimą pagal tai, ką eiga gali stebėti. Kliento ryšio būsena, iš numatomo diapazono išspręstas adresas arba konkrečios paslaugos pasiekiamumo patikra visi tinka, jei patikra negali grįžti į įprastą tinklo kelią. Patikra, kuri pavyksta įprastu maršrutu, jums nieko nesako.
Apribokite laukimą. Pasirengimo sąlyga be laiko limito paverčia sugedusį profilį kabančia nuoroda, o naudotojai tai praneša kaip užšalusį telefoną, o ne kaip VPN problemą.
Ką Tasker gali ir ko negali
Tasker tiekia klijus: paleidiklį, tvarkingą veiksmų sąrašą, sąlygas ir URL veiksmą. Jo URL atidarymo veiksmas atlieka tik atidarymo žingsnį ir nieko daugiau. Prisijungimo žingsnis turi ateiti iš VPN kliento per papildinį, intent arba atvirą paslaugą, kurią klientas dokumentuoja ir leidžia.
Pavyzdžiui, OpenVPN for Android dokumentuoja nuotolinio valdymo sąsają, sukurtą ant AIDL ir intent. Tai to kliento galimybė, o ne licencija bet kuriai įrenginio užduočiai jį valdyti. Suteikite valdymą tik tam programėlei, kurią numatote, nes automatizacijos sluoksnis, galintis prijungti ir atjungti tunelį, yra valdymo paviršius, kurį verta saugoti.
Jei įdiegtas klientas neatskleidžia jokio palaikomo valdymo mechanizmo, sąžiningas atsakymas yra toks: šios eigos negalima sukurti ant to kliento. Sena funkcijų palyginimo puslapis nėra telefono versijos galimybių specifikacija.
Kada riba turi būti privaloma
Automatizacija yra patogumas, o patogumas negali įtvirtinti saugumo ribos. Jei reikalavimas yra, kad apimtos programėlės niekada nekomunikuotų be VPN, naudokite platformos nuolatinio VPN ir blokavimo nustatymą arba lygiavertę valdomą konfigūraciją. Naršyklės įvykis, įvykstantis prasidėjus navigacijai, negali pakeisti to įtvirtinimo, kad ir kaip kruopščiai užduotis būtų sudėliota.
Nuspręskite, ką statote. Nuoroda, kuri pirmiausia prisijungia ir tada atidaro, yra naudinga ir tai nėra garantija. Valdomas įrenginys su įjungtu blokavimu yra garantija, ir jam visiškai nereikia Tasker sekos.
| 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 |
Išbandykite tris baigtis, o ne vieną
Paleiskite eigą su sėkmingu ryšiu, tyčiniu laiko limitu ir įprastu pakartotiniu prisijungimu po tunelio kritimo. Laiko limito atvejis atskleidžia, ar seka tikrai sustoja, o pakartotinio prisijungimo atvejis atskleidžia, ar pasirengimas tikrinamas, ar tik numanomas iš ankstesnės sėkmės. Pirmiausia paleiskite laiko limito atvejį, nes eiga, kuri ignoruoja nesėkmę, neverta būti tikrinama sėkmei.
Leiskite tik patvirtinto sąrašo paskirties vietas ir prieš atidarydami patikrinkite bet kurią nuorodą, ateinančią iš išorės. Užduotis, kuri priima savavališkas nuorodas, virsta būdu paleisti netikėtas schemas, o taip pasiekta privati administravimo puslapis yra blogesnis rezultatas nei nepavykusi nuoroda.
Užsirašykite profilį, pasirengimo sąlygą ir laiko limitą šalia užduoties. Kitas žmogus, kuris pakeis VPN klientą, turės visus tris, ir nė vienas jų nesimato nuorodos piktogramoje.