Prekidač za pojedinačne aplikacije nasuprot zaključavanju cijelog uređaja: šta se mijenja
Odlučite po zaštićenom skupu, ne po oznaci: šta se zaustavlja za isključene aplikacije, pozadinske pomoćnike i nove veze i kako testirati svaki slučaj.
Prekidač za pojedinačne aplikacije zvuči kao pažljiv izbor: samo radni klijent izgubi mrežu kada tunel padne, a sve ostalo nastavi raditi. Zatim neko primijeti da je lični preglednik ipak učitao stranicu, pomoćnik za sinhronizaciju iz istog paketa nastavio je pokušavati, a keširano ime se i dalje razrješavalo na adresu koja nikada nije dotakla tunel. Oznaka na funkciji i skup veza koje ona zaista štiti dvije su različite stvari. Prvo utvrdite zaštićeni skup, jer taj skup odlučuje da li je izvršavanje po aplikaciji ili zaključavanje cijelog uređaja iskren opis.
Počnite od skupa, ne od oznake
Politika po aplikaciji štiti odabrane aplikacije. Zaključavanje uređaja cilja na širu mrežnu granicu, obično s dokumentovanim izuzecima za lokalno štampanje, upravljački saobraćaj ili captive portale. Nijedna oznaka nije potpuna dok ne možete odgovoriti na tri pitanja: šta se dešava s isključenim aplikacijama, šta se dešava s pomoćnicima koje te aplikacije pokreću i šta se dešava s vezama otvorenim dok zaštita nije dostupna.
Zapišite te odgovore prije nego što dotaknete postavku klijenta. Ako je zahtjev "ovaj klijent za obračun plaća nikada ne smije komunicirati s internetom izvan tunela, a moj preglednik smije", skup je mali i izvršavanje po aplikaciji odgovara. Ako je zahtjev "ništa na ovom uređaju ne doseže internet bez zaštite, osim servisa za ažuriranje", nijedna politika po aplikaciji to neće proizvesti, jer su aplikacije koje niste imenovali upravo problem.
Izvršavanje po aplikaciji poklapa identifikatore, ne nazive programa
Android izlaže VPN po aplikaciji kroz pakete, a njegova dokumentacija VpnService opisuje kako se to odnosi na rad sa stalnim uključivanjem i blokiranje. iOS konfiguriše VPN po aplikaciji kroz upravljački profil i poklapa po aplikaciji ili po domeni. Windows i Linux uopšte nemaju rutu po procesu, pa se ista ideja približava pravilom firewall-a ograničenim na program ili pravilom koje se poklapa s vlasnikom korisnikom.
Granica je identifikator, a identifikatore je lako zaobići. Aplikacija koja preda URL sistemskom pregledniku ili otvori dokument u pregledaču prelazi u proces koji vaša politika nikada nije imenovala. Opcija prekida pri padu takođe nije filter paketa: ona ubija aplikaciju koju ste konfigurisali, dok podređeni proces, radnik reda ili kartica preglednika mogu održati postojeći socket živim.
Zaključavanje pokriva ono što politika po aplikaciji ne može vidjeti
Zaključavanje cijelog uređaja uklanja izbor. Svaki odlazni paket koji ne pripada tunelu se odbacuje, uključujući saobraćaj procesa za koje vaša politika aplikacija nikada nije znala. Na Androidu je to VPN sa stalnim uključivanjem u kombinaciji s postavkom blokiranja veza, a izvršavanje se dešava u sistemu, ne u prozoru klijenta. Na desktopu je to trajno pravilo firewall-a ili podrazumijevana ruta usmjerena na nedostupni gateway.
Cijena je da sve ostalo staje, pa izuzeci postaju dio dizajna, a ne naknadna misao. Lokalni štampači, otkrivanje servisa, prijava na captive portale, upravljački agenti i OS ažuriranja svaki treba dokumentovanu rupu, jer je svaki put koji ostaje otvoren kada tunel ne radi. Zaključavanje je samo onoliko jako koliko je najkraći unos na tom spisku.
DNS, IPv6 i pozadinski pomoćnici skrivaju curenja
To što zaštićena aplikacija ne uspije razriješiti ime ne dokazuje da su keširani odgovori ili direktan IP saobraćaj blokirani. Ako je razrješivač i dalje dostupan izvan tunela, ime se razriješi, a veza ne uspije, što izgleda kao ispravan prekidač i nije. Gore: keširani zapis može pokazivati na adresu koju tunel ne nosi, pa veza izlazi direktno dok aplikacija prijavljuje VPN grešku.
IPv6 treba svoje pravilo na svakoj platformi koja ga pokreće, jer pravilo odbacivanja za v4 ne pokriva v6 rutu. Na mobilnom, postavka privatnog DNS-a može premjestiti razrješavanje u šifrovani kanal koji politika uređaja ne pregleda. A pozadinski pomoćnici su uobičajeni krivac na desktopu: proces za ažuriranje ili sinhronizaciju u traci pokreće se prije VPN klijenta i drži vlastitu vezu, pa nikada ne vidi promijenjenu rutu.
Testirajte tri aplikacije i dva prelaza
| Test | What it proves |
|---|---|
| Included app, by name and by direct IP | the policy is applied, not just the resolver |
| Excluded app, same checks | the exclusion is intentional and documented |
| Helper or updater process | nothing inherited an older route |
| Tunnel drop, then Wi-Fi to cellular | the block survives the transition |
Pokrenite svaki red dvaput, jednom s imenom hosta i jednom s doslovnom adresom, i još jednom preko IPv6 ako mreža to nudi. Prolaz znači da je uključena aplikacija stala, isključena se ponašala kako ste zapisali, a pomoćnik nije izmakao. Zabilježite direktno ponašanje koje ste ocijenili prihvatljivim, da sljedeći administrator može razlikovati namjerno izuzeće od kvara.
Zatim opišite rezultat jednom rečenicom koja imenuje aplikacije i uslove, na primjer: klijent za obračun plaća nema rutu izvan tunela, preglednik je direktan po dizajnu, a sve ostalo staje kada tunel ne radi. Ako je tu rečenicu teško napisati, politika je još uvijek dvije politike koje se međusobno bore.