Что может изменить переданный профиль VPN на вашем устройстве
Профиль — это набор инструкций клиенту, который может перенаправить трафик и добавить доверие. Прочитайте, что он требует, прежде чем вводить в него пароль.
Передать своему клиенту профиль 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
Никогда не вводите пароль в необъяснённое поле, чтобы проверить, работает ли оно, и никогда не принимайте незнакомый запрос прав только ради завершения импорта. Успешное подключение доказывает, что конечная точка ответила, и не более.
Удалите импортированную копию, а не загрузку
Клиенты копируют профиль в собственное хранилище, поэтому удаление скачанного файла оставляет импортированное подключение активным. Удалите его через интерфейс самого клиента и проверьте, что исчез и любой сертификат, добавленный при импорте. Затем подтвердите, что исчезли и установленные маршруты.
Если сертификат был установлен на уровне системы, удалить профиль недостаточно. Эта очистка относится к управлению доверием платформы, и её стоит выполнить осознанно, а не надеяться, что следующая перезагрузка всё решит.