Почему правило VPN не может остановить загрузку одного файла
Достижимость сервиса и контроль того, какие файлы из него уходят, — два разных требования. Поместите правило туда, где файл виден: почта, приложение или агент конечной точки.
Небольшая команда просит удалённый доступ к своим рабочим системам и в том же дыхании просит, чтобы некоторые вложения перестали покидать компанию. Оба запроса звучат как одно изменение VPN. Но это два требования с разными точками применения, и правило, удовлетворяющее первому, ничего не делает для второго. Начните с названия действия и данных, затем выберите компонент, который действительно может их видеть.
Один запрос, два требования
Первое требование касается достижимости: какие пользователи и устройства могут открыть соединение с каким сервисом. Второе касается поведения после того, как это соединение существует: какие документы можно прикрепить, вставить или загрузить. Туннель действует на первое и по замыслу слеп ко второму.
Контроль на уровне IP пересылает пакеты. Он не разбирает многочастную загрузку, не проверяет PDF и не решает, есть ли в таблице номера счетов. Ожидать от него этого не ошибка конфигурации; это ошибка категории.
Проговорите требование вслух в такой форме, прежде чем искать продукт. «Пользователи могут достигать файлового портала» и «пользователи не могут загружать списки клиентов на файловый портал» — разные предложения, и только второе описывает политику содержимого.
Выберите компонент, который видит файл
Применение должно происходить там, где файл читается. Для электронной почты это обычно почтовая платформа или шлюз, которые уже обрабатывают вложения и могут оценить их до доставки. Для загрузок из браузера в одобренный сервис само приложение может быть единственной стороной, которая видит содержимое. Для управляемого ноутбука, копирующего файлы на съёмные носители, операцию видит агент конечной точки.
| Where the file moves | Component that can see it |
|---|---|
| Email attachment | Mail gateway or mail platform policy |
| Upload to a web application | The application, or an inspection proxy that terminates TLS |
| Copy to USB or local folder | Endpoint agent on the device |
| Anything inside the tunnel | Nothing, unless one of the above is present |
Некоторые коммерческие пакеты удалённого доступа объединяют агент конечной точки, веб-контроль и модуль предотвращения утечки данных. Эти компоненты вполне могут применять политику содержимого, но способность принадлежит модулю, а не туннелированию. Прочитайте, что пакет действительно включает, прежде чем обещать результат.
Полезная модель для сравнения — обзор предотвращения утечки данных в Purview от Microsoft: он описывает политики в терминах типов конфиденциальной информации, расположений и действий. Этот словарь о содержимом и действиях, а не о префиксах IP.
TLS переживает туннель, поэтому планируйте это
Шифрование приложения согласуется между клиентом и сервисом, и туннель VPN переносит эти байты, не открывая их. Поэтому шлюз на пути не получает автоматически способность классифицировать вложение, какую бы часть маршрута он ни контролировал.
Чтобы проверять содержимое в пути, нужен компонент, завершающий TLS доверенным сертификатом, а это серьёзное архитектурное решение с собственными последствиями для приватности и эксплуатации. Это не галочка в профиле VPN. Клиенты должны доверять сертификату проверки, приложения, закрепляющие сертификаты, сломаются, а оператор получает возможность читать трафик, который раньше читать не мог. Вот почему это решение принадлежит владельцу безопасности, а не тому, кто обслуживает туннель.
Поэтому честный ответ на вопрос «может ли VPN заблокировать эту загрузку» обычно нет, а следом идёт конкретная альтернатива. Альтернативой могут быть ограничения на уровне приложения, почтовое правило или политика конечной точки, и у каждой есть владелец, который может её изменить.
Напишите приёмочный тест до правила
Правилу содержимого нужны два примера, а не один: разрешённое действие, которое должно продолжать работать, и запрещённое, которое должно быть остановлено. Проверьте оба из приложений и устройств в области действия, потому что политика, работающая только в одном браузере, — это не та политика, которую кто-то просил.
curl -sS -o /dev/null -w '%{http_code}\n' -F '[email protected]' https://files.plant.example/upload
curl -sS -o /dev/null -w '%{http_code}\n' -F '[email protected]' https://files.plant.example/uploadПервый запрос должен отклонить компонент, которому принадлежит правило, а второй должен увенчаться успехом. Если успешны оба, контроля на пути нет. Если оба терпят неудачу, вы сломали сервис вместо того, чтобы его защитить, и это более частый исход правила, написанного без разрешённого примера.
Заранее решите, что видит пользователь, кто может дать исключение и где администратор впоследствии подтверждает решение. Заблокированная загрузка без сообщения порождает обращение в поддержку, а правило, которое никто не может проверить, порождает спор. И того и другого можно избежать одной фразой документации, написанной до вступления политики в силу.
Наконец, держите два требования в отдельных заявках с отдельными владельцами. Объединение их под «VPN» гарантирует, что сетевую команду попросят решить проблему содержимого, а проблема содержимого будет объявлена решённой, когда туннель поднимется.