Передати своєму клієнтові профіль VPN — це передати йому конфігурацію, написану кимось іншим, яку ця програма потім виконує на вашій машині. Її імпорт може змінити, куди йде охоплений трафік, якому вузлу довіряє ваш пристрій і в деяких форматах — які локальні програми запускаються під час підняття тунелю. Файл — не закладка; це невелика програма в декларативному форматі.

Читайте його так, як читали б командний скрипт із того самого джерела.

Його інтерпретує клієнт, а не ви

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

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

Зміни маршрутизації видно після одного підключення

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

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

Справжню вагу несуть матеріал довіри та перехоплювачі

Профіль може надати клієнтові VPN відомості про довіру, а пакет конфігурації платформи може піти далі й установити сертифікат або корінь у системне сховище. Це різні області з різними наслідками. Випадок в області клієнта впливає на перевірку однієї програми; випадок на рівні системи впливає на все, що використовує сховище довіри платформи.

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

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

Перевірте походження, потім введіть секрет

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

grep -nE '^(remote|proto|auth-user-pass|redirect-gateway|route|route-nopull)' office.ovpn
grep -nE '^(up|down|plugin|script-security|setenv)' office.ovpn
openssl x509 -in embedded-ca.crt -noout -subject -issuer -dates

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

Видаліть імпортовану копію, а не завантаження

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

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

Схожі статті