Zašto podijeljeno tuneliranje ne pokriva ažuriranja tvoje aplikacije
Aplikacija koju si izuzela nije uvijek proces koji preuzima ažuriranja. Nađi vlasnika prijenosa, zadrži provjeru ažuriranja i testiraj preuzimanje paketa.
Dodaješ aplikaciju na popis izuzetaka podijeljenog tuneliranja, aplikacija dolazi na internet izravno, a ažuriranja i dalje ne prolaze ili se i dalje vuku kroz tunel. Izuzetak je uspio. Samo je pokrio drugi proces od onoga koji obavlja preuzimanje, jer suvremeni ažurator rijetko je isti izvršni fajl kao prozor aplikacije.
Mit: izuzimanje aplikacije izuzima njezin promet
Podijeljeno tuneliranje po aplikaciji povezuje proces, paket ili putanju aplikacije, zavisno od platforme. Ono ne povezuje brend, značajku ni namjeru korisnika. Kad aplikacija preda preuzimanje pomoćniku, zajedničkoj platformskoj usluzi ili komponenti preglednika, taj pomoćnik ima vlastiti identitet i vlastitu putanju kroz tunel. Popis izuzetaka nema pojma da dva procesa pripadaju istom proizvodu. Zna samo koji si od njih navela.
Dakle pravilo radi točno ono što mu je rečeno. Pretpostavka o tome kome pripada prijenos bila je pogrešna, a popravak počinje prepoznavanjem tog vlasnika umjesto dodavanjem novih izuzetaka.
Nađi vlasnika prijenosa
Na Androidu ažuriranje može preuzeti zajednički servisni paket, a ne paket aplikacije koji si izuzela, i VPN pravilo po aplikaciji primjenjuje se na paket koji otvara socket. Na Windowsu servis za ažuriranje može raditi pod drugom izvršnom putanjom od aplikacije, pa pravilo koje odgovara putanji aplikacije njega promašuje. Na macOS-u privilegovani pomoćnik ili sistemski demon za ažuriranja može obaviti prijenos dok aplikacija samo traži da se on obavi.
Prepoznaj vlasnika na temelju dokaza: prikaza mrežne aktivnosti platforme, snimke paketa filtrirane po procesu ili dokumentacije proizvođača koja imenuje komponentu za ažuriranje. Pogađanje na temelju naziva procesa vodi tome da se dvije slične binarne datoteke zamijene i da se izuzme pogrešna.
Sustavi za ažuriranje često i podijele posao. Mali zahtjev za metapodacima provjerava verziju, a mnogo veće preuzimanje paketa ide na host za dostavu sadržaja ili na drugu domenu. Provjera metapodataka može uspjeti kroz tunel dok prijenos paketa zapinje na hostu koji tunel usmjerava drugačije. Ta podjela objašnjava zbunjujuće izvješće u kojem se ažuriranja otkriju ali nikada ne instaliraju. Testiraj samo preuzimanje paketa, s istog uređaja i iste mreže, umjesto da testiraš otvara li se aplikacija.
Provjera preživljava promjenu rute
Promjena rute ne zamjenjuje TLS, identitet izdavača ni provjeru potpisa paketa. Ne isključuj te provjere zato što preuzimanje uspijeva samo nakon što prođeš neobjašnjeno upozorenje o certifikatu. Upozorenje koje se pojavljuje samo na izuzetoj ruti je nalaz, a ne prepreka. Istraži ga prije nego proširiš zaobilaznicu.
Na upravljanom uređaju zatraži podržani izuzetak umjesto da dodaš široko pravilo za svaku sistemsku uslugu. Pravilo koje izuzima sve zajedničke usluge da bi popravilo jedan ažurator proširuje zaobilaznicu daleko iznad prvotnog zahtjeva.
Testiraj ažuriranje, zatim dokumentiraj vlasnika
Ponovno se poveži nakon promjene i ponovno provjeri primijenjeno pravilo, jer neki klijenti obnavljaju svoje usmjeravanje kada se tunel ponovno poveže. Provedi jedan puni ciklus ažuriranja: provjera, preuzimanje, verifikacija i instalacija. Uspješna provjera dokazuje najmanji dio putanje.
Zabilježi vlasnika prijenosa, odredišne hostove i predviđenu rutu na isto mjesto kao i pravilo podijeljenog tuneliranja. Inače će sljedeća promjena mehanizma ažuriranja tiho poništiti izuzetak, a osoba koja ga naslijedi neće imati načina saznati za koji je proces pravilo napisano.