На что влияет опция «Отключить неиспользуемые 1С Предприятием возможности аппаратных ключей защиты» при установке платформы?

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

При установке платформы «1С:Предприятие» (начиная с версии 8.3.13) в диалоговом окне установки драйвера защиты пользователей часто встречает длинная и не совсем понятная опция: «Отключить неиспользуемые 1С Предприятием возможности аппаратных ключей защиты (рекомендуется)». В этой статье мы подробно разберем, что именно делает эта опция «под капотом» операционной системы, почему разработчики из фирмы 1С настоятельно рекомендуют держать её включенной, и в каких редких, но критически важных случаях эту галочку, наоборот, необходимо снять.

Что происходит в системе при включении этой опции?

Рассмотрим детально техническую сторону работы данного переключателя. Вопреки первоначальным догадкам многих системных администраторов и программистов 1С, эта опция не вносит никаких изменений в файлы конфигурации HASP (такие как hasp.ini или nhsrv.ini) и не отключает устаревшие сетевые протоколы (IPX, NetBIOS) в настройках самого драйвера.

Её действие гораздо прямолинейнее и глубже. При активации этого флажка программа установки платформы выполняет следующие системные действия:

  1. Блокировка службы лицензирования: Полностью отключается системная служба Sentinel LDK License Manager (исполняемый файл hasplms.exe в семействе ОС Windows, системное имя службы — hasplms).
  2. Изменение типа запуска службы: В операционной системе Windows служба переводится в режим запуска «Отключена» (Disabled) и принудительно останавливается. Это аналогично ручному выполнению в командной строке с правами администратора следующей последовательности команд:
    
    sc config hasplms start= disabled
    sc stop hasplms
    
  3. Действия в Linux: В операционных системах на базе Linux установщик выполняет аналогичные действия — останавливает и полностью деактивирует системный демон (службу) haspd.
  4. Закрытие сетевого порта: После остановки и отключения службы закрывается сетевой порт 1947 (как по протоколу TCP, так и по UDP), на котором по умолчанию работает встроенный локальный веб-сервер драйвера защиты.

Таким образом, главным результатом работы этой опции является полное отключение веб-интерфейса управления лицензиями Admin Control Center (ACC), который в обычных условиях доступен в браузере по адресу http://localhost:1947.

Выясним причину: зачем это нужно и какие угрозы безопасности устраняются?

Проанализируем ситуацию с точки зрения информационной безопасности. Рекомендация фирмы 1С отключать неиспользуемые возможности аппаратных ключей продиктована обнаружением критических уязвимостей в программном обеспечении Sentinel LDK от стороннего разработчика (компании Gemalto/SafeNet/Thales).

До выпуска обновленных версий драйверов (версии 7.60 и выше) веб-интерфейс Admin Control Center, открытый на порту 1947, содержал целый ряд серьезных уязвимостей (включая общеизвестные CVE-2017-11481, CVE-2017-11482 и др. с оценкой опасности по шкале CVSS до 9.9 из 10 возможных):

Для предотвращения подобных сценариев на компьютерах, где нет реальной технологической необходимости в работе веб-панели управления HASP, ее настоятельно рекомендуется полностью отключать.

Когда эту опцию использовать МОЖНО и НУЖНО?

Рассмотрим типичные сценарии развертывания ИТ-инфраструктуры предприятия, при которых эту галочку при установке обязательно нужно оставлять включенной:

  1. На рабочих станциях пользователей без локальных ключей: Если на компьютере рядового пользователя нет физического USB-ключа HASP (например, лицензии раздаются сервером по сети), служба hasplms на этой машине абсолютно бесполезна. Отключив её, вы закроете потенциальную уязвимость на ПК пользователя.
  2. При использовании программных лицензий: Если ваша компания полностью перешла на программную защиту (пин-коды и файлы лицензий с расширением .lic), драйвер аппаратной защиты HASP и связанные с ним службы вообще не требуются для работы системы «1С:Предприятие». В таких случаях драйвер защиты можно даже полностью удалить через панель управления.
  3. На компьютерах с локальными (однопользовательскими) USB-ключами: Это важный нюанс, который часто вызывает путаницу. Если в компьютер пользователя установлен локальный однопользовательский ключ защиты (например, красный USB-ключ HASP4), платформа 1С умеет опрашивать его напрямую через низкоуровневые вызовы API драйвера. Для этого служба hasplms.exe и сетевой порт 1947 не нужны. Ключ будет успешно определяться 1С даже при активированной опции отключения неиспользуемых возможностей.

Когда эту опцию использовать НЕЛЬЗЯ?

Существуют ситуации, когда отключение службы hasplms полностью заблокирует работу пользователей. Разберем эти случаи по шагам:

  1. На сервере сетевого лицензирования: Если на конкретном компьютере или сервере установлен многопользовательский сетевой аппаратный ключ (например, красный USB-ключ на 5, 10, 20, 50 или более пользователей) и этот сервер должен «раздавать» лицензии другим ПК по локальной сети. В этом случае служба hasplms (Sentinel LDK License Manager) обязательно должна быть запущена. Именно она слушает порт 1947 и обрабатывает входящие сетевые запросы от клиентских ПК. Если вы заблокируете службу на сервере лицензирования, пользователи в локальной сети просто не увидят ключ и не смогут запустить 1С.
  2. При использовании функций заимствования или переноса лицензий: Процедуры временного заимствования (Detach) или переноса (Rehost) программных ключей Sentinel выполняются непосредственно через веб-панель Admin Control Center. При отключенном веб-интерфейсе эти операции будут недоступны.

Что делать, если служба нужна, но безопасность в приоритете?

Если на вашем сервере установлен сетевой многопользовательский ключ HASP и вы не можете отключить службу hasplms, выполните следующие шаги для обеспечения безопасности:

  1. Обновите драйвер HASP: Скачайте и установите актуальную версию Sentinel LDK Run-time Environment (не ниже версии 7.60, актуальные версии доступны на сайте поддержки Thales или на портале 1С). В новых версиях критические уязвимости безопасности были успешно устранены разработчиками.
  2. Включите защиту паролем: Перейдите в веб-интерфейс по адресу http://localhost:1947 непосредственно на сервере. Зайдите в раздел Configuration на вкладку Basic Settings. Включите опцию Password Protection, задайте надежный пароль администратора и ограничьте доступ к настройкам или ко всей веб-панели целиком.
  3. Настройте Брандмауэр (Firewall): Настройте сетевой экран Windows или аппаратный брандмауэр так, чтобы порт 1947 (TCP/UDP) на сервере лицензирования был доступен исключительно для IP-адресов компьютеров вашей доверенной локальной сети и был полностью закрыт для любых запросов из глобальной сети Интернет.
← На главную