Администрирование · 12 мин
Как работает аппаратная защита 1С: ключи, лицензии и типичные проблемы
Как устроена аппаратная защита 1С: USB-ключи HASP, программные лицензии, сервер лицензий, типичные ошибки «не найдена лицензия» и способы их устранения.
Аппаратная защита 1С — это механизм контроля лицензий, который не даёт запускать платформу и конфигурации без подтверждения права использования. Исторически защита строилась на USB-ключах HASP (SafeNet), а с выходом платформы 8.3 к ним добавились программные лицензии, привязанные к параметрам компьютера. Понимание того, какой тип защиты используется и как система ищет лицензию, избавляет от большинства ошибок вида «не найдена лицензия для использования программы».
При запуске 1С выполняет поиск лицензии в строго определённом порядке: сначала проверяет локальный компьютер (программные лицензии и локальный USB-ключ), затем сервер 1С:Предприятия, затем сетевые ключи HASP, доступные по сети через менеджер лицензий. Если ни на одном этапе подходящая лицензия не найдена, пользователь получает сообщение об ошибке, а в технологическом журнале фиксируется цепочка неудачных попыток.
Практическая сложность в том, что ключи бывают разных типов, лицензии имеют разную «ёмкость», а сетевой поиск зависит от настроек сети и служб. Ниже разобраны типы ключей, механика проверки, порядок диагностики и типичные ошибки администрирования.
Какие типы ключей и лицензий существуют в 1С
Фирма «1С» применяет два принципиально разных способа защиты. Первый — аппаратные ключи HASP, которые физически вставляются в USB-порт. Второй — программные лицензии, которые активируются пин-кодом и «привязываются» к параметрам конкретного компьютера или сервера. Оба способа могут сосуществовать в одной инфраструктуре, но у них разные правила распространения и отказоустойчивости.
Аппаратные ключи делятся на несколько категорий. Ключи типа ORGL8 (локальные, фиолетовые) выдают одну лицензию на компьютер, куда вставлен ключ. Сетевые ключи серий ENSR8 и EN8SA (красные) содержат несколько клиентских лицензий — от 5 до 500 — и раздаются по сети через менеджер лицензий HASP. Серверные ключи (зелёные, например EN8SA для сервера) лицензируют сам сервер 1С:Предприятия и не дают клиентских лицензий.
Программная лицензия хранится в файлах с расширением .lic в служебных каталогах платформы (обычно в каталоге conf внутри ProgramData или в профиле пользователя). При активации система собирает «отпечаток» компьютера: серийные номера дисков, MAC-адреса, параметры процессора, имя и версию ОС. Если существенная часть параметров изменится — лицензия становится недействительной, и её придётся восстанавливать резервным пин-кодом.
Как платформа ищет лицензию при запуске
Понимание порядка поиска — ключ к диагностике. Клиентское приложение 1С при старте последовательно проверяет несколько источников: локальные программные лицензии, локальный USB-ключ, лицензии на сервере 1С:Предприятия (если база клиент-серверная), затем расширенный поиск по сети — опрос менеджеров лицензий HASP по протоколу UDP на порту 475.
Если лицензия найдена, она «занимается» на весь сеанс работы. В сетевом ключе на 50 лицензий одновременно могут работать 50 пользователей: пятьдесят первый получит отказ. При завершении сеанса лицензия освобождается, но при аварийном закрытии клиента освобождение может задержаться на несколько минут — это нормальное поведение менеджера лицензий.
В клиент-серверном режиме возможна раздача лицензий самим сервером 1С: тогда ключ (или программные лицензии) устанавливается на сервер, а клиенты получают лицензии через него. Это избавляет от необходимости настраивать сетевой доступ к HASP с каждого рабочего места и упрощает учёт занятых лицензий через консоль кластера.
- 1Проверка программных лицензий на локальном компьютере
- 2Опрос локального USB-ключа HASP
- 3Запрос лицензии у сервера 1С:Предприятия (в клиент-серверном режиме)
- 4Сетевой поиск менеджеров лицензий HASP по UDP, порт 475
- 5Выдача ошибки, если ни один источник не вернул подходящую лицензию
Установка и настройка сетевого ключа HASP
Для раздачи лицензий по сети ключ вставляется в выделенный компьютер или сервер, где устанавливается менеджер лицензий — HASP License Manager (служба HASP Loader) либо драйвер Sentinel с аналогичной функцией. Менеджер слушает сеть и отвечает на запросы клиентов 1С. Один менеджер в сегменте сети обслуживает один ключ заданной серии: два одинаковых сетевых ключа на одном компьютере работать не будут — виден будет только один.
На клиентских машинах поиск сетевого ключа можно уточнить файлом nethasp.ini, который размещается в каталоге conf платформы. В нём задаётся адрес сервера с ключом (NH_SERVER_ADDR), протокол и таймауты. Явное указание адреса сервера ускоряет запуск и делает поиск предсказуемым в сетях, где широковещательные запросы не проходят между сегментами.
Важное ограничение: широковещательный поиск работает только в пределах одного широковещательного домена. Если клиенты находятся в другой подсети или за маршрутизатором, без nethasp.ini с явным адресом сервера ключ не будет найден. Также убедитесь, что брандмауэр на сервере с ключом пропускает трафик на порт 475 по UDP и TCP.
[NH_COMMON]
NH_IPX = Disabled
NH_NETBIOS = Disabled
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.0.10
NH_TCPIP_METHOD = UDP
NH_USE_BROADCAST = DisabledПрограммные лицензии: активация и привязка к оборудованию
Программная лицензия активируется через мастер, который запускается автоматически при первом старте платформы без ключа, либо вызывается через утилиту ring (команда ring license activate) в составе дистрибутива платформы. Понадобится пин-код из комплекта поставки. Активация возможна автоматически (через интернет), по электронной почте или по телефону — с вводом ответного кода.
Ключевой риск программной лицензии — привязка к аппаратным параметрам. Замена материнской платы, сетевой карты, диска или переустановка ОС могут «обнулить» лицензию. На виртуальных машинах ситуация сложнее: изменение конфигурации ВМ (добавление vCPU, смена MAC-адреса, миграция между хостами) часто приводит к потере лицензии. Поэтому для виртуальных серверов надёжнее аппаратный ключ, проброшенный через USB-over-IP, либо резервирование пин-кодов.
В комплекте поставки обычно несколько пин-кодов: основной и резервные. Резервные нужны именно для восстановления после смены оборудования. Храните конверт с пин-кодами в надёжном месте: при исчерпании всех пин-кодов потребуется обращение в центр лицензирования с объяснением причин, что занимает время.
Типичные ошибки и их диагностика
Самая частая ситуация — сообщение «Не найдена лицензия. Не обнаружен ключ защиты программы или полученная программная лицензия». Причин несколько: служба HASP Loader остановлена, порт 475 закрыт брандмауэром, ключ не той серии (например, локальный ключ используется для сервера), либо все лицензии сетевого ключа заняты. Диагностику начинайте с сервера, где стоит ключ: проверьте, что служба запущена и ключ виден в системе.
Отдельный класс проблем — конфликт ключей разных серий на одном компьютере. Локальный ключ ORGL8 и сетевой ENSR8 физически совместимы, но два сетевых ключа одной серии на одном менеджере лицензий не работают. Если нужно суммировать лицензии, ключи размещают на разных серверах, а клиентам в nethasp.ini перечисляют оба адреса.
Для клиент-серверных баз проверяйте, не ищет ли клиент лицензию «мимо» сервера. Если лицензии должна раздавать служба агента сервера 1С, но на сервере нет ни ключа, ни программных лицензий, клиенты получат отказ, даже если сетевой ключ HASP в сети исправен — порядок поиска и настройки раздачи имеют значение.
Как проверить, что лицензирование работает корректно
Контроль начинается с наблюдения за занятыми лицензиями. Для сетевых ключей HASP используется веб-интерфейс Admin Control Center (обычно доступен на порту 1947 сервера с ключом), где видно число занятых и свободных лицензий и список сессий. Для сервера 1С занятые лицензии отображаются в консоли кластера в разделе сеансов.
Полезно периодически сверять фактическое число одновременно работающих пользователей с ёмкостью ключа. Если отказы «лицензии закончились» возникают регулярно, варианты решения — докупить ключ, перенести часть пользователей на программные лицензии или настроить раздачу через сервер 1С. Учтите, что лицензии разных серий не суммируются на одном менеджере.
Как проверить результат
Служба запущена, ключ виден в Admin Control Center
Служба остановлена или ключ не определяется системой
Порт отвечает, клиент находит лицензию без задержек
Таймауты, клиент долго ищет ключ или выдаёт ошибку
Число занятых лицензий соответствует реальным пользователям
Лицензии «висят» после завершения сеансов или их не хватает
Платформа стартует без запроса активации
Появляется окно мастера получения лицензии
Аппаратный ключ или программная лицензия: что выбрать
Выбор зависит от инфраструктуры. Аппаратный сетевой ключ удобен там, где много пользователей и стабильная локальная сеть: лицензии не зависят от железа отдельных машин, ключ легко перенести на другой сервер. Минусы — физическая уязвимость (ключ можно потерять или сломать), зависимость от сетевой доступности и ограничение на один ключ серии на сервер.
Программные лицензии не требуют физического носителя и удобны для небольших установок и терминальных сценариев. Минусы — чувствительность к смене оборудования и виртуализации, необходимость беречь пин-коды. Для виртуальных сред и критичных систем чаще выбирают аппаратный ключ или комбинацию: сервер лицензируется ключом, часть клиентов — программными лицензиями.
Сравнение вариантов
Подходит для многопользовательских сетей: лицензии не привязаны к железу клиентов, легко переносятся. Ограничение: один ключ серии на сервер, зависимость от сети и порта 475.
Простое решение для одного компьютера или небольшого офиса. Ограничение: лицензия только там, где вставлен ключ.
Не требует USB-устройства, удобна для виртуальных и терминальных сценариев при стабильной конфигурации. Ограничение: слетает при смене оборудования, нужны резервные пин-коды.
Клиенты получают лицензии от сервера, не нужен доступ к HASP из сети. Ограничение: требует лицензий на самом сервере и работает только в клиент-серверном режиме.
Часто задаваемые вопросы
Можно ли использовать один ключ HASP одновременно для файловой и клиент-серверной базы?
Да, если ключ содержит достаточное число клиентских лицензий. Клиентские лицензии не различают режим работы базы. Но сам сервер 1С:Предприятия требует отдельной серверной лицензии — отдельного ключа или программной лицензии на сервер.
Почему после замены компьютера программная лицензия перестала работать?
Лицензия привязана к аппаратным параметрам: дискам, сетевым адаптерам, процессору, ОС. Замена компьютера меняет весь «отпечаток». Активируйте лицензию заново резервным пин-кодом из комплекта поставки.
Клиенты в другой подсети не видят сетевой ключ. Что делать?
Широковещательный поиск не проходит через маршрутизаторы. Создайте на клиентах файл nethasp.ini в каталоге conf платформы и укажите в параметре NH_SERVER_ADDR адрес сервера с ключом, отключив broadcast-поиск.
Как узнать, сколько лицензий занято на сетевом ключе?
Откройте в браузере Admin Control Center на сервере с ключом (порт 1947) и перейдите в раздел сессий ключа. Там видно число занятых лицензий и компьютеры, которые их удерживают.
Что будет, если вытащить ключ HASP во время работы пользователей?
Текущие сеансы обычно продолжат работать некоторое время, но новые запуски получат отказ. При длительном отсутствии ключа активные сеансы также завершатся с ошибкой. Выключайте ключ только после завершения всех сеансов.
Можно ли пробросить USB-ключ в виртуальную машину?
Да, через функции проброса USB гипервизора или устройства USB-over-IP. Это распространённая практика для виртуальных серверов лицензирования. Убедитесь, что проброс стабилен: потеря связи с ключом равнозначна его извлечению.
Что важно запомнить
Защита 1С строится на ключах HASP и программных лицензиях с привязкой к оборудованию. Платформа ищет лицензию последовательно: локально, на сервере 1С, затем по сети через порт 475. Держите службу менеджера лицензий запущенной, настройте nethasp.ini для многосегментных сетей, берегите резервные пин-коды и контролируйте занятые лицензии через Admin Control Center или консоль кластера.