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

Първо твърдение: никой не може да прочете трафика

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

security find-certificate -a -p /Library/Keychains/System.keychain | openssl crl2pkcs7 -nocrl -certfile /dev/stdin | openssl pkcs7 -noout -print_certs | grep subject
certutil -store Root

На macOS тази поредица отпечатва по един ред за субект за всеки сертификат в ключодържателя на машината, без да отваря прозорец; в Windows certutil -store Root изброява същото хранилище, което certlm.msc показва графично. Корен, който принадлежи на училище, работодател или продукт за мрежова сигурност, е записът, който трябва да търсите. Намирането на такъв доказва само, че прихващане е възможно, а не че се случва.

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

Второ твърдение: никой не вижда накъде отивате

Дестинацията е по-трудното твърдение, защото две разкрития се случват преди зареждането на страница. Заявката отива до резолвера, който системата е конфигурирана да използва, и отговорът е видим за мрежата, която го носи. След това TLS ръкостискането носи исканото име на сървър в открит вид, освен ако Encrypted Client Hello не се поддържа от двете страни. Никое от двете разкрития не включва дешифриране, така че тунелът не влияе на нито едно от тях.

resolvectl status | grep -A2 "Link"
nslookup example.com

Кой резолвер всъщност се използва определя излагането и това може да се измери, вместо да се обсъжда. В Linux resolvectl status отпечатва DNS сървърите за всяка връзка и изходът му показва дали отговаря резолверът на сайта, или наложеният. Windows отговаря на същия въпрос с nslookup example.com, чийто първи блок от изход е DNS сървърът, който е отговорил.

Когато лаптопът отправи заявка към резолвера на сайта преди тунелът да се вдигне, или профилът пристигне без заместващ сървър, така че старият остава в употреба, администраторът все още събира имена на хостове, без да дешифрира нищо. Шифрованият DNS в браузъра или заобикаля наложения резолвер, или бива блокиран напълно и се проваля затворен. Операторът на изхода вижда същите имена от своята страна. Затова смяната на резолвера не отмества това разкритие от доставчика на тунела.

Трето твърдение: никой не знае, че сте се свързали

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

Разделеното тунелиране и всяко приложение, което игнорира наложения маршрут, създават потоци извън тунела, които изглеждат точно както преди. Именно тези потоци внимателният наблюдател забелязва първи, а таблицата с маршрути на клиента показва кои дестинации са изключени.

Операторът от другата страна държи огледалния образ на този изглед: адрес на изхода, време, обем и обикновено имената на сайтовете. Доставчикът ви става страната с наблюдателния пункт, а това е различна сделка от невидимостта. Да изберете доставчик, на когото вярвате, е истинско решение; да наречете резултата ненаблюдаван — не е.

Решете кое твърдение ви трябва

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

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

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