Той самий ноутбук підключається до VPN з дому і не може підключитися з офісу, отже, хтось читає трафік. Блокування і читання — різні повноваження, і лише друге потребує точки на шляху плюс сертифіката, якому довіряє клієнт. Проміжний пристрій, що відкидає ваше рукостискання, не дізнався нічого про те, що ви збиралися надіслати. Визначити, з чим із двох ви зіткнулися, — це вся робота.

Блокування і читання — різні повноваження

Відмова дешева й гучна: сокет відкривається і ніхто не відповідає, або одразу надходить скидання. Ніщо з цього не означає інспекцію, бо жодне корисне навантаження не перетнуло дріт.

Читанню потрібна кінцева точка, яка завершує захист, підтверджує себе сертифікатом і відкриває нове з’єднання далі. Ця точка має стояти на шляху і користуватися довірою клієнта. У брандмауера, який лише пересилає пакети, немає ні позиції, ні повноваження.

Що обгортка віддає безкоштовно

Кожен пакет тунелю має зовнішній бік, і зовнішній бік має бути маршрутизованим. Це означає дві адреси, протокол, порт і довжину, а також час і обсяг. Будь-який маршрутизатор уже обробляє ці поля, а NAT переписує адресу й порт, щоб його таблиця відображення залишалася узгодженою. Навантаження лишається запечатаним, тож спостереження зупиняється на факті існування тунелю між двома хостами.

Імені хоста серед них немає. Сайти протікають іншими дверима, і найширші — DNS: якщо ноутбук досі питає локальний резолвер, імена з’являються відкрито.

Час і обсяг заслуговують на повагу без перебільшення. Байтів за хвилину можуть показати, що велике передавання починається о 14:20; вони не можуть показати, який файл перемістився. Це реальне розкриття про поведінку і інша категорія, ніж читання вмісту.

Перехопленню TLS потрібен корінь, якому ви вже довіряєте

Інспекційний пристрій не ламає TLS; він його завершує. Клієнту відповідає сертифікат від кореня, яким володіє організація, а друге з’єднання йде до справжнього призначення. Клієнт це приймає, бо корінь лежить у його сховищі довіри, тому керований ноутбук не показує попередження. Криптографію ніколи не було переможено; кінцеву точку перемістили.

Тому така схема залишає докази. Видавець у пред’явленому ланцюжку належить організації, а не публічному CA, і клієнт може це побачити без спеціальних інструментів. Ланцюжок, що закінчується внутрішнім коренем, — це підпис перехоплення, а не несправність.

Чому канал VPN — не сеанс HTTPS

Канал даних VPN не дає інспекторові такої опори. IKEv2 і WireGuard ведуть власні рукостискання й розклади ключів, без TLS, який треба завершувати, тоді як OpenVPN позичає TLS для свого каналу керування у зміненому вигляді, перш ніж захищати дані по-своєму. Проксі, побудоване для HTTPS, не розпізнає цей сеанс як щось, що можна розібрати.

Пристрій, який не може розібрати сеанс, усе одно може його відкинути. Тому блокування VPN зазвичай виглядає як тайм-аут, а не як попередження про сертифікат, і тому виняток нічого не змінює.

Перевірте зі своєї машини

Почніть із ланцюжка, який пред’являє сайт. Відомості про сайт у браузері показують видавця, а командний рядок повідомляє те саме без зведення:

openssl s_client -connect example.com:443 -servername example.com

Потім відокремте відкинуте рукостискання від відфільтрованого внутрішнього трафіку лічильниками. Запишіть транспортний порт до будь-якого правила відкидання і прочитайте їх після спроби:

iptables -I OUTPUT 1 -p udp --dport 1194 -j LOG --log-prefix ovpn-out
iptables -vnL OUTPUT --line-numbers

Відсутність рядка журналу на зовнішньому сокеті означає, що рукостискання не виходило, отже шлях відкидає тунель. Завершене рукостискання, коли не проходять лише деякі призначення, означає, що тунель працює, а політика всередині нього — ні. Жоден із результатів не вимагав прочитати байт навантаження.

Читання, яке справді відбувається, міститься на краях: розділений тунель передає внутрішній HTTPS корпоративному проксі, а концентратор, що належить роботодавцю, розкриває все на виході. Що б ви не знайшли, не вимикайте перевірку сертифікатів, щоб нав’язати з’єднання, бо ця перевірка — єдине, що відділяє інспекцію від зловмисника.

Схожі статті