Как разобраться в лицензиях 1С:Предприятие, определить источник их получения и очистить историю лицензий

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Понимаем окно "О программе": Текущая лицензия vs История базы данных

Для того чтобы проанализировать текущую ситуацию с лицензиями, рассмотрим структуру вывода информации в окне "О программе" (кнопка "i" в правом верхнем углу интерфейса 1С). Этот блок всегда разделен на несколько логических частей. Непонимание разницы между ними часто приводит к ложным выводам.

Проанализируем структуру этого окна по шагам:

  1. Раздел "Текущая:" — это самый важный блок. Он показывает лицензию, благодаря которой запущен и работает конкретно ваш текущий сеанс 1С. Если здесь написано Сетевой HASP4 ORGL8 50, получило клиентское приложение, это означает, что ваш компьютер самостоятельно нашел в локальной сети менеджер лицензий HASP LM и задействовал один свободный слот с красного сетевого ключа на 50 пользователей.
  2. Раздел "Информационная база:" — это исключительно историческая справка. Платформа 1С записывает сюда сведения обо всех лицензиях, под которыми когда-либо запускалась данная база. Если здесь фигурирует десяток различных ключей, это не значит, что все они сейчас подключены к серверу. Это лишь хронологический лог.
  3. Раздел "Конфигурация:" — указывает параметры защиты прикладного решения (конфигурации), если в ней используется дополнительная отраслевая защита (например, решения от СЛК или сторонних разработчиков).

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

Детальная расшифровка маркировок HASP-ключей и правила их совместной работы

Физические USB-ключи HASP от компании SafeNet (Gemalto), поставляемые фирмой 1С, делятся на несколько серий, каждая из которых имеет строго определенное назначение и уникальную маркировку на корпусе:

Важное ограничение при установке аппаратных ключей:

На одном физическом сервере (или в одной операционной системе) невозможно запустить два сетевых HASP-ключа одной серии (например, два ключа серии ORGL8 на 10 и 50 пользователей). Драйвер защиты и служба HASP License Manager инициализируют только один из них (обычно с наименьшим объемом лицензий), а второй останется неактивным. Чтобы обойти это ограничение, необходимо либо использовать ключи разных серий (например, объединить на одной машине ORGL8 на 100 мест и ORG8A на 300 мест, что даст суммарно 400 лицензий), либо разносить однотипные ключи на разные физические компьютеры сети, настраивая на каждом свой HASP LM.

Как выявить следы взлома и эмуляторов защиты

При аудите лицензионной чистоты системный администратор должен обращать пристальное внимание на подозрительные записи в окне "О программе". Рассмотрим показательный пример:

Локальный HASP4 ORGL8 500

Давайте проанализировать эту запись. С технической точки зрения **такого оригинального аппаратного ключа в природе не существует**. Компания 1С никогда не выпускала локальных (однопользовательских) ключей на 500 рабочих мест. Фирменный ключ на 500 пользователей всегда является сетевым и поставляется исключительно в серии ORG8B.

Появление строчки Локальный... ORGL8 500 — это стопроцентный маркер того, что на сервере или локальном компьютере развернут эмулятор защиты (например, Virtual Usb Bus, UniKey или применены патчи к файлам платформы backbas.dll). Даже если сейчас вы используете легальные программные лицензии, наличие этой записи в блоке истории говорит о том, что ранее система подвергалась взлому, и остатки ломаных драйверов все еще могут находиться в операционной системе, создавая риски юридического и технического характера.

Как полностью очистить историю лицензий в базе данных 1С

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

Очистка истории лицензий в клиент-серверном варианте (SQL Server / PostgreSQL)

В серверных базах вся история работы с ключами записывается в таблицу настроек. В зависимости от версии платформы целевые данные располагаются в таблице Files или Params в строке со служебным именем файла c01b78f6-1525-41b1-9cc1-69e3da58d2ac.pfl.

Для удаления истории нам потребуется выполнить SQL-запрос к базе данных, который обнулит бинарное поле этой настройки. Выберите СУБД, под управлением которой работает ваш сервер, и выполните соответствующий скрипт.

Пример SQL-запроса для Microsoft SQL Server:


UPDATE Files 
SET BinaryData = CONVERT(varbinary(max), ''), datasize = 0 
WHERE FileName = 'c01b78f6-1525-41b1-9cc1-69e3da58d2ac.pfl';

Пример SQL-запроса для PostgreSQL:


UPDATE files 
SET binarydata = ''::bytea, datasize = 0 
WHERE filename = 'c01b78f6-1525-41b1-9cc1-69e3da58d2ac.pfl';

После выполнения запроса обязательно перезапустите службу сервера 1С:Предприятия (1C:Enterprise 8.3 Server Agent), чтобы очистить кэш сервера. При следующем запуске базы данных раздел "Информационная база" в окне лицензирования будет девственно чист.

Очистка истории лицензий в файловом варианте (база .1CD)

В файловом режиме напрямую выполнить SQL-запрос невозможно. Чтобы безопасно вырезать запись об истории лицензий, выполним следующие шаги:

  1. Сделайте резервную копию файла 1Cv8.1CD.
  2. Завершите работу всех пользователей и закройте Конфигуратор.
  3. Используйте специализированные внешние обработки очистки (например, инструмент класса HaspCleaner), работающие через низкоуровневые библиотеки манипулирования структурой файлов 1CDLib. Данные инструменты находят в таблице Params строку с именем файла настроек лицензий и очищают её бинарное содержимое аналогично SQL-запросу.

Где искать и как администрировать программные лицензии (.lic)

Если ваша компания перешла на использование современных программных лицензий (пин-кодов), то вместо аппаратных ключей система оперирует зашифрованными файлами с расширением .lic.

Разберем основные особенности работы с ними:

Где физически лежат файлы лицензий?
В операционной системе Windows платформа осуществляет поиск файлов .lic в строго определенных каталогах. Чаще всего они создаются в общей системной папке профиля всех пользователей:

C:\ProgramData\1C\licenses

Также платформа может искать их в каталоге установки платформы (например, C:\Program Files\1cv8\conf) или в папке профиля конкретного пользователя, под которым запущена служба сервера или сеанс 1С.

Особенности привязки и восстановления:
Программная лицензия жестко привязывается к ключевым параметрам компьютера (имя машины, модель процессора, объем ОЗУ, параметры сетевых плат, версия ОС и т.д.). Изменение любого из этих параметров приводит к тому, что лицензия "слетает". Для ее восстановления требуется использовать резервный пин-код.

Важное правило повторной активации:

При использовании нового пин-кода крайне важно вводить регистрационные данные владельца (ФИО, Название компании, адрес) буква в букву так же, как они были заполнены при самой первой активации комплекта. Малейшее расхождение (например, написание "ООО" вместо "Общество с ограниченной ответственностью") приведет к отказу Центра лицензирования 1С.

Использование утилиты RING для восстановления данных:
Если вы потеряли регистрационную карточку, заполненную много лет назад, вы можете восстановить эти данные прямо из действующего файла лицензии. Начиная с версии платформы 8.3.8, в комплект поставки входит консольная утилита RING (1c-enterprise-ring). С ее помощью администратор может прочесть зашифрованный файл .lic и извлечь сохраненный внутри XML-блок с регистрационными данными организации и ранее активированным пин-кодом. Это позволяет оперативно выполнить реактивацию лицензии при изменении аппаратной конфигурации сервера без длительного ожидания ответов от техподдержки.

← На главную