===== Установка и настройка HASP License Manager для 1С:Предприятие 8.3 ===== Помимо [[1c:1c-enterprise-8-3-cluster-deployment:connecting-hasp-license-keys|драйвера ключа]] на серверы 1С нужно установить службу менеджера лицензий "**HASP License Manager**" (**HASP LM**), которая будет раздавать клиентам 1С подключенный к серверу USB-ключ с клиентскими лицензиями. **HASP LM** регистрируется на сервере в качестве системной службы **HASP Loader** с исполняемым процессом **nhsrvice.exe**, который открывает прослушиватель на порту **TCP 475** и отвечает на запросы клиентов, желающих получить клиентскую лицензию. Скачать инсталлятор "HASP License Manager" последней версии **8.32.5.40** (**May 2008**) раньше можно было по ссылке с сайта Центр загрузки **Sentinel** (thales-sentinel.ru) , но теперь эта ссылка не работает. Поэтому мы выложили данный архивный дистрибутив здесь: [[https://disk.yandex.ru/d/f85MX6gmNTco9w|Aladdin-HASP-License-Manager-8.32.5.40-May-2008.zip]] Для тех у кого есть действующая подписка на ИТС 1С, более старую версию "HASP LM" 8.31 от 2007 года на текущий момент времени можно загрузить с закрытого раздела сайта [[https://releases.1c.ru/project/AddCompNetHASP|releases.1c.ru]]. Мы в своём примере далее будем использовать инсталлятор "HASP License Manager" последней версии **8.32.5.40**. Распаковываем архив и устанавливаем в свойствах инсталлятора **lmsetup.exe** режим совместимости **Windows Vista (Service Pack 2)**, а также включаем обязательный режим запуска с правами администратора. Это необходимо сделать для успешной работы инсталлятора в **Windows Server 2012 R2/2022**. {{ :1c:1c-enterprise-8-3-cluster-deployment:pasted:20230310-130203.png }} Запускаем инсталлятор и выбираем вариант установки HASP License Manager в режиме службы: {{ :1c:1c-enterprise-8-3-cluster-deployment:pasted:20230310-130351.png }} Установка по умолчанию выполняется в каталог ''C:\Program Files (x86)\Aladdin\HASP LM''. Для своей работы HASP LM использует **HASP HL Device Driver**, который будет установлен попутно. {{ :1c:1c-enterprise-8-3-cluster-deployment:pasted:20230310-130456.png }} После успешной установки драйвера может появится странное окошко, в котором мы должны нажать кнопку ОК, в противном случае процесс установки будет висеть в таком состоянии до бесконечности. Такое поведение было замечено при установке на **Windows Server 2012 R2**, но не воспроизвелось на **Windows Server 2022**. {{ :1c:1c-enterprise-8-3-cluster-deployment:pasted:20230310-130622.png }} Если современные компоненты **Sentinel LDK Run-time** [[1c:1c-enterprise-8-3-cluster-deployment:connecting-hasp-license-keys|были установлены]] в систему до установки HASP LM, то мы можем получить сообщение об отмене установки драйвера более ранней версии из состава HASP LM. {{ :1c:1c-enterprise-8-3-cluster-deployment:pasted:20230310-130804.png }} Данное сообщение не приводит к прерыванию установки HASP LM и является более информирующим, нежели говорящем о проблеме. В конце установки инсталлятор предложит запустить службу «**HASP Loader**» (исполняемый путь ''C:\Windows\system32\nhsrvice.exe -service'') и предупредит, что HASP ключи уже должны быть подключены нами к серверу. {{ :1c:1c-enterprise-8-3-cluster-deployment:pasted:20230310-130853.png }} ---- После окончания процесса установки перейдём в системную оснастку управления службами Windows (**services.msc**). Убедимся в том, что служба "**HASP Loader**" успешно запустилась, и открыв её свойства, настроим автоматический перезапуск в случае ошибки. {{ :1c:1c-enterprise-8-3-cluster-deployment:pasted:20230310-131014.png }} ---- Помимо этого, после установки HASP LM, в документации рекомендовано исключать основной рабочий процесс службы "**HASP Loader**" (**nhsrvice.exe**) из действия механизма **Data Execution Prevention** (**DEP**). Для того, что настроить исключение для **DEP**, откроем свойства системы, например, через панель управления **Control Panel** > **System** > **Advanced system settings**. Перейдём на вкладку расширенных настроек **Advanced**, затем в разделе **Performance** нажмём кнопку **Settings** {{ :1c:1c-enterprise-8-3-cluster-deployment:pasted:20230310-131141.png }} В окне **Performance Options** выберем вкладку **Data Execution Prevention** и в случае, если включена опция "**Turn on DEP for all programs and services except those I select**" (настройка по умолчанию), воспользуемся кнопкой **Add** и добавим в список исключений путь к исполняемому файлу **nhsrvice.exe**: * Путь для 32-битной системы: ''С:\Windows\system32\nhsrvice.exe'', * Путь для 64-битной системы: ''C:\Windows\SysWOW64\nhsrvice.exe'' {{ :1c:1c-enterprise-8-3-cluster-deployment:pasted:20230310-131327.png }} После этого служба HASP LM должна работать без проблем на **Windows Server 2012 R2/2022**. ---- Дополнительно может оказаться полезным добавление процесса HASP LM (**nhsrvice.exe**) в исключения антивирусного ПО. ---- Также обратите внимание на то, что инсталлятор HASP LM в ходе установки добавляет в **Windows Firewall** два правила, разрешающих входящий трафик на порт **475** для протоколов **TCP** и **UDP** с любых удалённых адресов. Можно подправить эти правила, например, сузив область адресов, с которых клиенты могут обращаться за лицензией ключей HASP. {{ :1c:1c-enterprise-8-3-cluster-deployment:pasted:20230310-132049.png }} Здесь может возникнуть соблазн отключить правило для протокола **UDP** и ориентироваться в дальнейшей настройке только на работу с протоколом **TCP**. Однако стоит помнить несколько важных моментов: * Утилита **Aladdin Monitor** работает только по протоколу UDP (порт 475) и не позволит мониторить состояние ключей, если в HASP LM протокол UDP выключен или порт UDP 475, прослушиваемый HASP LM, блокируется брандмауэром Windows. * Есть информация, что платформа 1Сv8 работает с ключами только по протоколу **UDP**, однако можно попытаться заставить использовать её **TCP**, но для этого потребуется и на стороне клиента и на стороне сервера HASP LM включать поддержку устаревшего протокола **NetBios over TCP/IP** (свойства сетевого адаптера > свойства протокола **TCP/IP** > **Properties** > **Advanced** > **WINS**). На наш взгляд, оно того не стоит. В общем случае, если сеть между клиентами и сервером HASP LM функционирует нормально, то отказываться от использования протокола UDP в пользу TCP не имеет особого смысла. Подробней об этом можно почитать в старой инструкции [[https://disk.yandex.ru/i/tepagb2mH7DrGw|Working_with_HASP_and_1C.pdf]]   ---- Чтобы настроить на сервере основную службу "**HASP Loader**" потребуется отредактировать конфигурационный файл **nhsrv.ini**. Так как в нашем случае HASP LM установлен как служба, то, для вступления изменений в силу, настроенный конфигурационный файл **nhsrv.ini** из каталога установки ''C:\Program Files (x86)\Aladdin\HASP LM'' нужно будет скопировать в каталог ''C:\Windows\SysWOW64'' (для 32-бытных ОС - ''C:\Windows\System32'') и выполнить перезапуск службы **HASP Loader** . Отредактируем на сервере файл следующим образом (приведены только незакомментированные строки): [NHS_SERVER] NHS_USERLIST = 1000 ; maximum number of concurrent logins ; to this LM (default=250, max = 65520) NHS_SERVERNAMES = APP41 ; server names to match the name a client ; requests (max 6 names, max 7 chars/name) NHS_HIGHPRIORITY = no ; run LM at high priority (default=no) [NHS_IP] NHS_USE_UDP = enabled ; enabled or disabled (default: enabled) NHS_USE_TCP = enabled ; enabled or disabled (default: enabled) NHS_IP_portnum = 475 ; IP port number (default: 475 (IANA registered)) [NHS_IPX] NHS_USE_IPX = disabled ; enabled or disabled (default: enabled) [NHS_NETBIOS] NHS_USE_NETBIOS = disabled ; enabled or disabled (default: enabled) Как видно, в секции основных настроек сервера в параметре ''NHS_USERLIST'' мы увеличили количество допустимых клиентских сессий с 250 до 1000. В параметре ''NHS_SERVERNAMES'' мы задали короткое имя этого сервера (это полезно делать, когда в сети больше одного HASP LM). Ну и наконец, в параметрах ''NHS_USE_IPX'' и ''NHS_USE_NETBIOS'' мы отключили старые неиспользуемые протоколы. После того, как настроенным таким образом файл скопирован в системный каталог Windows, нужно перезапустить службу менеджера лицензий HASP LM, например, с помощью **PowerShell**: Get-Service "HASP Loader" | Restart-Service После этого с помощью утилиты **netstat** убедимся в том, что в системе прослушивается порт **475** по протоколу **TCP** и **UDP**:
netstat -na | findstr 0:475
{{ :1c:1c-enterprise-8-3-cluster-deployment:pasted:20230310-133001.png }} Теперь на нашем сервере мы можем запустить утилиту **Aladdin Monitor** и убедиться в том, что в нём доступна информация о клиентском ключе HASP. Однако, стоит учесть то, что информация о клиентском ключе будет недоступна, пока к ключу не установлено клиентских соединений. {{ :1c:1c-enterprise-8-3-cluster-deployment:pasted:20230310-133038.png }} Позже, после [[1c:1c-enterprise-8-3-cluster-deployment:how-to-create-a-new-1c-enterprise-8-3-cluster|развёртывания кластера]] серверов 1С и настройке клиентов, утилита **Aladdin Monitor** пригодится нам для анализа ситуации с получением клиентскими экземплярами 1С:Предприятие клиентских лицензий. ---- Дополнительные источники информации: * [[https://its.1c.ru/db/metod8dev/content/5936/hdoc|1С ИТС - Меры повышения безопасности драйвера аппаратной защиты для ОС Windows]] * [[https://disk.yandex.ru/i/tepagb2mH7DrGw|Инструкция по эксплуатации 1C и ключей защиты HASP]] * [[https://1c-programmer-blog.ru/platforma/hasp-license-manager-v-1s-8-2-i-8-3.html|Блог 1С программиста - Менеджер лицензий HASP License Manager в 1С 8.2 и 8.3]] * Установка HASP LM на Linux: * [[https://sites.google.com/site/taukron/reseno-kak-ustanovit-hasp-license-manager-for-ubuntu-x64|Установка HASP License Manager на Linux Ubuntu x64 - taukron]] * [[http://renbuar.blogspot.com/2017/08/hasp-ubuntu-1710.html|1С и Linux: Установка и настройка hasp ubuntu 17.10]] * [[http://wiki.etersoft.ru/HASP|Etersoft wiki - Менеджер лицензий и драйвер HASP для Linux (haspd)]] ---- Проверено на следующих конфигурациях: ^ Версия ОС сервера 1С ^ | Microsoft Windows Server 2012 R2 Standard EN (6.3.9600) | | Microsoft Windows Server 2022 Standard EN (10.0.20348) | ---- {{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 10.03.2023 12:47 {{tag>"1C" "1C 8.3" "Windows Server 2012 R2" "Windows Server 2022" HASP "HASP LM" Thales Gemalto SafeNet Aladdin}} ~~DISCUSSION~~ ~~NOTOC~~