Развёртывание VPN на контролируемых устройствах с помощью MDM
Установка VPN-профиля на контролируемое устройство — задача простая: формат Apple .mobileconfig справляется с этим. Сложнее контролировать, что происходит внутри самого VPN-клиента. Могут ли пользователи добавлять собственные туннели? Могут ли они менять настройки? Что происходит, если устройство взломано?
Vylos отвечает на эти вопросы через три ключа управляемой конфигурации приложения, которые считываются при каждом запуске приложения и переходе на передний план.
Передача управляемых туннелей
Управляемые туннели доставляются через стандартные профили Apple .mobileconfig, содержащие VPN-содержимое. Эти профили могут быть установлены вручную, распространены через веб-портал или переданы через MDM. Каждая конфигурация туннеля включает стандартные поля WireGuard — закрытый ключ интерфейса, открытый ключ пира, конечную точку, разрешённые IP-адреса — а также необязательные правила активации по запросу.
Управляемые туннели отображаются в выделенном разделе «Управляемые туннели» в Vylos. Пользователи могут видеть статус туннеля и параметры подключения, но не могут изменять, удалять или вручную управлять управляемыми туннелями.
Ограничение доступа пользователей
Три ключа ограничений контролируют возможности пользователей:
Блокировка ручных туннелей
Установка allowManualTunnels в false убирает все пользовательские функции управления туннелями. Раздел «Мои туннели» исчезает, кнопка «Добавить туннель» скрыта, и все существующие VPN-записи туннелей приложения приостанавливаются в настройках iOS. Сами данные туннелей сохраняются локально — при снятии ограничения всё восстанавливается.
Это ключевая настройка для сред, где пользователи должны использовать только одобренные IT-отделом VPN-конфигурации: школы, развёртывающие Vylos на школьных iPad, предприятия с требованиями к соответствию нормативам, или любая организация, которой нужно предсказуемое поведение VPN на устройствах.
Блокировка настроек
Установка allowSettings в false полностью скрывает значок «Настройки» с панели инструментов. Если экран открыть другим способом, появится сообщение «Настройки управляются вашей организацией». Пользователи не могут изменять метод защиты приложения, экспортировать архивы туннелей или просматривать журналы.
Контроль целостности устройства
Установка blockJailbrokenDevices в true активирует обнаружение джейлбрейка на iOS. Vylos проверяет наличие признаков джейлбрейка четырьмя методами: известные пути к файлам джейлбрейка, зарегистрированные URL-схемы, попытки выхода из песочницы и сканирование внедрённых динамических библиотек.
При провале любой проверки приложение отображает полноэкранное сообщение «Нарушение политики устройства», которое невозможно закрыть. Вся функциональность приложения заблокирована до восстановления устройства в немодифицированное состояние. Данные туннелей сохраняются — ничего не удаляется.
Проверка запускается при загрузке главного экрана, что позволяет обнаружить джейлбрейк, произведённый после первоначального развёртывания.
Обработка задержки доставки конфигурации
Доставка конфигурации MDM не всегда происходит мгновенно. Vylos включает механизм повторных попыток с опросом управляемой конфигурации в течение 30 секунд после запуска приложения и перехода на передний план. Это обрабатывает случаи, когда профиль MDM доставляется чуть позже открытия приложения — что часто бывает при первой установке или после перезагрузки устройства.
Обход блокировки приложения
При наличии любой управляемой конфигурации приложения Vylos автоматически обходит встроенную блокировку приложения (Face ID, Touch ID или TOTP). Предполагается, что аутентификация на уровне устройства уже обеспечивается политикой MDM, поэтому дополнительный уровень аутентификации внутри приложения не нужен.
Начало работы
Профили туннелей используют стандартные VPN-содержимые .mobileconfig — MDM не требуется для базового развёртывания. Для ключей ограничений настройте их через канал управляемой конфигурации приложения вашего решения MDM. Все значения ключей ограничений являются строками — "false" и "0" вычисляются как false, всё остальное — как true.
Полный список ключей конфигурации и примеры развёртывания см. в руководстве администратора.