Сервисы лицензирования поставщика ПО не должны быть видны из интернета, но программам на устройствах клиентов нужен контролируемый доступ к ним. Внедрённый шлюз решает эту задачу: конкретное устройство получает только заранее разрешённые IP-адреса и порты, а реальные адреса серверов не попадают в клиентскую конфигурацию.

Шлюз создан не для входа в общую сеть, а как отдельная защитная граница перед существующей системой, которая выдаёт, обновляет и проверяет лицензии корпоративного программного обеспечения.

Какую проблему решает система

Компания поставляет своё программное обеспечение клиентам и управляет лицензиями через отдельную систему. Клиентским установкам нужно обращаться к определённым сервисам этой системы, например за подтверждением лицензии или разрешённым обновлением.

Открыть эти сервисы обычными публичными адресами и портами означает сделать их доступными для сканирования и попыток подключения из интернета. Выдать клиенту обычный VPN с маршрутом в целую сеть тоже недостаточно безопасно: сам факт подключения ещё не должен давать возможность искать другие узлы и порты.

Нужна более строгая модель:

  • сервисы лицензирования не публикуются в интернете;
  • доступ получает конкретное зарегистрированное устройство клиента;
  • этому устройству разрешены только назначенные сервисы лицензирования;
  • любой другой адрес, порт или сетевой узел остаётся недоступным;
  • реальные адреса, порты и площадка размещения серверов лицензирования не сообщаются клиенту;
  • каждое действие с доступом сохраняется в журнале.

Два независимых уровня защиты

Платформа лицензирования и шлюз доступа выполняют разные задачи и дополняют друг друга.

Платформа определяет, имеет ли конкретная установка право использовать программу, какие функции ей разрешены, на какой срок выдана лицензия и какие версии доступны. Это прикладной уровень лицензирования.

Шлюз определяет, может ли конкретное устройство вообще установить сетевое соединение с нужным сервисом. Это сетевой уровень защиты. Даже корректный адрес внутри туннеля бесполезен без явного разрешения для данного устройства.

Так компрометация одного уровня не превращается автоматически в полный доступ. Наличие конфигурации WireGuard не заменяет лицензию, а действующая лицензия не делает сервер общедоступным из интернета.

Что видит клиент

Клиент входит в портал своей организации, регистрирует устройство и один раз получает персональную конфигурацию WireGuard. Приватный ключ не хранится для повторной выдачи: если конфигурация потеряна, устройство проходит безопасную смену ключа.

В портале клиент видит только понятные ему данные:

  • свои устройства;
  • разрешённые профили лицензирования;
  • виртуальный адрес сервиса;
  • протокол и разрешённый порт;
  • состояние доступа;
  • действия для смены или отзыва конфигурации.

Клиент не видит внутренний адрес сервера, его реальный порт, схему сети и площадку размещения. Он также не может самостоятельно выдать своему устройству новый профиль: право доступа остаётся под контролем поставщика программного обеспечения.

Доступ к порталу защищается паролем и TOTP. Сервер проверяет права при каждом чтении и изменении, поэтому скрытие элементов интерфейса не используется как граница безопасности.

Почему наличие VPN не открывает лишние системы

WireGuard создаёт защищённый туннель и связывает трафик с ключом устройства. Но распределение конфигураций и правила доступа находятся вне самого протокола. Поэтому над WireGuard построен отдельный управляющий слой.

Фактическое разрешение выглядит так:

устройство клиента + профиль лицензирования + протокол + виртуальный порт

Соединение проходит только при точном совпадении всех частей правила. Шлюз запрещает:

  • доступ к профилю, который не назначен устройству;
  • обращение к другому порту разрешённого профиля;
  • попытку использовать реальный внутренний адрес;
  • соединение с устройствами других клиентов;
  • сканирование сети за шлюзом;
  • переход к офисной сети или административным сервисам.

Организация клиента служит областью учётной записи и интерфейса, но сетевое разрешение всегда выдаётся конкретному устройству. Поэтому потерянный ноутбук можно отключить отдельно, не меняя настройки остальных установок клиента.

Как клиент получает стабильный адрес без знания внутренней инфраструктуры

Клиент обращается к стабильному виртуальному адресу внутри защищённого туннеля. Шлюз проверяет разрешение, а затем направляет соединение к реальному сервису лицензирования через отдельный защищённый маршрут.

Реальные серверы лицензирования могут находиться в офисе компании, собственном центре обработки данных, на выделенном сервере или на другой подготовленной площадке. Их фактическое размещение не входит в клиентскую конфигурацию.

Если серверы переносятся, администратор меняет внутреннюю привязку профиля на шлюзе. Пока виртуальный адрес и профиль сохраняются, клиентским устройствам не нужно узнавать новый реальный адрес или получать доступ к новой сети. Это отделяет договорённость с клиентом от физической инфраструктуры поставщика.

Самообслуживание без самостоятельной выдачи прав

Портал самообслуживания снимает с администратора рутинную передачу ключей, но не отдаёт клиенту управление политикой безопасности.

Клиент может:

  • создать разрешённое количество собственных устройств;
  • получить одноразовую конфигурацию или QR-код;
  • увидеть назначенные сервисы;
  • сменить ключ своего устройства;
  • отозвать потерянное или больше не используемое устройство.

Администратор поставщика управляет организациями, пользователями, профилями лицензирования и разрешениями устройств. Массовое назначение компании внутри системы всё равно превращается в отдельные проверяемые разрешения для выбранных устройств.

Что попадает в аудит

Система сохраняет значимые события без записи секретов:

  • создание пользователя и устройства;
  • назначение или отзыв профиля;
  • получение одноразовой конфигурации;
  • смена ключа;
  • вход и проверку TOTP;
  • изменение политики доступа;
  • результат применения сетевых правил;
  • отклонённые действия и попытки выйти за пределы полномочий.

Журнал отвечает не только на вопрос «кому выдали доступ», но и показывает, какому устройству, к какому профилю и когда это разрешение было применено или отозвано.

Что происходит при отзыве доступа

При отзыве профиля или устройства новые соединения блокируются, а относящиеся к ним активные соединения прекращаются. Остальные устройства той же организации продолжают работать.

Если управляющая часть временно недоступна или не может применить новую конфигурацию, шлюз сохраняет запретительный режим. Ошибка не должна приводить к молчаливому расширению доступа.

Что настраивается под конкретного поставщика ПО

Готовая система адаптируется под архитектуру существующих сервисов лицензирования и модель работы с клиентами. Настраиваются:

  • набор сервисов и их TCP- или UDP-порты;
  • профили лицензирования, доступные разным продуктам;
  • организации, пользователи и допустимое число устройств;
  • обязательность TOTP;
  • порядок выдачи, согласования и отзыва доступа;
  • срок действия приглашений и временных разрешений;
  • правила аудита и срок хранения событий;
  • фактические площадки размещения серверов лицензирования и резервные маршруты;
  • оформление и инструкции клиентского портала.

Техническим специалистам

Каждое клиентское устройство имеет отдельный ключ WireGuard и собственный туннельный адрес /32. Профиль лицензирования содержит виртуальный IP-адрес и точные сопоставления протоколов и портов с реальными сервисами.

Проверка разрешения выполняется до преобразования адреса назначения. Затем nftables выполняет контролируемое преобразование и выбирает маршрут к нужной площадке. Порядок сетевой обработки описан в документации Netfilter hooks, а механизм преобразования адресов – в разделе NAT в nftables.

Непривилегированное веб-приложение управляет пользователями, устройствами, профилями и желаемой политикой. Отдельная минимальная сетевая служба применяет только типизированную конфигурацию WireGuard, nftables и маршрутов. Веб-приложение не получает произвольный административный доступ к сети сервера.

Итог

Эта система не просто шифрует соединение. Она убирает реальные сервисы лицензирования из публичного интернета и выдаёт каждому клиентскому устройству ровно тот сетевой доступ, который нужен для работы лицензированного программного обеспечения. Портал самообслуживания, TOTP, индивидуальный отзыв и аудит превращают технический туннель в управляемый бизнес-процесс.

Источники

  1. WireGuard: fast, modern, secure VPN tunnelWireGuard
  2. Netfilter hooksnftables project
  3. Performing Network Address Translationnftables project