Міф у тому, що fail-closed — безпечне налаштування, а fail-open — недбале. Обидва описують, що відбувається з трафіком після зникнення тунелю, і жоден не змінює, наскільки добре цей тунель шифрує. Політика fail-closed із довгим списком винятків може витікати більше, ніж політика fail-open на пристрої, який ніколи не залишає офісну мережу. Виберіть результат, який зможете пояснити власнику трафіку.

Ярлик описує результат, а не силу

Словник походить із систем керування: fail-open дозволяє роботу, коли компонент відмовляє, fail-closed забороняє її. У застосуванні до VPN компонент, що відмовляє, — це тунель, і питання в тому, чи дозволено трафіку продовжитися іншим шляхом. Вибір шифру, довжина ключа й протокол — окремі рішення.

Плутанина тримається тому, що kill switch звучить як функція безпеки, і постачальники так його й продають. Механічно це правило маршрутизації та брандмауера, яке блокує трафік, що мав нести тунель, реалізоване в клієнті, в операційній системі або на шлюзі. Який би рівень його не виконував, він же визначає і його охоплення, а правило на одному рівні не покриває інший. Правило на шлюзі не може захистити ноутбук, який уже перейшов в іншу мережу.

Як виглядає кожен результат

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

EventFail-open resultFail-closed result
Tunnel drops while a transfer runsTransfer continues on the direct pathTransfer stalls until the tunnel returns
Client exits or crashesRules disappear with the processRules persist only if the OS owns them
Device boots before sign-inNormal network accessBlocked until the VPN connects
Captive portal neededPortal loads normallyPortal unreachable without an exception
IPv6 not carried by the tunnelIPv6 traffic leaks directlyLeaks too, unless the block covers IPv6

Останній рядок ловить тих, хто вважає, що kill switch — це один перемикач. Правило, написане для таблиці маршрутів IPv4, залишає маршрут за замовчуванням IPv6 недоторканим, і застосунок може спокійно ним користуватися.

Обсяг вирішує, чи буде витік

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

Винятки для локальної мережі існують заради принтерів, трансляції екрана й порталів входу, і кожен із них — дірка в блокуванні. Документуйте їх поруч із політикою, інакше людина, яка успадкує конфігурацію, прочитає fail-closed як абсолют.

Перепідключення й блокування — теж окремі засоби керування. Клієнт може автоматично перепідключатися, ніколи не блокуючи, або блокувати без перепідключення, і поєднання визначає, що переживає користувач під час збою.

Доведіть це під час переходу

Перевірка сталого стану нічого не доводить. Навмисно обірвіть тунель і спробуйте програму, яка має бути захищеною, потім перевірте, чи дісталася вона мережі. Порівняйте індикатор клієнта з результатом, бо індикатор, який досі каже «підключено», — це саме той випадок, для якого існує політика. Якщо захищена програма досягає успіху, назва режиму не має значення; у вас витік.

Повторіть із холодного завантаження до входу в систему, під час переходу з Wi-Fi на мобільну мережу із захищеною програмою у фоні. Якщо блокування виконує процес клієнта, перевірте також, що відбувається, коли цей процес убивають, а не закривають охайно.

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

Схожі статті