Публічний Wi-Fi і VPN: що тунель не закриває
Тунель захищає один шлях через мережу, яку ви не контролюєте. Пройдіться ланкою, локальними слухачами та поведінкою під час збою, якої значок ніколи не показує.
Зелений значок, задоволений портал, робочий браузер: це вся видима історія. Значок замовчує, що зашифроване з'єднання несе саме та бездротова ланка, від якої воно має вас захищати. Ця ланка досі доставляє кожен пакет, досі бачить адресу призначення і досі вирішує, чи щось взагалі дійде. Розгляд боку ноутбука в готельному підключенні показує, які частини тунель закриває, а які залишає вам.
Ланка доступу несе все
Тунель IPsec ESP загортає захищений внутрішній пакет у зовнішній заголовок, який мережа може маршрутизувати, а RFC 4303 розділ 3.1.2 пояснює цей поділ. Внутрішній пакет — те, що захищає тунель. Зовнішній заголовок — те, що читає точка доступу, щоб його переслати. Інші схеми інкапсулюють інакше, але питання планування те саме: який шлях доступу несе це з'єднання?
Збій шлюзу або ланка, що губить пакети, зупиняє доставку, не розкриваючи вміст. Перехід на міцніший шифр тут не допомагає, бо бракує транспорту, а не криптографії. Успішна доставка в інший бік доводить так само мало, адже робочий шлях нічого не каже про стан жодної з двох машин.
Ваш ноутбук досі має власні двері
Підключення до недовіреного сегмента змінює те, хто може дістатися до портів, на яких слухає ваша машина. Служба обміну файлами, агент віддаленого адміністрування або сервер розробки, прив'язаний до всіх інтерфейсів, доступний будь-кому в цьому сегменті, якщо щось його не зупинить. Трафік, який ніколи не входить у тунель, ним не захищений. Слухач, що відповідає до підняття тунелю, відкритий рівно на це вікно.
Вимога вузька й варта точного формулювання: ноутбук має досягати кінцевої точки VPN, а сторонні пристрої в точці доступу не повинні досягати локальних служб. Правила міжмережевого екрана на хості виражають цю межу, а власні налаштування спільного доступу платформи теж виражають її частину. Принтер або крок порталу — це обмежений виняток, який ви додаєте свідомо, а не доказ того, що вся точка доступу заслуговує довіри офісної ЛМ.
Деякі організації також обмежують локальний доступ, поки активне робоче підключення, і це політика, а не інженерія. Прочитайте цю політику, перш ніж вимикати міжмережевий екран, щоб запрацював периферійний пристрій.
Перевірте, що насправді слухає
Дивіться на сокети, а не на сторінку налаштувань, бо сторінка описує намір, а таблиця сокетів описує машину. Два списки нижче відокремлюють кожен слухаючий сокет від тих, до яких міг би дістатися сусід. Запустіть їх у недовіреному сегменті перед підключенням тунелю.
ss -lntu
ss -lntup | grep -v 127.0.0.1
resolvectl query vpn.example.net
Перша команда показує кожен сокет, а друга фільтрує ті, що прив'язані за межами loopback. Служба на 0.0.0.0 або :: доступна на кожному інтерфейсі, включно з бездротовим, тоді як та сама служба на 127.0.0.1 з сегмента взагалі недоступна. Запит до резолвера підтверджує, який шлях обирає ім'я до появи тунелю, і саме там заважають захоплені портали. Повторіть список після підключення, бо деякі клієнти піднімають інтерфейси, що змінюють відповідь.
Порт, що з'являється лише при піднятому тунелі, менш відкритий, хоч про нього все одно варто знати. Записуйте різницю, а не абсолютний список, бо дельта — це те, що додав тунель.
Не приймайте нову особу посеред сеансу
Неочікувана зміна маршруту, перепідключення або перенаправлення порталу не є дозволом прийняти іншу особу сервера. Якщо клієнт повідомляє про невідповідність сертифіката або ключа, ставтеся до цього як до знахідки про особу, а не як до зв'язності, яку треба обійти. Встановлення нез'ясованого кореневого сертифіката, щоб запрацював портал, перетворює проблему доставки на проблему довіри. І тоді проблема довіри переживає поїздку, що її створила.
Використайте власний потік браузера порталу, потім перепідключіть тунель і прочитайте в журналі клієнта, яку особу він перевірив. Помилка особи означає, що інша сторона не та, кого ви чекали, тоді як помилка доставки означає, що інша сторона так і не відповіла. Перше — причина зупинитися, друге — причина спробувати інший шлях.
Спершу вирішіть поведінку під час збою
Тут плутають дві різні функції. Перепідключення намагається відновити службу, а політика блокування керує тим, який трафік дозволено, поки тунель не працює. Жодна не дає робочої бездротової ланки, і жодна не доводить, що кінцева точка чиста. Виберіть явно: закритий збій для програм, які ніколи не повинні використовувати локальний шлях, і дозвольте звичайний перегляд поза тунелем, якщо це прийнятно.
Запишіть вибір, бо типове значення в більшості клієнтів не є жодним із двох, і воно залежить від версії. Потім підготуйте альтернативний шлях доступу, якщо доступність важлива, наприклад телефонну точку доступу з власним тарифом даних. Прийнятний приймальний тест має три окремі результати: призначений трафік використовує перевірений тунель, сторонні локальні слухачі недоступні, а збій дає обрану вами поведінку.