Fail-open чи fail-closed: що вирішує kill switch у VPN
Обидва терміни описують, що відбувається після зникнення тунелю, а не те, наскільки сильне шифрування. Обраний обсяг вирішує, чи справді витікає трафік.
Міф у тому, що fail-closed — безпечне налаштування, а fail-open — недбале. Обидва описують, що відбувається з трафіком після зникнення тунелю, і жоден не змінює, наскільки добре цей тунель шифрує. Політика fail-closed із довгим списком винятків може витікати більше, ніж політика fail-open на пристрої, який ніколи не залишає офісну мережу. Виберіть результат, який зможете пояснити власнику трафіку.
Ярлик описує результат, а не силу
Словник походить із систем керування: fail-open дозволяє роботу, коли компонент відмовляє, fail-closed забороняє її. У застосуванні до VPN компонент, що відмовляє, — це тунель, і питання в тому, чи дозволено трафіку продовжитися іншим шляхом. Вибір шифру, довжина ключа й протокол — окремі рішення.
Плутанина тримається тому, що kill switch звучить як функція безпеки, і постачальники так його й продають. Механічно це правило маршрутизації та брандмауера, яке блокує трафік, що мав нести тунель, реалізоване в клієнті, в операційній системі або на шлюзі. Який би рівень його не виконував, він же визначає і його охоплення, а правило на одному рівні не покриває інший. Правило на шлюзі не може захистити ноутбук, який уже перейшов в іншу мережу.
Як виглядає кожен результат
Та сама політика може поводитися дуже по-різному залежно від того, на який збій ви натрапите, тож порівнюйте події, а не ярлики.
| Event | Fail-open result | Fail-closed result |
|---|---|---|
| Tunnel drops while a transfer runs | Transfer continues on the direct path | Transfer stalls until the tunnel returns |
| Client exits or crashes | Rules disappear with the process | Rules persist only if the OS owns them |
| Device boots before sign-in | Normal network access | Blocked until the VPN connects |
| Captive portal needed | Portal loads normally | Portal unreachable without an exception |
| IPv6 not carried by the tunnel | IPv6 traffic leaks directly | Leaks too, unless the block covers IPv6 |
Останній рядок ловить тих, хто вважає, що kill switch — це один перемикач. Правило, написане для таблиці маршрутів IPv4, залишає маршрут за замовчуванням IPv6 недоторканим, і застосунок може спокійно ним користуватися.
Обсяг вирішує, чи буде витік
Запитайте, що охоплює політика, перш ніж питати, який це режим. Правило для однієї програми захищає одну програму і нічого більше, правило для всього пристрою захищає все, крім винятків, а правило на шлюзі захищає лише трафік, що доходить до цього шлюзу. DNS потребує власного рішення, бо запит до локального резолвера може розкрити імена навіть тоді, коли корисне навантаження заблоковане.
Винятки для локальної мережі існують заради принтерів, трансляції екрана й порталів входу, і кожен із них — дірка в блокуванні. Документуйте їх поруч із політикою, інакше людина, яка успадкує конфігурацію, прочитає fail-closed як абсолют.
Перепідключення й блокування — теж окремі засоби керування. Клієнт може автоматично перепідключатися, ніколи не блокуючи, або блокувати без перепідключення, і поєднання визначає, що переживає користувач під час збою.
Доведіть це під час переходу
Перевірка сталого стану нічого не доводить. Навмисно обірвіть тунель і спробуйте програму, яка має бути захищеною, потім перевірте, чи дісталася вона мережі. Порівняйте індикатор клієнта з результатом, бо індикатор, який досі каже «підключено», — це саме той випадок, для якого існує політика. Якщо захищена програма досягає успіху, назва режиму не має значення; у вас витік.
Повторіть із холодного завантаження до входу в систему, під час переходу з Wi-Fi на мобільну мережу із захищеною програмою у фоні. Якщо блокування виконує процес клієнта, перевірте також, що відбувається, коли цей процес убивають, а не закривають охайно.
Нарешті, перевірте шлях очищення. Якщо клієнт видаляють, поки його правила активні, скористайтеся документованою постачальником процедурою видалення, а не вимикайте брандмауер операційної системи, який знімає сторонній захист, не відповідаючи, кому належить залишене правило.