Блокировка настройки VPN на Android: контрольный список внедрения
Определите политику, подтвердите имеющиеся полномочия, проверьте поведение по версиям и сохраните одобренный путь постоянного подключения до того, как вводить ограничение.
Кто-то просит вас помешать людям настраивать собственный VPN на управляемых устройствах Android. Заманчивый ответ — правило брандмауэра, блокирующее несколько знакомых портов. Этот ответ упускает, как работает платформа и как приложения на самом деле подключаются.
Поддерживаемый элемент управления — это ограничение управления на устройстве или профиле, которым вы владеете, и у него есть явная область действия, зависящее от версии поведение и исключение, которое нужно настроить осознанно.
Пройдите пять проверок ниже по порядку. Любая из них может отменить план, поэтому остановитесь на первой, которая не выдерживает.
Проверка 1: решите, что значит отсутствие VPN
За одной и той же фразой скрываются два требования. Одно — ни один пользователь не может создать собственный VPN. Другое — работать может только одобренный VPN организации. Оба законны, и они дают разные конфигурации, разные истории поддержки и разные режимы отказа.
Запишите, какое из двух вы покупаете, прежде чем трогать консоль управления. Если намерение — один одобренный туннель для всех, вы внедряете одобренный путь с запретом вокруг него; если намерение — вообще никаких туннелей, придётся также принять, что пути удалённого доступа и устранения неполадок изменятся.
Ошибётесь здесь — и внедрение будет выглядеть работающим, тихо отрезая VPN, от которого зависит эксплуатация; обычно это обнаруживает дежурный в неудобный час.
Проверка 2: подтвердите полномочия, которые у вас действительно есть
Android предоставляет ограничение через UserManager.DISALLOW_CONFIG_VPN, описанное в справочнике UserManager. Оно предотвращает настройку и запуск VPN и не является параметром, который обычное приложение может применить к себе или к другим приложениям.
Его применяет уполномоченный администратор: владелец устройства для всего устройства или владелец профиля для управляемого профиля, причём те же полномочия доступны владельцу профиля внутри управляемого профиля. Если ваш EMM не может выступать в одной из этих ролей, у вас нет этого элемента управления, и никакая настройка политик в консоли его не создаст.
Область действия важна не меньше полномочий. Ограничение, применённое к рабочему профилю, управляет этим профилем, а не личной стороной того же телефона. Описывать это как контроль над всем, что делает пользователь, неточно, и это проверит первый, кто установит VPN в личном профиле и обнаружит, что он работает.
Проверка 3: знайте поведение по версиям
Ограничение менялось от выпуска к выпуску, и различия определяют, что ваше внедрение реально сделает на устройствах в поле.
| Граница платформы | Документированное поведение |
|---|---|
| Владелец устройства или профиля | Ограничение можно применить под полномочиями этого владельца |
| API 24 и новее | VPN постоянного подключения, настроенный владельцем устройства или профиля, по-прежнему запускается системой |
| API 31 и новее | Включение ограничения отключает VPN, который пользователь уже запустил |
Именно строка API 31 удивляет людей посреди внедрения: на этих устройствах применение не косметическое, оно отключает уже работающий туннель. Планируйте это как видимое событие, а не как тихое изменение настроек.
Строка API 24 спасает вас: VPN постоянного подключения, настроенный владельцем, переживает ограничение, и именно так одобренный путь вообще остаётся доступным.
Проверка 4: сохраните одобренный путь рабочим
Настройте и протестируйте VPN постоянного подключения организации до применения ограничения, а не после. Если применить сначала, устройства потеряют туннель и инструменты, которыми вы бы их диагностировали, одновременно.
Проверьте три вещи явно: что VPN постоянного подключения создаёт владелец, а не пользователь; что он запускается на этих устройствах после применения; и что он переживает перезагрузку. Туннель, который поднимается только вручную, — не одобренный путь, а очередь заявок в поддержку.
Держите путь восстановления, который не зависит от того, работает ли туннель. Консоль управления, локальный администраторский путь или внешний канал — все подходят. Не подходит предположение, что сломанную политику можно починить через то соединение, которое политика только что отключила.
Проверка 5: проверьте, а затем опишите границу честно
Проверьте на реальном устройстве и реальной учётной записи. Убедитесь, что пользователь не может добавить или запустить VPN, что одобренный туннель подключается и передаёт трафик и что личный профиль по-прежнему ведёт себя как задокументировано. Эти три результата и есть критерии приёмки.
Затем будьте осторожны с тем, что утверждаете. Ограничение управляет возможностью VPN в Android. Оно не превращает каждое разрешённое соединение в проверяемый протокол и не мешает приложению направлять свои запросы через явный прокси. Блокировка UDP 500, UDP 4500 и одного OpenVPN порта — не тот же элемент управления, потому что трафик может идти через множество транспортов, включая обычный на вид HTTPS.
Если требование шире возможности VPN, соедините это с политикой распространения приложений, контролем учётных записей и сетевыми ограничениями, подходящими для среды. И запишите, что остаётся за пределами области действия, чтобы никто не повторил частичное ограничение как полное на следующем аудите.