Katras programmas kill switch izklausās kā piesardzīga izvēle: tunnelim krītot, tīklu zaudē tikai darba klients, un viss pārējais turpina darboties. Tad kāds pamana, ka personīgais pārlūks tomēr ielādēja lapu, sinhronizācijas palīgs no tā paša komplekta turpināja mēģināt, un kešatmiņā saglabātais nosaukums joprojām tika izšķirts uz adresi, kas nekad nav skārusi tuneli. Funkcijas etiķete un savienojumu kopa, ko tā patiešām aizsargā, ir divas dažādas lietas. Vispirms nosakiet aizsargāto kopu, jo tā nosaka, vai izpilde katrai programmai vai visas ierīces bloķēšana ir godīgs apraksts.

Sāciet ar kopu, nevis ar etiķeti

Politika katrai programmai aizsargā atlasītās programmas. Ierīces bloķēšana mērķē uz plašāku tīkla robežu, parasti ar dokumentētiem izņēmumiem vietējai drukāšanai, pārvaldības trafikam vai captive portāliem. Neviena etiķete nav pilnīga, kamēr nevarat atbildēt uz trim jautājumiem: kas notiek ar izslēgtajām programmām, kas notiek ar palīgiem, ko šīs programmas palaiž, un kas notiek ar savienojumiem, kas tiek atvērti, kamēr aizsardzība nav pieejama.

Pierakstiet šīs atbildes pirms pieskaraties jebkuram klienta iestatījumam. Ja prasība ir "šim algu klientam nekad nav jāsazinās ar internetu ārpus tuneļa, un mans pārlūks drīkst", kopa ir maza un izpilde katrai programmai der. Ja prasība ir "ne kas šajā ierīcē neaizsniedz internetu bez aizsardzības, izņemot atjaunināšanas pakalpojumu", neviena politika katrai programmai to neradīs, jo problēma ir programmas, kuras nenosaucāt.

Izpilde katrai programmai atbilst identifikatoriem, nevis programmu nosaukumiem

Android nodrošina VPN katrai programmai pa pakotnēm, un tā VpnService dokumentācija apraksta, kā tas mijiedarbojas ar pastāvīgi ieslēgtu režīmu un bloķēšanu. iOS konfigurē VPN katrai programmai ar pārvaldības profilu un atbilst pēc programmas vai domēna. Windows un Linux vispār nav maršruta pēc procesa, tāpēc tā pati ideja tiek tuvināta ar ugunsmūra noteikumu, kas ierobežots uz programmu, vai noteikumu, kas atbilst īpašniekam lietotājam.

Robeža ir identifikators, un identifikatorus ir viegli apiet. Programma, kas nodod URL sistēmas pārlūkam vai atver dokumentu skatītājā, pāriet procesā, kuru jūsu politika nekad nav nosaukusi. Opcija pārtraukt kritiena brīdī arī nav pakešu filtrs: tā nogalina jūsu konfigurēto programmu, kamēr bērna process, rindas darbinieks vai pārlūka cilne var uzturēt esošu ligzdu dzīvu.

Bloķēšana aptver to, ko politika katrai programmai nevar redzēt

Visas ierīces bloķēšana atņem izvēli. Katrs izejošais pakets, kas nepieder tunelim, tiek izmests, tostarp trafiks no procesiem, par kuriem jūsu programmu politika nekad nezināja. Android tas ir pastāvīgi ieslēgts VPN kopā ar savienojumu bloķēšanas iestatījumu, un izpilde notiek sistēmā, nevis klienta logā. Darbvirsma tas ir pastāvīgs ugunsmūra noteikums vai noklusējuma maršruts uz nesasniedzamu vārteju.

Cena ir tā, ka viss pārējais apstājas, tāpēc izņēmumi kļūst par dizaina daļu, nevis vēlāku pārdomu. Vietējie printeri, pakalpojumu atklāšana, pieteikšanās captive portālos, pārvaldības aģenti un OS atjauninājumi katrs prasa dokumentētu caurumu, jo katrs ir ceļš, kas paliek atvērts, kad tunelis nedarbojas. Bloķēšana ir tikai tik spēcīga, cik īsākais ieraksts šajā sarakstā.

DNS, IPv6 un fona palīgi slēpj noplūdes

Tas, ka aizsargāta programma nespēj izšķirt nosaukumu, nepierāda, ka kešatmiņas atbildes vai tiešs IP trafiks ir bloķēts. Ja atrisinātājs joprojām ir sasniedzams ārpus tuneļa, nosaukums tiek izšķirts un savienojums neizdodas, kas izskatās kā strādājošs kill switch un nav. Vēl ļaunāk, kešatmiņā saglabāts ieraksts var norādīt uz adresi, ko tunelis nenes, tāpēc savienojums iziet tieši, kamēr programma ziņo par VPN kļūdu.

IPv6 vajag savu noteikumu katrā platformā, kas to izmanto, jo v4 nomešanas noteikums neaptver v6 maršrutu. Mobilajā ierīcē privātā DNS iestatījums var pārvietot izšķiršanu šifrētā kanālā, ko ierīces politika nepārbauda. Un fona palīgi ir ierastais vaininieks darbvirsmā: atjauninātāja vai sinhronizācijas process sistēmas teknē sākas pirms VPN klienta un uztur savu savienojumu, tāpēc tas nekad neredz mainīto maršrutu.

Pārbaudiet trīs programmas un divas pārejas

TestWhat it proves
Included app, by name and by direct IPthe policy is applied, not just the resolver
Excluded app, same checksthe exclusion is intentional and documented
Helper or updater processnothing inherited an older route
Tunnel drop, then Wi-Fi to cellularthe block survives the transition

Palaidiet katru rindu divreiz, vienreiz ar resursdatora nosaukumu un vienreiz ar burtisku adresi, un vēlreiz pa IPv6, ja tīkls to piedāvā. Izpilde nozīmē, ka iekļautā programma apstājās, izslēgtā uzvedās tā, kā pierakstījāt, un palīgs neizslīdēja. Pierakstiet tiešo uzvedību, ko atzīmējāt kā pieņemamu, lai nākamais administrators varētu atšķirt tīšu izņēmumu no kļūmes.

Pēc tam aprakstiet rezultātu vienā teikumā, kas nosauc programmas un nosacījumus, piemēram: algu klientam nav maršruta ārpus tuneļa, pārlūks ir tiešs pēc dizaina, un viss pārējais apstājas, kad tunelis nedarbojas. Ja šo teikumu ir grūti uzrakstīt, politika joprojām ir divas savstarpēji cīnījušās politikas.

Saistītie raksti