Підключати VPN всюди, крім офісного Wi-Fi, звучить як правило з двох рядків, і складна частина ніколи не полягала в розпізнаванні назви мережі. Складна частина — вирішити, що дозволено доводити імені, яке збіглося. Будь-яка точка доступу може транслювати знайомий SSID, а успішний ping до однієї адреси доводить лише те, що одна перевірка отримала відповідь. Жодне з цих спостережень не встановлює, що Mac перебуває в автентифікованій внутрішній мережі.

Ім’я — це не ідентичність

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

Тест ping провалюється з тоншої причини: він відповідає на питання про доступність, а не про належність. Ціль, що відповідає, може бути доступною звідусіль, може бути доступною лише через тунель, щодо якого ви намагаєтеся вирішити, або може бути captive-порталом, що повертає щось схоже на відповідь. Доступність — корисний факт і погана межа довіри.

Як On Demand оцінює набір правил

Модель On Demand від Apple пов’язує дію з необов’язковими мережевими умовами, і правила оцінюються по порядку: перше правило, усі умови якого збігаються, задає дію, а решта не розглядаються. Цей порядок і є політикою, тому правило, додане «про всяк випадок», може тихо переписати поведінку, що працювала.

Умова SSID стосується поточної основної підключеної мережі, а не кожного імені, видимого під час сканування. Це дає три різні стани, і зведення їх до двох — звичайна помилка конфігурації:

StateWhat the rule seesWhat it must not be taken to mean
No SSID criterion appliedNothing to compareThat the network is unknown or unsafe
Unknown networkConnected, name does not matchThat no rule below applies
Recognized networkPrimary network matchesThat the network is trusted

Налаштуйте там, де живе політика

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

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

Два шаблони, які варто записати в runbook

Перший — наслідуване ім’я. Майданчик конференції, готель або орендар у тій самій будівлі транслюють рядок, який ваше правило вважає «всередині», і захист вимикається саме там, де ви найменше цього хочете. Ім’я не збрехало; правило поставило йому питання, на яке воно не може відповісти.

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

Вирішіть щодо типового значення і застосовуйте його окремо

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

Правильно написане правило адміністратора називає схвалений виняток, докази, що його виправдовують, і усвідомлений відкат, коли цих доказів немає. Розпізнавання імені Wi-Fi — законний вхід для цього рішення. Це не обґрунтування рішення, і воно ніколи не повинно бути єдиним рядком правила.

Схожі статті