Аппаратная защита 1С:Предприятия 8.3: как устроен USB-ключ и как заставить его работать
Содержание
HASP-ключ 1С — это USB-брелок с защищённым чипом, в котором записана лицензия на платформу 1С:Предприятие. Пока ключ виден программе, база запускается. Нет ключа (и нет программной лицензии) — платформа выдаёт ошибку и базу не открывает.
Чаще всего про HASP вспоминают в неудачный момент: после переустановки Windows, переезда на новый сервер или перевода бухгалтерии в терминал. Ниже — как устроена такая защита, какие бывают ключи, что ставить на компьютер, как настроить сетевой ключ и что проверять, когда 1С пишет «не обнаружен ключ защиты».
Как устроена аппаратная защита 1С
HASP (Hardware Against Software Piracy) — технология защиты, которую разработала компания Aladdin. Сейчас она развивается под маркой Sentinel. Фирма 1С использует её для аппаратной защиты платформы 8.x.
Схема работы простая:
- 🔑 В USB-ключе хранится лицензия: на сколько пользователей он рассчитан и для какого продукта (клиент или сервер 1С).
- 💻 Платформа при запуске обращается к ключу через драйвер защиты.
- ✅ Если ключ ответил и свободная лицензия есть — сеанс открывается и занимает одно место.
- 🔁 Пока сеанс работает, платформа периодически проверяет, на месте ли лицензия.
- 🚪 При выходе из программы место освобождается.
Сам ключ ничего не «знает» о вашей базе, организации или конфигурации. Он защищает именно платформу. Конфигурации (Бухгалтерия, ЗУП, УТ) лицензируются отдельно договором и регистрацией, а не ключом.
Аппаратная и программная лицензия
У 1С два способа защиты, и они работают одновременно:
| Параметр | Аппаратный ключ (HASP) | Программная лицензия |
|---|---|---|
| Носитель | USB-брелок | Файл лицензии на диске |
| Активация | Не нужна, вставил и работает | По пин-коду через мастер получения лицензии |
| Перенос на другой ПК | Переставил брелок | Через повторную активацию резервным пин-кодом |
| Что ломает | Потеря, поломка, проброс USB в виртуалку | Замена оборудования, переустановка ОС |
| Нужен драйвер | Да | Нет |
Программная лицензия хранится в файле с расширением .lic, обычно в папке C:\ProgramData\1C\licenses. Она привязана к параметрам компьютера. Если сменить материнскую плату или пересоздать виртуальную машину, лицензия перестанет подходить.
Лицензии из разных источников суммируются. Можно держать сетевой ключ на 5 пользователей и программный комплект ещё на 5: платформа возьмёт любую свободную.
Какие бывают HASP-ключи 1С и чем они отличаются
На корпусе ключа и в документах комплекта указана маркировка. По ней видно, что это за ключ и куда его вставлять.
- 👤 Локальный однопользовательский (маркировка ORGL8). Работает только на том компьютере, куда вставлен. Даёт право на одного пользователя. Сервер лицензий для него не нужен, только драйвер.
- 👥 Сетевой многопользовательский (NET5, NET10, NET20, NET50 и далее — число означает количество одновременных сеансов). Вставляется в один компьютер сети, а лицензии раздаёт всем через менеджер лицензий HASP License Manager.
- 🖥️ Серверный ключ. Лицензирует сам сервер 1С:Предприятия в клиент-серверном варианте. Бывает для 32-разрядного и для 64-разрядного сервера. Ставится на компьютер, где работает сервер 1С.
Что нужно для разных схем работы
| Схема | Какой ключ | Где вставлен | Что установить |
|---|---|---|---|
| Один бухгалтер, файловая база | ORGL8 | В его ПК | Драйвер защиты |
| Несколько ПК, файловая база в сети | NET5/NET10… | Любой ПК или сервер, который всегда включён | Драйвер + HASP LM на этом компьютере |
| Терминальный сервер | NET-ключ | Терминальный сервер или другой ПК в сети | Драйвер + HASP LM |
| Клиент-серверный вариант | Серверный + NET-ключи | Серверный — на сервер 1С; NET — где удобно | Драйвер, HASP LM для сетевых ключей |
Клиентские ключи и серверный ключ — разные вещи. Сетевой ключ на 20 пользователей не лицензирует сервер 1С, а серверный ключ не даёт ни одного рабочего места. Для клиент-серверной базы нужны оба вида лицензий.
Внешне ключи разных типов похожи. Если маркировка на корпусе стёрлась, тип ключа можно увидеть в мониторе ключей (о нём ниже) или в документах комплекта.
Установка драйвера HASP и настройка менеджера лицензий
Драйвер защиты
Без драйвера Windows видит ключ как неизвестное USB-устройство, а 1С его не видит вообще. Установить драйвер можно двумя способами:
- При установке платформы 1С отметьте компонент «Установить драйвер защиты» в мастере установки.
- Отдельно, через утилиту
haspdinst.exeиз дистрибутива Sentinel Run-time. Запуск из командной строки от имени администратора:
haspdinst.exe -i
Удаление старого драйвера — та же утилита с ключом -r. Это полезно, когда ключ перестал определяться после обновления Windows: старый драйвер удаляют, затем ставят свежий.
После установки драйвера откройте в браузере http://localhost:1947. Это Sentinel Admin Control Center — веб-консоль драйвера. В разделе ключей должен появиться вставленный брелок.
Индикатор на ключе тоже подсказывает: если светодиод горит ровно, драйвер ключ «подхватил». Не горит — проблема в порте, драйвере или самом ключе.
Менеджер лицензий HASP License Manager
Сетевой ключ сам по себе раздаёт лицензии только через HASP LM. Порядок:
- Выберите компьютер, который включён всегда, пока работают пользователи. Обычно это сервер.
- Вставьте NET-ключ и установите драйвер.
- Установите HASP License Manager (дистрибутив
lmsetup.exe). При установке выберите вариант «как служба» (Service), чтобы менеджер работал без входа пользователя в систему. - Проверьте в оснастке
services.msc, что служба HASP Loader запущена и стоит автоматический тип запуска. - Откройте в брандмауэре порт 475 (UDP и TCP) на этом компьютере.
Если NET-ключей несколько, вставлять их лучше в один компьютер с одним HASP LM.
Файл nethasp.ini на клиентах
По умолчанию 1С ищет сервер лицензий широковещательным запросом. В простой сети этого хватает. Если ключ не находится — сегменты сети, VPN, разные подсети, — пропишите адрес явно в файле nethasp.ini. Он лежит в папке conf каталога установки платформы, например C:\Program Files\1cv8\conf\nethasp.ini.
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10
NH_PORT_NUMBER = 475
NH_USE_BROADCAST = Disabled
NH_TCPIP_METHOD = UDP
NH_SERVER_ADDR — IP-адрес компьютера с HASP LM. Если серверов лицензий несколько, перечислите адреса через запятую. Отключение широковещания (NH_USE_BROADCAST = Disabled) ускоряет поиск ключа при запуске 1С.
Файл правится на каждом клиенте, а в терминальном варианте — на терминальном сервере.
Ключ не виден: диагностика по шагам
Сообщение 1С при отсутствии лицензии выглядит так: Не обнаружен ключ защиты программы или полученная программная лицензия! Это общая ошибка: она значит, что платформа не нашла ни аппаратную, ни программную лицензию. Искать причину удобнее «снизу вверх» — от железа к сети.
Чем смотреть ключи и занятые лицензии
- 🌐 Sentinel Admin Control Center (
http://localhost:1947) — список ключей, видимых драйвером на этом компьютере. - 📊 Aladdin Monitor — утилита для сетевых ключей. Показывает компьютеры с HASP LM, вставленные ключи и сколько лицензий занято прямо сейчас.
- ℹ️ Справка → О программе в самой 1С — сведения о лицензии, которую получил текущий сеанс.
В клиент-серверном варианте дополнительно помогает консоль кластера: в списке сеансов видно, какой сеанс какую лицензию получил. Из командной строки то же самое показывает утилита администрирования кластера:
rac session list --licenses
Перед командой нужно указать кластер: его идентификатор выводит rac cluster list.
Лицензирование 1С в виртуальных машинах и терминалах
Проброс ключа в виртуальную машину
Виртуальная машина не видит USB-порт хоста, пока его явно не пробросили. Тут три рабочих варианта:
- Проброс USB средствами гипервизора. VMware и Proxmox умеют передавать USB-устройство конкретной виртуальной машине. В Hyper-V штатного проброса USB для такой задачи нет.
- USB-over-IP. Ключ вставляется в сетевой USB-концентратор или в отдельный физический компьютер, а виртуальная машина подключает его по сети через программный клиент.
- Сетевой ключ на физической машине. NET-ключ стоит на хосте или любом другом физическом компьютере с HASP LM, а виртуальные машины получают лицензии по сети через порт 475. Это самый простой путь для клиентских лицензий.
Серверный ключ должен быть видим локально на компьютере, где работает сервер 1С. Для виртуального сервера это значит только проброс USB или USB-over-IP; через HASP LM серверную лицензию не раздать.
Программная лицензия в виртуальной машине работает, но она привязана к параметрам «железа» машины. Миграция на другой хост, смена числа процессоров, сетевой карты или пересоздание ВМ могут сделать лицензию недействительной. Тогда её придётся активировать заново резервным пин-кодом, а пин-кодов в комплекте ограниченное число.
Терминальный сервер и RDP
При работе через удалённый рабочий стол каждый сеанс 1С занимает отдельную лицензию. Локальный однопользовательский ключ ORGL8 для терминального доступа не подходит. Нужен сетевой многопользовательский ключ (или программный многопользовательский комплект) с числом мест не меньше числа одновременно работающих бухгалтеров.
Типичная схема для небольшой фирмы:
- NET-ключ вставлен в терминальный сервер ;
- там же установлены драйвер и HASP LM как служба;
- в
nethasp.iniна терминальном сервере прописан адрес127.0.0.1или собственный IP сервера.
Клиент-серверный вариант: кто берёт лицензию
В клиент-серверной базе клиентскую лицензию по умолчанию ищет сам клиент — на своём компьютере или в сети. Если удобнее, чтобы лицензии получал сервер 1С, в свойствах информационной базы в консоли кластера включают флажок «Выдача лицензий сервером 1С:Предприятия». Тогда ключ или HASP LM должен быть доступен с сервера, а на клиентах ничего настраивать не нужно.
Этот режим удобен, когда пользователи подключаются из разных офисов или через веб-клиент.
Частые ошибки с ключом защиты и что с ними делать
Не обнаружен ключ защиты программы после переустановки Windows. Драйвер не переносится вместе с данными: его ставят заново. Если лицензия была программной, ей тоже нужна повторная активация — старый файл .lic на новой системе не подойдёт.
Ключ периодически «отваливается» посреди работы. Частые причины:
- 🔌 ключ вставлен в разболтанный передний порт или через пассивный удлинитель;
- 💤 Windows отключает USB-порт ради экономии энергии — снимите эту галочку в свойствах корневого USB-концентратора в диспетчере устройств;
- 🌐 в схеме USB-over-IP пропадает связь с концентратором.
«Превышено количество пользователей» при свободных местах. Сеансы, оборванные отключением питания или разрывом сети, какое-то время держат лицензию. В клиент-серверном варианте такие сеансы видно в консоли кластера, их можно завершить. Завершение сеанса обрывает работу пользователя без сохранения — сначала убедитесь, что за этим сеансом никто не сидит.
Два сетевых ключа в разных местах, а лицензий видно меньше суммы. Клиент нашёл один HASP LM и остановился на нём. Перечислите оба адреса в NH_SERVER_ADDR или соберите ключи на одном компьютере.
Перезапуск службы HASP LM как способ «освободить» места. Помогает, но разом обрывает лицензии у всех, кто работает. Делайте это вне рабочего времени или после того, как пользователи вышли из 1С.
Эмуляторы ключа, «вылеченные» сборки платформы и программы, которые обещают «отвязать 1С от HASP», — это нелегальное использование программы. Кроме юридических рисков, такие сборки часто содержат вредоносный код и ломаются при обновлении платформы. Легальные варианты при потере ключа — восстановление через поставщика по документам комплекта или переход на программную лицензию.