API лицензий · 99,98%
+995 574 856 856 [email protected] Грузия, Кутаиси
Безопасность Revit Server

Revit Server Guard

Контроль доступа, аудит, администрирование и защищённая эксплуатация инфраструктуры Autodesk Revit Server.

Версия 1.1.4 Корневое решение
What’s new

История версий

На этой странице история версий пока не опубликована.

Описание

RSG · подробный обзор

Что такое RSG и зачем он нужен.

Revit Server Guard — программный шлюз, который ставится на тот же хост, что и Autodesk Revit Server. Он перехватывает TCP- и HTTP-трафик к портам RS, читает его метаданные (кто пользователь, какой проект, какой раздел, какое действие) и применяет правила доступа, которых нет в самом Revit Server.

Обзор — сводная таблица назначений доступаСтартовый экран администратора. Сводная таблица показывает, кто из пользователей какую роль имеет в каком проекте, с раскладкой по разделам/дисциплинам. Здесь же — переключение «таблица / дерево», поиск, групповые операции и обновление данных. Проекты — каталог проектов Revit ServerСвязь реальных проектов Revit Server с администрированием RSG: путь на сервере, страна, дерево папок, привязки разделов и назначения пользователей. Роли — матрица прав по разделамОсновное место настройки авторизации: какая роль может писать в какой раздел или дисциплину. Журнал аудита — поток событий и экспортПолная история изменений: кто, что, где и когда сделал, с фильтрами по проекту, пользователю, типу действия и экспортом в PDF/XLSX.

01 — Обзор

Что такое RSG и зачем он нужен.

Revit Server Guard — программный шлюз, который ставится на тот же хост, что и Autodesk Revit Server. Он перехватывает TCP- и HTTP-трафик к портам RS, читает его метаданные (кто пользователь, какой проект, какой раздел, какое действие) и применяет правила доступа, которых нет в самом Revit Server.

Из коробки Revit Server не даёт прозрачных прав доступа по пользователю, проекту, разделу и действию. Если участник имеет доступ к серверу, в RS нет встроенной модели прав, которая надёжно ограничит его только своей зоной ответственности. Для маленькой команды это может быть допустимо. Для проектов с большим числом компаний, временных участников и разной ответственностью одних инструкций и регламентов недостаточно: RSG убирает это техническое ограничение.

Кому это нужно

  • Проектным бюро, которые ведут несколько заказчиков параллельно и не хотят, чтобы команда заказчика А видела, что делается для заказчика Б.
  • BIM-координаторам, которым нужно разделять права на уровне разделов модели — конструкторы видят и редактируют структуру, инженеры МЭП — свой раздел, и так далее.
  • Подрядчикам и фрилансерам, которым отдают доступ временно, на конкретный проект и конкретный раздел, и которых нужно заблокировать одной кнопкой по окончании.
  • Командам с регуляторными требованиями (госконтракты, объекты с ограниченным доступом), где обязателен журнал кто-что-когда открывал.

01 Обзор — сводная таблица назначений доступаСтартовый экран администратора. Сводная таблица показывает, кто из пользователей какую роль имеет в каком проекте, с раскладкой по разделам/дисциплинам. Здесь же — переключение «таблица / дерево», поиск, групповые операции и обновление данных.

02 — Архитектура

Четыре компонента, один Windows-хост.

RSG — это один монолит, но четыре отдельных модуля, которые ставятся вместе. Это сделано осознанно: каждый компонент отвечает за свой контур и при необходимости перезапускается независимо.

Что делает каждый компонент

  1. RSG.Proxy — TCP/HTTP-прокси, который слушает на порту 8086 вместо штатного RS-порта. Распаковывает SOAP-конверты Revit Server, достаёт метаданные запроса, спрашивает у RSG.Server: «можно?» — и либо пропускает, либо возвращает 403 клиенту.
  2. RSG.Server — Windows-сервис на.NET 8, который держит правила доступа в локальной SQLite/SQL Server, ведёт журнал аудита, проверяет лицензию и общается с License API. Это «мозг» решения.
  3. RSG.AdminPanel — React SPA, доступная на localhost:5080 (или внутри корпоративной сети по HTTPS). Через неё админ создаёт пользователей, проекты, правила и смотрит аудит.
  4. RSG.LicenseTool — отдельный CLI-инструмент для оффлайн-активации. Используется только в air-gapped сетях, в обычной онлайн-инсталляции не нужен.

Важно

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

02 RS-шлюзы — управление прокси и защитойЗащитный слой RSG для сетевого доступа к Revit Server: хосты, прокси-пути, статус защиты и запуск/остановка службы.

03 — Контроль доступа

Три уровня прав: проект, раздел, действие.

RSG разрешает права не «всё или ничего», а гранулярно. Вы не выдаёте «доступ к серверу» — вы выдаёте «доступ к проекту X, разделу Архитектура, только чтение». Под капотом это происходит на уровне SOAP-запросов Revit Server, где RSG смотрит на тип операции и принимает решение.

Пользователи и AD-группы привязываются к ролям. Роль — это набор разрешений для конкретного проекта и его разделов. Один пользователь может иметь разные роли в разных проектах: «координатор» в одном, «наблюдатель» в другом, «нет доступа» в третьем.

Уровни

  • Проект. Базовый юнит — корневая папка-проект на сервере. Пользователь видит проект в списке, но открыть его не может.
  • Раздел модели. Архитектура, конструкции, инженерия, координация — каждый раздел может иметь свои права. Подрядчик-инженер открывает только свой раздел, остальное даже не подтягивается в Revit-клиент.
  • Действие. read, edit. Просмотр без правки — отдельное право от правки без публикации.

03 Проекты — каталог проектов Revit ServerСвязь реальных проектов Revit Server с администрированием RSG: путь на сервере, страна, дерево папок, привязки разделов и назначения пользователей.

Роли и группы

Ниже — как это выглядит в админ-панели. Матрица: проекты по строкам, роли по столбцам, в ячейках — состояние разрешения.

Легенда: полный доступ · только чтение · по разделам · нет

Пример конфигурации правила

Каждое правило выражается JSON-документом, который можно как редактировать через UI, так и импортировать пакетно из CSV/JSON для миграции с самописных решений.

04 Роли — матрица прав по разделамОсновное место настройки авторизации: какая роль может писать в какой раздел или дисциплину.

04 — Админ-панель

Веб-админка вместо CLI и реестра.

Всё управление — через React-SPA, доступную локально на хосте RSG. Никаких regedit, gpedit, ручных правок XML. Админ открывает страницу в браузере, видит дашборд, лицензию, аудит и матрицу прав. Если нужен удалённый доступ — поднимается за reverse-proxy с TLS.

Главная — dashboard. Сверху — четыре числа за сутки, ниже — лента событий и панель лицензии.

05 Пользователи — реестр идентичностей и назначенияКонтролируемый список пользователей: статус, проекты, роли и действия по созданию, редактированию, импорту и экспорту учётных записей.

06 Разделы — каталог дисциплин и привязкиСправочник дисциплин AR, KR, MEP и привязки между разделами и реальными папками проектов Revit Server.

05 — Аудит

Каждое действие — в журнале.

Аудит — не опциональная фича, а часть основного потока. Каждый запрос, который проходит через RSG.Proxy, оставляет запись: кто, что, к какому проекту/разделу, какое действие, какой результат, с какого IP, с какой версии Revit. Логи хранятся локально, экспортируются в CSV/JSON/SIEM.

В админ-панели — таблица с фильтрами по любому полю. По клику на строку открывается полный JSON события.

Что фиксируется

  • Identity: AD-логин, IP, версия Revit-клиента, имя машины пользователя.
  • Target: ID проекта, имя файла, раздел/workset, ID элемента (если применимо).
  • Action: open, sync_to_central, reload_latest, create_local, publish, delete_local, borrow_workset, и т.п.
  • Result: allow / deny / warn (warn — не заблокировано, но помечено для ревью).
  • Context: по какому правилу принято решение, метка времени с TZ, длительность операции.

Срок хранения

По умолчанию журнал хранится 18 месяцев. Это настраивается. Логи можно стримить в SIEM-систему по webhook (JSON-payload), записывать в SQL Server вашей компании, или экспортировать пакетно через CLI.

07 Журнал аудита — поток событий и экспортПолная история изменений: кто, что, где и когда сделал, с фильтрами по проекту, пользователю, типу действия и экспортом в PDF/XLSX.

08 Бэкапы — сетка резервного копирования проектовЦентрализованное расписание бэкапов проектов Revit Server: путь хранения, расписание, дата последнего бэкапа и статус успеха/ошибки.

06 — Лицензирование

Подписанная лицензия с привязкой к машине.

Лицензия RSG — это подписанный конверт (LicenseEnvelope), который содержит payload с правами и подпись. Подпись делается на нашей стороне приватным ключом ECDSA P-256, проверяется на стороне клиента публичным ключом, который вшит в бинарник RSG.

Это значит: подменить лицензию или поднять «свой License API» по тому же URL невозможно без приватного ключа. Кейген физически не существует — нужно либо взломать ECDSA P-256 (теоретически нереалистично), либо украсть приватный ключ из нашего HSM.

Отпечаток машины

Лицензия привязывается к машине через fingerprint — SHA-256 от детерминированной строки, собранной из имени машины и MAC-адресов сетевых карт.

Сетевые карты сортируются — это важно. Если в системе несколько MAC, порядок их перечисления операционкой может меняться, сортировка убирает эту нестабильность. Имя машины приводится к верхнему регистру по той же причине.

Онлайн и офлайн активация

Когда на хосте есть исходящий HTTPS на наш домен — активация делается одним кликом из админ-панели. RSG.Server отправляет JSON с fingerprint и метаданными, License API возвращает подписанный envelope, который сразу применяется.

Когда сети нет (закрытый контур, гос-сегмент, изолированный полигон) — активация идёт через файлы:

  1. В админ-панели → «Сгенерировать запрос лицензии» → файл request.rsgreq на флешку.
  2. В личном кабинете на сайте → «Активировать офлайн» → загрузить .rsgreq → получить license.rsglic.
  3. Загрузить .rsglic обратно в админ-панель. Готово.

Что произойдёт после истечения

После окончания триала или срочной лицензии RSG переходит в режим bypass — защита снимается, Revit Server работает как до установки RSG. Это сделано осознанно: мы не хотим, чтобы клиент в 23:50 в пятницу упирался в неработающий продакшн. Когда лицензия восстановлена, RSG возвращается в full автоматически.

09 Конфигурация — системные настройки, лицензия и внешний видЭкран настройки лицензии, брендинга, базы данных, портов, адреса API, пути сервера, темы, языков, логотипа и пароля администратора.

07 — Установка

За один вечер: от установщика до первой роли.

RSG ставится Windows-инсталлятором (MSI или EXE). Никаких docker, никаких kubernetes, никаких внешних зависимостей кроме.NET 8 LTS Runtime — он либо уже стоит на Windows Server 2022/2025, либо подтягивается инсталлером.

Что нужно до установки

  • Windows Server 2019 / 2022 / 2025 на том же хосте, где Revit Server.
  • Учётная запись с правами админа на этот хост.
  • Доступ к БД Revit Server в read-only (RSG не пишет в неё, только читает метаданные проектов).
  • Один свободный TCP-порт (по умолчанию 8086) — на него встанет RSG.Proxy.
  • ~250 МБ места под установку, ~5 ГБ под журнал аудита на полгода.

Шаги

  1. Скачать RSG-Setup-1.0.0.exe из личного кабинета.
  2. Запустить инсталлер от имени админа. Указать порт прокси и путь к БД RS.
  3. Открыть http://localhost:5080 — мастер первого запуска предложит создать суперюзера админ-панели.
  4. Импортировать пользователей из AD (одной кнопкой) или вручную.
  5. Создать первое правило доступа на тестовом проекте.
  6. Перенаправить Revit-клиенты на новый порт прокси (через DNS или групповую политику).

Конфигурация

Основные параметры — в appsettings.json RSG.Server. Большинство админов туда никогда не заходят — всё настраивается через UI — но иногда нужно.

08 — Совместимость

Работает с тем, что у вас уже есть.

RSG проектировался под существующие инсталляции, а не под греенфилд. Нет требований к новой версии Windows, к новой версии Revit Server, к чистой инфраструктуре. Что есть — с тем и работает.

Производительность

Прокси добавляет ~3–8 мс латентности на запрос на типичной нагрузке (измерено на Xeon E-2336, Windows Server 2022, 100 одновременных Revit-клиентов). Для пользовательского опыта это незаметно — Revit и сам по себе не славится молниеносностью при работе по сети.

  • RAM: 200–400 МБ rezident при 100 активных юзерах.
  • CPU: <5% одного ядра при пиковой нагрузке.
  • Disk I/O: ~15 МБ/час журнала аудита при 100 юзерах.
  • Network: близко к нулевому overhead — RSG не буферизует, а проксирует поток.

10 Статистика — аналитика активности и отчётыГрафики и сводки активности: проекты, пользователи, изменения, выгрузки и отдельный экспорт активности моделей проекта.

09 — Безопасность

Что RSG защищает — и чего не делает.

Честно: RSG не панацея. Он закрывает один конкретный класс задач — авторизацию доступа к Revit Server. Ниже — что внутри его модели угроз, и что снаружи.

В модели угроз RSG

  • Insider с легитимным AD-доступом, который пытается прочитать чужие проекты. Закрыто: проверка проект+раздел+действие на каждом запросе.
  • Подрядчик, чей контракт закончился, но AD-аккаунт ещё не отключили. Закрыто: правила с validUntil и denyOnExpired: true.
  • Утечка через подмену сайта или License API. Закрыто: лицензия подписана ECDSA P-256, ключ зашит в клиент. Подмена сайта без приватного ключа невозможна.
  • Перенос лицензии на чужую машину. Закрыто: machine fingerprint в payload, проверка при каждом старте сервиса.

Вне модели угроз RSG

  • Скомпрометированный AD-сервер. Если злоумышленник получил права DA — он получит и доступ к RSG.AdminPanel. Это задача защиты AD, не RSG.
  • Физический доступ к хосту RSG. С локальным админ-доступом можно остановить сервис. Защита уровня инфраструктуры — bitlocker, физический контроль.
  • Скриншоты и фотографии экрана. Если у пользователя легитимный доступ к проекту, он может его увидеть и сфотографировать. RSG не DLP-решение.
  • Утечки через локальные файлы Revit. Когда Revit-клиент скачал локальную копию проекта — она физически лежит у пользователя на диске. Здесь нужны диск-шифрование и DLP.

Криптография

  • Подпись лицензии: ECDSA P-256 + SHA-256, формат IEEE P1363, длина 64 байта.
  • Связь с License API: TLS 1.2+, валидация сертификата.
  • Внутренний трафик AdminPanel ↔ RSG.Server: HTTPS с самоподписанным сертификатом по умолчанию (можно подменить корпоративным).
  • Хранение приватного ключа подписи на нашей стороне: managed key vault с rotation policy.

10 — вопросы и ответы

Часто задаваемые — про RSG конкретно.

Что произойдёт, если RSG.Server упал ночью?

RSG.Proxy в этом случае переходит в режим fail_open или fail_closed — настраивается. По умолчанию fail_open: если мозг недоступен, прокси пропускает трафик к Revit Server без проверок (как будто RSG нет). Это даёт безопасное поведение при сбое RSG: бизнес работает. Если требования компании — наоборот, лучше всё заблокировать чем рисковать утечкой — ставится fail_closed.

А если поменялся MAC сетевой карты?

Fingerprint станет другим, и лицензия будет отвергнута. Решений два: либо при покупке указать quantity = 2 (тогда лицензия валидна для двух fingerprint, и можно использовать ещё одну активацию), либо запросить пере-выдачу через личный кабинет — она бесплатна и делается мгновенно.

Можно ли поставить RSG в HA-конфигурации (две ноды)?

Сейчас (v2.4.x) — нет, только single-instance. HA-конфигурация в roadmap на v3.0. В качестве workaround обычно держат «холодную» вторую ноду с тем же конфигом и переключают DNS при сбое.

RSG читает файлы .rvt?

Нет. RSG работает на уровне сетевого протокола Revit Server — он видит SOAP-запросы, метаданные проектов, имена разделов. Содержимое моделей он не парсит и не хранит. Для контентного контроля (DLP по содержимому моделей) нужны отдельные решения.

Сколько лицензий нужно для двух Revit Server?

Две — каждая лицензия привязана к одному fingerprint, а fingerprint-ы у двух хостов разные. Скидку для multi-server-конфигураций просчитываем индивидуально, пишите в info@.

Можно ли мигрировать с самописного решения?

Если у вас есть какая-либо матрица «пользователь × проект × право» в Excel/CSV/SQL — её импорт в RSG поддерживается через CLI rsg-import. Если самописное решение делало что-то более сложное (например, права по геометрическим признакам внутри модели) — это RSG не покрывает, придётся часть оставить как было.

Готовы попробовать?

Поставьте RSG рядом с Revit Server сегодня.3 месяца триала, без карт.

Скачайте установщик из личного кабинета, поставьте на тот же хост, что и RS, дайте полчаса работы. За вечер увидите, что RSG делает то, что Revit Server из коробки не делает.

Сообщество

Отзывы пользователей

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

0 отзывов

Отзывы

Пока нет одобренных отзывов.

Оставить отзыв

Отзывы проходят модерацию перед публикацией. Регистрация не требуется. Privacy

Ваша оценка