Прекъсвачът за отделни приложения звучи като внимателния избор: само работният клиент губи мрежата си, когато тунелът падне, а всичко останало продължава да работи. После някой забелязва, че личният браузър все пак е заредил страница, помощникът за синхронизация от същия пакет продължава да опитва, а кеширано име все още се разрешава до адрес, който никога не е докосвал тунела. Етикетът върху функцията и множеството от връзки, които тя всъщност защитава, са две различни неща. Първо определете защитеното множество, защото то решава дали прилагането за отделни приложения, или блокирането на цялото устройство е честното описание.

Започнете с множеството, а не с етикета

Политиката за отделни приложения защитава избрани приложения. Блокирането на устройството цели по-широка мрежова граница, обикновено с документирани изключения за локален печат, трафик за управление или портали за прихващане. Нито един от двата етикета не е пълен, докато не отговорите на три въпроса: какво се случва с изключените приложения, какво се случва с помощниците, които тези приложения стартират, и какво се случва с връзките, отворени, докато защитата е недостъпна.

Запишете тези отговори, преди да докоснете настройка на клиента. Ако изискването е "този клиент за заплати никога да не говори с интернет извън тунела, а браузърът ми може", множеството е малко и прилагането за отделни приложения пасва. Ако изискването е "нищо на това устройство да не достига интернет без защита, освен услугата за актуализации", никоя политика за отделни приложения няма да го постигне, защото приложенията, които не сте назвали, са проблемът.

Прилагането за отделни приложения съпоставя идентификатори, а не имена на програми

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, ако мрежата го предлага. Успех означава, че включеното приложение е спряло, изключеното се е държало както сте записали, а помощникът не е избягал. Запишете директното поведение, което сте решили, че е приемливо, за да може следващият администратор да различи умишлено изключение от повреда.

След това опишете резултата с едно изречение, което назовава приложенията и условията, например: клиентът за заплати няма маршрут извън тунела, браузърът е директен по дизайн, а всичко останало спира, когато тунелът не работи. Ако това изречение е трудно за писане, политиката все още е две политики, които се борят една с друга.

Подобни статии