Перамыкач для асобнай праграмы гучыць як асцярожны выбар: толькі працоўны кліент губляе сетку, калі тунель падае, а ўсё астатняе працягвае працаваць. Потым хтосьці заўважае, што асабісты браўзер усё ж загрузіў старонку, памочнік сінхранізацыі з таго ж пакета працягваў паўтараць спробы, а кэшаванае імя па-ранейшаму разрознівалася ў адрас, які ніколі не кранаў тунель. Этыкетка на функцыі і набор злучэнняў, які яна насамрэч абараняе, — дзве розныя рэчы. Спачатку вызначце абаронены набор, бо менавіта ён вырашае, што будзе сумленным апісаннем: выкананне для асобных праграм ці блакаванне ўсёй прылады.

Пачніце з набору, а не з этыкеткі

Палітыка для асобных праграм абараняе выбраныя праграмы. Блакаванне прылады накіравана на шырэйшую сеткавую мяжу і звычайна мае дакументаваныя выключэнні для лакальнага друку, кіраўніцкага трафіку або парталаў перахопу. Ніводная з дзвюх этыкетак не будзе поўнай, пакуль вы не адкажаце на тры пытанні: што адбываецца з выключанымі праграмамі, што адбываецца з памочнікамі, якія запускаюць гэтыя праграмы, і што адбываецца са злучэннямі, адкрытымі, пакуль абарона недаступная.

Запішыце гэтыя адказы перад тым, як дакрануцца да налады кліента. Калі патрабаванне гучыць як "гэты кліент разліку заробку ніколі не павінен выходзіць у інтэрнэт па-за тунелем, а майму браўзеру можна", набор невялікі, і выкананне для асобных праграм падыходзіць. Калі патрабаванне — "нішто на гэтай прыладзе не выходзіць у інтэрнэт без абароны, акрамя службы абнаўлення", ніводная палітыка для асобных праграм гэтага не дасць, бо праграмы, якія вы не назвалі, і ёсць праблема.

Выкананне для асобных праграм супастаўляецца з ідэнтыфікатарамі, а не з імёнамі праграм

Android прапануе VPN для асобных праграм праз пакеты, і яго дакументацыя VpnService апісвае, як гэта ўзаемадзейнічае з рэжымам пастаяннага ўключэння і блакаваннем. iOS наладжвае VPN для асобных праграм праз профіль кіравання і супастаўляе па праграме або па дамене. У Windows і Linux маршруту для асобнага працэсу наогул няма, таму тая ж ідэя набліжаецца правілам міжсеткавага экрана, абмежаваным праграмай, або правілам, якое супастаўляецца з уладальнікам-карыстальнікам.

Мяжа — гэта ідэнтыфікатар, а ідэнтыфікатары лёгка абыйсці. Праграма, якая перадае URL сістэмнаму браўзеру або адкрывае дакумент у праглядніку, пераходзіць у працэс, якога ваша палітыка ніколі не называла. Опцыя завяршэння пры разрыве таксама не з'яўляецца фільтрам пакетаў: яна забівае наладжаны вамі праграму, а даччыны працэс, рабочы чаргі або картка браўзера могуць захаваць існуючы сокет жывым.

Блакаванне пакрывае тое, чаго не бачыць палітыка для асобных праграм

Блакаванне ўсёй прылады прыбірае выбар. Кожны выходны пакет, які не належыць тунелю, адкідаецца, уключаючы трафік ад працэсаў, пра якія ваша палітыка праграм ніколі не ведала. На Android гэта VPN пастаяннага ўключэння разам з наладай блакавання злучэнняў, і выкананне адбываецца ў сістэме, а не ў акне кліента. На настольнай прыладзе гэта пастаяннае правіла міжсеткавага экрана або маршрут па змаўчанні, накіраваны на недасяжны шлюз.

Кошт у тым, што ўсё астатняе спыняецца, таму выключэнні становяцца часткай задумы, а не позняй думкай. Лакальныя прынтары, выяўленне службаў, уваход праз парталы перахопу, агенты кіравання і абнаўленні АС — кожнае патрабуе дакументаванай дзіркі, бо кожнае ёсць шляхам, які застаецца адкрытым, калі тунель не працуе. Блакаванне трывалае роўна настолькі, наколькі кароткі самы кароткі пункт у гэтым спісе.

DNS, IPv6 і фонавыя памочнікі хаваюць уцечкі

Няздольнасць абароненай праграмы разрозніць імя не даказвае, што кэшаваныя адказы або прамы трафік па IP заблакаваныя. Калі распазнавальнік усё яшчэ дасяжны па-за тунелем, імя разрозніваецца, а злучэнне не ўдаецца, што выглядае як працоўны перамыкач і ім не з'яўляецца. Горш за тое, кэшаваны запіс можа паказваць на адрас, які тунель не нясе, таму злучэнне ідзе напрамкі, пакуль праграма паведамляе пра памылку VPN.

IPv6 патрабуе ўласнага правіла на кожнай платформе, якая яго выкарыстоўвае, бо правіла скіду для v4 не пакрывае маршрут v6. На мабільнай прыладзе налада прыватнага DNS можа перанесці разрозненне ў зашыфраваны канал, які палітыка прылады не правярае. А фонавыя памочнікі — звычайны вінаваты на настольных сістэмах: працэс абнаўлення або сінхранізацыі ў лотку запускаецца раней за кліент VPN і трымае ўласнае злучэнне, таму ён ніколі не бачыць змененага маршруту.

Праверце тры праграмы і два пераходы

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

Праганіце кожны радок двойчы: адзін раз з імем хоста і адзін раз з літаральным адрасам, а яшчэ раз праз IPv6, калі сетка гэта прапануе. Паспяховы вынік азначае, што ўключаная праграма спынілася, выключаная паводзіла сябе так, як вы запісалі, а памочнік не выйшаў. Запішыце прамыя паводзіны, якія вы палічылі дапушчальнымі, каб наступны адміністратар мог адрозніць наўмыснае выключэнне ад збою.

Затым апішыце вынік адным сказам, які называе праграмы і ўмовы, напрыклад: кліент разліку заробку не мае маршруту па-за тунелем, браўзер прамы па задуме, а ўсё астатняе спыняецца, калі тунель не працуе. Калі гэты сказ цяжка напісаць, палітыка ўсё яшчэ ўяўляе дзве палітыкі, якія змагаюцца паміж сабой.

Падобныя артыкулы