Сервисы лицензирования поставщика ПО не должны быть видны из интернета, но программам на устройствах клиентов нужен контролируемый доступ к ним. Внедрённый шлюз решает эту задачу: конкретное устройство получает только заранее разрешённые IP-адреса и порты, а реальные адреса серверов не попадают в клиентскую конфигурацию.
Шлюз создан не для входа в общую сеть, а как отдельная защитная граница перед существующей системой, которая выдаёт, обновляет и проверяет лицензии корпоративного программного обеспечения.
Какую проблему решает система
Компания поставляет своё программное обеспечение клиентам и управляет лицензиями через отдельную систему. Клиентским установкам нужно обращаться к определённым сервисам этой системы, например за подтверждением лицензии или разрешённым обновлением.
Открыть эти сервисы обычными публичными адресами и портами означает сделать их доступными для сканирования и попыток подключения из интернета. Выдать клиенту обычный VPN с маршрутом в целую сеть тоже недостаточно безопасно: сам факт подключения ещё не должен давать возможность искать другие узлы и порты.
Нужна более строгая модель:
- сервисы лицензирования не публикуются в интернете;
- доступ получает конкретное зарегистрированное устройство клиента;
- этому устройству разрешены только назначенные сервисы лицензирования;
- любой другой адрес, порт или сетевой узел остаётся недоступным;
- реальные адреса, порты и площадка размещения серверов лицензирования не сообщаются клиенту;
- каждое действие с доступом сохраняется в журнале.
Два независимых уровня защиты
Платформа лицензирования и шлюз доступа выполняют разные задачи и дополняют друг друга.
Платформа определяет, имеет ли конкретная установка право использовать программу, какие функции ей разрешены, на какой срок выдана лицензия и какие версии доступны. Это прикладной уровень лицензирования.
Шлюз определяет, может ли конкретное устройство вообще установить сетевое соединение с нужным сервисом. Это сетевой уровень защиты. Даже корректный адрес внутри туннеля бесполезен без явного разрешения для данного устройства.
Так компрометация одного уровня не превращается автоматически в полный доступ. Наличие конфигурации WireGuard не заменяет лицензию, а действующая лицензия не делает сервер общедоступным из интернета.
Что видит клиент
Клиент входит в портал своей организации, регистрирует устройство и один раз получает персональную конфигурацию WireGuard. Приватный ключ не хранится для повторной выдачи: если конфигурация потеряна, устройство проходит безопасную смену ключа.
В портале клиент видит только понятные ему данные:
- свои устройства;
- разрешённые профили лицензирования;
- виртуальный адрес сервиса;
- протокол и разрешённый порт;
- состояние доступа;
- действия для смены или отзыва конфигурации.
Клиент не видит внутренний адрес сервера, его реальный порт, схему сети и площадку размещения. Он также не может самостоятельно выдать своему устройству новый профиль: право доступа остаётся под контролем поставщика программного обеспечения.
Доступ к порталу защищается паролем и TOTP. Сервер проверяет права при каждом чтении и изменении, поэтому скрытие элементов интерфейса не используется как граница безопасности.
Почему наличие VPN не открывает лишние системы
WireGuard создаёт защищённый туннель и связывает трафик с ключом устройства. Но распределение конфигураций и правила доступа находятся вне самого протокола. Поэтому над WireGuard построен отдельный управляющий слой.
Фактическое разрешение выглядит так:
устройство клиента + профиль лицензирования + протокол + виртуальный порт
Соединение проходит только при точном совпадении всех частей правила. Шлюз запрещает:
- доступ к профилю, который не назначен устройству;
- обращение к другому порту разрешённого профиля;
- попытку использовать реальный внутренний адрес;
- соединение с устройствами других клиентов;
- сканирование сети за шлюзом;
- переход к офисной сети или административным сервисам.
Организация клиента служит областью учётной записи и интерфейса, но сетевое разрешение всегда выдаётся конкретному устройству. Поэтому потерянный ноутбук можно отключить отдельно, не меняя настройки остальных установок клиента.
Как клиент получает стабильный адрес без знания внутренней инфраструктуры
Клиент обращается к стабильному виртуальному адресу внутри защищённого туннеля. Шлюз проверяет разрешение, а затем направляет соединение к реальному сервису лицензирования через отдельный защищённый маршрут.
Реальные серверы лицензирования могут находиться в офисе компании, собственном центре обработки данных, на выделенном сервере или на другой подготовленной площадке. Их фактическое размещение не входит в клиентскую конфигурацию.
Если серверы переносятся, администратор меняет внутреннюю привязку профиля на шлюзе. Пока виртуальный адрес и профиль сохраняются, клиентским устройствам не нужно узнавать новый реальный адрес или получать доступ к новой сети. Это отделяет договорённость с клиентом от физической инфраструктуры поставщика.
Самообслуживание без самостоятельной выдачи прав
Портал самообслуживания снимает с администратора рутинную передачу ключей, но не отдаёт клиенту управление политикой безопасности.
Клиент может:
- создать разрешённое количество собственных устройств;
- получить одноразовую конфигурацию или QR-код;
- увидеть назначенные сервисы;
- сменить ключ своего устройства;
- отозвать потерянное или больше не используемое устройство.
Администратор поставщика управляет организациями, пользователями, профилями лицензирования и разрешениями устройств. Массовое назначение компании внутри системы всё равно превращается в отдельные проверяемые разрешения для выбранных устройств.
Что попадает в аудит
Система сохраняет значимые события без записи секретов:
- создание пользователя и устройства;
- назначение или отзыв профиля;
- получение одноразовой конфигурации;
- смена ключа;
- вход и проверку TOTP;
- изменение политики доступа;
- результат применения сетевых правил;
- отклонённые действия и попытки выйти за пределы полномочий.
Журнал отвечает не только на вопрос «кому выдали доступ», но и показывает, какому устройству, к какому профилю и когда это разрешение было применено или отозвано.
Что происходит при отзыве доступа
При отзыве профиля или устройства новые соединения блокируются, а относящиеся к ним активные соединения прекращаются. Остальные устройства той же организации продолжают работать.
Если управляющая часть временно недоступна или не может применить новую конфигурацию, шлюз сохраняет запретительный режим. Ошибка не должна приводить к молчаливому расширению доступа.
Что настраивается под конкретного поставщика ПО
Готовая система адаптируется под архитектуру существующих сервисов лицензирования и модель работы с клиентами. Настраиваются:
- набор сервисов и их TCP- или UDP-порты;
- профили лицензирования, доступные разным продуктам;
- организации, пользователи и допустимое число устройств;
- обязательность TOTP;
- порядок выдачи, согласования и отзыва доступа;
- срок действия приглашений и временных разрешений;
- правила аудита и срок хранения событий;
- фактические площадки размещения серверов лицензирования и резервные маршруты;
- оформление и инструкции клиентского портала.
Техническим специалистам
Каждое клиентское устройство имеет отдельный ключ WireGuard и собственный туннельный адрес /32. Профиль лицензирования содержит виртуальный IP-адрес и точные сопоставления протоколов и портов с реальными сервисами.
Проверка разрешения выполняется до преобразования адреса назначения. Затем nftables выполняет контролируемое преобразование и выбирает маршрут к нужной площадке. Порядок сетевой обработки описан в документации Netfilter hooks, а механизм преобразования адресов – в разделе NAT в nftables.
Непривилегированное веб-приложение управляет пользователями, устройствами, профилями и желаемой политикой. Отдельная минимальная сетевая служба применяет только типизированную конфигурацию WireGuard, nftables и маршрутов. Веб-приложение не получает произвольный административный доступ к сети сервера.
Итог
Эта система не просто шифрует соединение. Она убирает реальные сервисы лицензирования из публичного интернета и выдаёт каждому клиентскому устройству ровно тот сетевой доступ, который нужен для работы лицензированного программного обеспечения. Портал самообслуживания, TOTP, индивидуальный отзыв и аудит превращают технический туннель в управляемый бизнес-процесс.
Источники
- WireGuard: fast, modern, secure VPN tunnelWireGuard
- Netfilter hooksnftables project
- Performing Network Address Translationnftables project