Tasker: pripojte VPN pred otvorením súkromnej URL
Tasker by sa mal pripojiť a počkať pred otvorením súkromnej URL: definujte pripravenosť, použite riadiace rozhranie klienta a udržiavajte trvalé pripojenie pre tvrdú hranicu.
Otvoriť súkromnú URL a dúfať, že tunel vstane prvý, je pretek a zvyčajne vyhrá prehliadač. Skratka, ktorá reaguje na už načítavanú stránku, minula vyhľadanie DNS a často prvé spojenie, čo je práve tá časť, ktorá VPN potrebovala. Pracovný postup musí vlastniť poradie, nie ho pozorovať. O tom, či tento postup vôbec patrí do Taskeru, rozhodujú tri podmienky.
Jeden vstupný bod má vlastniť sled krokov
Dajte súkromnej službe jediný schválený vstupný bod a nechajte tento bod vykonať kroky v poradí. Overte cieľ, vyberte zamýšľaný profil, vyžiadajte spojenie, počkajte na výsledok pripravenosti s obmedzením, ako dlho budete čakať, a až potom otvorte URL. Ak ktorýkoľvek krok zlyhá, zastavte sa a povedzte to, namiesto prechodu na priame otvorenie.
Práve túto poslednú klauzulu ľudia preskakujú. Postup, ktorý URL aj tak otvorí po vypršaní času, je horší než žiadna automatizácia, pretože vytvára požiadavku, ktorá vyzerá ako zlyhaná VPN, hoci žiadnu nepoužil.
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
Číslovaný zoznam vyššie je zmluva, nie exportovaný profil. Každý klient implementuje svoju riadiacu plochu inak a niektoré vyžadujú plugin, výslovné povolenie na riadenie alebo jednorazový súhlas používateľa, ktorý žiadna automatizácia nedokáže poskytnúť.
Pripojené nie je to isté ako pripravené
Stav, ktorý hovorí, že tunel sa spustil dokazuje, že klient požiadavku prijal. Nedokazuje, že resolver teraz vracia súkromné adresy alebo že zamýšľaná služba je dostupná. To sú oddelené výsledky a medzera medzi nimi je miesto, kde skratka, ktorá otvára príliš skoro, ticho zlyháva. Klient hlási svoj vlastný stav, nie stav cesty, ktorú URL použije.
Definujte pripravenosť voči niečomu, čo postup dokáže pozorovať. Stav spojenia od klienta, preložená adresa z očakávaného rozsahu alebo sonda dostupnosti ku konkrétnej službe fungujú, ak sonda nemôže spadnúť späť na bežnú sieťovú cestu. Sonda, ktorá uspeje cez normálnu trasu, vám nič nehovorí.
Obmedzte čakanie. Podmienka pripravenosti bez časového limitu mení pokazený profil na skratku, ktorá visí, a používatelia to hlásia ako zamrznutie telefónu, nie ako problém s VPN.
Čo Tasker dokáže a čo nie
Tasker dodáva lepidlo: spúšťač, usporiadaný zoznam akcií, podmienky a akciu URL. Jeho akcia otvorenia URL vykonáva iba krok otvorenia a nič iné. Krok pripojenia musí prísť od klienta VPN, cez plugin, intent alebo vystavenú službu, ktorú klient dokumentuje a povoľuje.
OpenVPN for Android napríklad dokumentuje rozhranie na vzdialené ovládanie postavené na AIDL a intentoch. To je schopnosť toho klienta, nie licencia pre akúkoľvek úlohu v zariadení ho riadiť. Udeľujte riadenie iba aplikácii, ktorú zamýšľate, pretože vrstva automatizácie, ktorá dokáže pripojiť a odpojiť tunel, je riadiaca plocha, ktorú stojí za to chrániť.
Ak nainštalovaný klient nevystavuje žiadny podporovaný mechanizmus riadenia, úprimná odpoveď je, že tento postup na tom klientovi nemožno postaviť. Stará stránka porovnávajúca funkcie nie je špecifikácia schopností pre verziu v telefóne.
Keď musí byť hranica povinná
Automatizácia je pohodlie a pohodlie nemôže vynútiť bezpečnostnú hranicu. Ak je požiadavka, aby sa zahrnuté aplikácie nikdy nedorozumievali bez VPN, použite nastavenie trvalej VPN a blokovania platformy alebo ekvivalentnú spravovanú konfiguráciu. Udalosť prehliadača, ktorá sa spustí po začatí navigácie, nemôže toto vynútenie nahradiť, nech je úloha akokoľvek starostlivo usporiadaná.
Rozhodnite sa, čo staviate. Skratka, ktorá sa najprv pripojí a potom otvorí, je užitočná a nie je zárukou. Spravované zariadenie so zapnutým blokovaním je zárukou a sled Taskeru vôbec nepotrebuje.
| 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 |
Vyskúšajte tri výsledky, nie jeden
Spustite postup proti úspešnému spojeniu, úmyselnému vypršaniu času a bežnému opätovnému pripojeniu po páde tunela. Prípad vypršania odhaľuje, či sa sled skutočne zastaví, a prípad opätovného pripojenia odhaľuje, či sa pripravenosť kontroluje alebo iba predpokladá z predchádzajúceho úspechu. Spustite najprv prípad vypršania, pretože postup, ktorý ignoruje zlyhanie, nemá zmysel testovať na úspech.
Povoľte iba ciele zo schváleného zoznamu a každý odkaz, ktorý prichádza zvonku, pred otvorením skontrolujte. Úloha, ktorá prijíma ľubovoľné odkazy, sa mení na spôsob spúšťania neočakávaných schém, a súkromná administratívna stránka dosiahnutá takto je horší výsledok než neúspešná skratka.
Zapíšte profil, podmienku pripravenosti a časový limit vedľa úlohy. Nasledujúci človek, ktorý zmení klienta VPN, bude potrebovať všetky tri, a žiadny z nich nie je vidieť z ikony skratky.