- 1 Что такое серия разработчика (или код ключей) и что такое Vendor ID?
- 2 Обновление прошивки (firmware) ключа HASP HL до версии 3.25
- 3 Процедура установки/удаления драйвера ключа
- 4 Работа с ключом на виртуальных машинах
- 5 Ошибка: «HASP not found (-10), (-11), (Error 27), (H0027), Terminal services detected»
- 6 Ошибка «HASP not Found (-3), (Error 7), (H0007)»
- 7 Какие существуют утилиты для мониторинга доступа к ключу и занятых лицензий?
- 8 Два ключа защиты ПО Sentinel (HASP) на одном компьютере
- 9 Автозагрузка приложения, использующего ключ защиты Sentinel (HASP)
- 10 Порядок обращения в техническую поддержку
- 11 Какой срок гарантии на ключи Sentinel (HASP)?
- 12 В чём различия между технологиями HASP4, HASP HL и Sentinel LDK (SRM)?
- 13 Есть ли совместимость у ключей Sentinel (HASP) с предыдущими версиями, если есть, то какая?
- 14 Какие документы нужны для отправки ключа за границу?
- 15 Как узнать версию комплекта разработчика?
- 16 Как узнать, какой системой защиты вы пользуетесь?
- 17 Где взять документацию к комплекту разработчика?
- 18 Какие варианты защиты существуют?
Что такое серия разработчика (или код ключей) и что такое Vendor ID?
Серия разработчика = Batch code = код разработчика = серия ключей – равнозначные понятия.
За каждым разработчиком при первоначальной покупке ключей закрепляется уникальная серия разработчика. В дальнейшем ключи данной серии продаются только данному конкретному разработчику.
Ключи разных серий разработчика обладают различным криптоповедением, благодаря чему ключи от одной серии не подходят для работы с приложением, защищённым на ключи другой серии разработчика.
При последующей покупке ключей разработчик в заказе указывает ту серию разработчика, под которую ему необходимо приобрести ключи (за разработчиком могут быть закреплены несколько различных серий).
Batch code нанесён на корпус каждого ключа (как пользовательского, так и служебного) и выглядит как последовательность из нескольких латинских символов, вида: "CDQDR", "DEMOMA" и т.д.
DEMOMA - серия разработчика, присвоенная демонстрационным ключам. Серия DEMOMA интегрирована в комплект разработчика и предназначена для тестирования функционала комплекта разработчика. Для работы с ключами серии DEMOMA не требуется наличие Sentinel (HASP) HL Master ключа.
Vendor ID – числовой эквивалент серии разработчика, отображается в Sentinel Admin Control Center на вкладке Sentinel Keys в столбце Vendor для подключенного ключа. Исключение – служебные ключи Sentinel (HASP) HL Master и Sentinel (HASP) HL Developer. Для этих ключей Vendor ID всегда одинаковый – "64294" и отличен от Vendor ID серии разработчика клиента.
Vendor ID содержится в именах всех кастомизированных под данную конкретную серию разработчика библиотек Sentinel LDK Licensing API из комплекта разработчика.
Обновление прошивки (firmware) ключа HASP HL до версии 3.25
Обновление микропрошивки в стандартном режиме производится автоматически при соблюдении двух условий:
- Наличия на ПК актуальной версии установленного драйвера для ключей Sentinel (HASP);
- Наличия на ПК активного интернет соединения.
При подключении к ПК ключа с микропрошивкой версии ниже 3.25 (за исключением 2.17), например версии 2.16, ключ сам должен обновиться. Визуально это сопровождается миганием светодиода ключа с момента начала и до момента окончания процедуры обновления микропрошивки. Обычно эта процедура занимает несколько секунд. В ходе обновления микропрошивки ни в коем случае не следует отключать ключ от порта!
Если же обновление микропрошивки не было произведено в автоматическом режиме, то есть возможность выполнить это вручную. Сделать это можно двумя способами:
- Обновление USB-ключей HASP HL до функциональности HASP SRM с помощью утилиты Firmware Update: ftp://ftp.cis-app.com/pub/hasp/Sentinel_HASP/Firmware_Update/HASP_HL_Firmware_Update.zip
- Обновление USB-ключей HASP HL до функциональности HASP SRM с помощью файла* V2C: ftp://ftp.cis-app.com/pub/hasp/Sentinel_HASP/Firmware_Update/HASP_HL_Firmware_Update_v2c.zip
*Файл применяется к ключу с помощью: стандартной утилиты RUS под данную серию разработчика, либо через интерфейс драйвера - Sentinel Admin Control Center.
Процедура установки/удаления драйвера ключа
Для OS Windows Vista и ниже необходимо выполнять оба раздела инструкции, для Windows 7 и выше только "Раздел II".
Перед установкой/удалением необходимо убедиться, что UAC отключен и после его отключения ПК был перезагружен.
Раздел I. Удаление драйверов версии 4.116 и ниже.
- Войти в систему как администратор.
- Если возможно, следует временно отключить любое защитное ПО (антивирус, брандмауэр).
- Отключить все локальные Sentinel (HASP) ключи.
- Загрузить драйвер 4.116: https://drive.google.com/file/d/1VS6wUe0kEsUYE2hqe-NtQIcvuuVzndAm/view для проверки, не установлено ли старых версий драйверов.
- Распаковать загруженный архив на диск и в командной строке перейти в директорию с файлами из архива.
- Запустить «hinstall –r –alldrv» для удаления версий, установленных ранее.
- Если возникли проблемы с удалением, обратитесь к пункту настоящей инструкции «ПРОБЛЕМЫ ВО ВРЕМЯ УСТАНОВКИ ДРАЙВЕРА».
Раздел II. Установка/удаление драйверов версии 5.х и выше.
- Войти в систему как администратор.
- Если возможно, следует временно отключить любое защитное ПО (антивирус, брандмауэр).
- Скачать свежую консольную версию драйвера: https://thales-sentinel.ru/helpdesk/download-space/
- Отключить все локальные Sentinel (HASP) ключи.
- Разархивировать драйвер.
- Выполнить из командной строки «haspdinst.exe –fr –kp –purge» для удаления версий, установленных ранее.
- Выполнить «haspdinst.exe –i» для установки драйвера.
- Если возникли проблемы с удалением, следует обратиться к пункту инструкции «ПРОБЛЕМЫ ВО ВРЕМЯ УСТАНОВКИ ДРАЙВЕРА».
- Открыть браузер и перейти по адресу http://localhost:1947; проверить, что ключ отображается на странице «Sentinel Keys».
- Проверить, что приложение работает. Если нет:
- Использовать «MsConfig» для остановки всех служб, которые не относятся к Microsoft, перезагрузите компьютер и проверить снова.
- В случае отказа системы необходимо сохранить «дамп памяти ядра».
- В случае отказа Менеджера лицензий (HASP License Manager) необходимо сохранить лог (event log: Пуск -> Панель управления -> Администрирование -> Просмотр событий) и сохранить скриншот возникающей ошибки.
- Удалить файл "C:\Windows\aksdrvsetup.log", запустить «haspdinst –i –v», сохранить созданный файл aksdrvsetup.log
- Запустить «MsInfo32» (Пуск -> выполнить -> msinfo32 -> Ввод), создать .NFO log и выслать его.
Все сохранённые данные по проблеме необходимо передать в службу технической поддержки, порядок обращения в техническую поддержку см. "Порядок обращения в техническую поддержку".
ПРОБЛЕМЫ ВО ВРЕМЯ УСТАНОВКИ ДРАЙВЕРА
- Удалить все компоненты HASP через «Установка/удаление программ».
- Остановить все службы, которые содержат в названии «Hasp» или «HLServer».
- Удалить все файлы aks*.*, «hardlock.sys» и «haspnt.sys» из папки c:\windows\system32\drivers» (если они не используются другими приложениями).
- Удаление драйверов в «Диспетчере устройств»:
o Зайти в «Панель управления»\«Система».
o Перейти на вкладку «Оборудование» и откройте «Диспетчер устройств».
o Выбрать в меню «Показать скрытые устройства».
o Раскрыть пункт «Драйверы устройств не Plug and Play».
o Удалить каждый из следующих пунктов, если они присутствуют: «Hardlock», «Haspnt», «HASP fridge».
- Еще раз удалить драйверы с помощью команды «haspdinst –purge», а затем установить с помощью «haspdinst –i».
Работа с ключом на виртуальных машинах
Работа на виртуальных машинах ограничивается двумя факторами:
- Используемой системой защиты.
- Используемой платформой виртуализации.
Для каждой системы защиты есть свой список официально поддерживаемых платформ виртуализации, посмотреть который можно либо на сайте sentinelcustomer.safenet-inc.com/platformsupport/, либо в документации к используемому комплекту разработчика.
Некоторые платформы виртуализации не поддерживают проброс USB устройств с реальной машины в виртуальную, например Microsoft Virtual Server + Hyper-V.
При использовании виртуальных сред с балансировкой нагрузки может происходить блокировка работы программных ключей Sentinel (HASP) SL, так как при балансировке нагрузки виртуальная машина фактически "перемещается" с одного физического ПК на другой, вследствие чего изменяется параметр привязки CPU ID, подробнее см. "Ошибка SL Clone detected".
Ошибка: «HASP not found (-10), (-11), (Error 27), (H0027), Terminal services detected»
Возникновение данной ошибки возможно в следующих случаях.
- При обнаружении программ терминального доступа типа Microsoft Terminal Server (в т.ч. служба RDP – Remote Desktop), Citrix Winframe/Metaframe и т.д. драйвер ключа блокирует доступ к ключу. Т.е. ключ не должен находиться на одной машине с активным терминальным ПО. Для систем защиты HASP HL и Sentinel HASP* разработчик защищенного приложения имеет возможность контролировать данную опцию, разрешая или запрещая работу на терминальном сервере. Для ключей HASP4 она задана жестко и не может быть отключена. Если вы являетесь пользователем защищенного ПО, то варианты решения данного вопроса следующие:
- Остановить работу терминального сервера.
- Разместить ключ на любом другом компьютере в сети, если ключ сетевой.
- Обратиться к разработчику защищенного ПО.
- Ошибка «HASP not found (-10)» также может возникать при запуске приложений, защищенных с помощью HASP4 под Windows Vista/Windows 7.
* Для стандартной Feature 0, которая есть во всех ключах по умолчанию, лицензионные ограничения изменять нельзя. При этом для всех локальных ключей Sentinel HL для Feature 0 запрещена работа в терминальном режиме, а для сетевых ключей Sentinel (HASP) HL Net и сетевых ключей Sentinel (HASP) HL NetTime – разрешена. Соответственно, если защита программ осуществляется через Sentinel LDK Envelope на Feature 0 (например, используется DataHASP, который для своей работы использует Feature 0), то защищённое таким образом ПО может работать на терминальном сервере только с сетевым ключом, в котором для Feature 0 разрешён терминальный режим. С локальными ключами ПО будет выдавать ошибку «HASP_TS_DETECTED = 27».
Для локальных ключей рекомендуется использовать для защиты Feature отличную от Feature 0, в таком случае можно записать в локальный ключ требуемую Feature с разрешением работы на терминальном сервере (RDP). Однако следует учитывать, что при использовании локального ключа с Feature с разрешённой опцией RDP на терминальном сервере не будут ограничиваться одновременно запущенные копии ПО. Таким образом все запущенные на терминальном сервере экземпляры защищённого ПО будут потреблять одну лицензию с локального ключа, так как все копии ПО запущены на одной и той же машине (на RDP сервере) и система считает их за одну потребляемую лицензию. Таким образом в подобной ситуации пользователь сможет запустить столько экземпляров защищённого ПО, сколько подключений позволит создать сам терминальный сервер.
Для сетевых же ключей всегда можно для Feature, отличной от Feature 0, указать на какое количество сетевых мест рассчитана данная лицензия, а также можно изменить механизм подсчёта лицензий, указав что подсчёт лицензий требуется выполнять не по Станциям, а по Процессам, что позволит избежать ситуации аналогичной ситуации описанной выше (с локальными ключами).
!Update!: в системе защиты Sentinel LDK (в актуальной версии SDK LDK), для локальных моделей ключей Sentinel HL, работающих в Driverless режиме (для всех моделей кроме Sentinel HL Basic), есть возможность записывать сетевые лицензии с разрешённой / запрещённой работой RDP и с подсчётом подключений: по станциям, по процессам и по логинам. Благодаря чему любую, изначально локальную модель ключа можно превратить в сетевую. Но этот функционал требует приобретения дополнительных лицензий (HL seats) на Ваш Мастер ключ.
Ошибка «HASP not Found (-3), (Error 7), (H0007)»
Возникновение данной ошибки возможно в следующих случаях.
- Ключ Sentinel (HASP) не подсоединен к компьютеру. Необходимо подсоединить ключ защиты.
- Подсоединен ключ Sentinel (HASP) другой серии (ключ от другого ПО). Необходимо подсоединить ключ требуемой серии (ключ от данного приложения).
- Сетевой ключ, подсоединенный к компьютеру в сети, на самом деле не является сетевым (сетевой ключ должен содержать в себе сетевую лицензию). Следует проверить установленный ключ и, в случае ошибки, подключить требуемый сетевой ключ Sentinel (HASP).
- На компьютере, где установлен сетевой ключ Sentinel (HASP), не запущен менеджер лицензий. Следует установить и запустить менеджер лицензий.
- На компьютере, где установлен ключ, или на компьютере, где запускается защищенное приложение, блокируется передача трафика по 475 или 1947 порту (активен firewall, брандмауэр windows, антивирусные программы также могут блокировать передачу по сети). Необходимо отключить все ПО, которое может блокировать доступ к ключу.
Какие существуют утилиты для мониторинга доступа к ключу и занятых лицензий?
- Для систем защиты HASP4 и HASP HL в этих целях используется утилита Aladdin Monitor.
- Для системы защиты Sentinel LDK (SRM) в этих целях используется менеджер лицензий Sentinel Admin Сontrol Center, встроенный в драйвер ключа и доступный по адресу: http://localhost:1947/
Два ключа защиты ПО Sentinel (HASP) на одном компьютере
При установке двух и более ключей защиты программного обеспечения Sentinel (HASP) на один компьютер следует учитывать, следующее:
- Ключи, имеющие разные серии, будут работать нормально.
- Для системы защиты HASP4: ключи одной серии будут работать, если такая возможность была реализована разработчиком защищенного ПО. Если же разработчиком данная возможность не была реализована, то ключи, относящиеся к одной серии, не будут работать совместно на одном компьютере, будет виден только один из них: либо ближний к порту (в случае с LPT-ключами), либо размещенный на порту с младшим адресом (в случае с USB-ключами защиты программ HASP).
- Для системы защиты HASP HL: ключи, относящиеся к одной серии, не будут работать совместно на одном компьютере, будет виден только один из них: либо ближний к порту (в случае с LPT-ключами), либо размещенный на порту с младшим адресом (в случае с USB-ключами защиты программ Sentinel (HASP)).
- Для системы защиты Sentinel LDK (SRM): ключи, относящиеся к одной серии, могут работать совместно на одном компьютере, будут видны все ключи. ПО будет работать с тем из них, на котором есть свободная лицензия, требуемая для работы защищённого приложения. Порядок опроса ключей, подключенных к ПК, определяется порядком размещения. Первым опрашивается ключ, размещенный на порту с младшим адресом, и т.д. по возрастанию адреса. Также для данной системы защиты можно контролировать, к какому ключу следует подключаться защищённому приложению. Реализуется это следующим образом:
Сначала используется функция hasp_get_info() для получения ID всех ключей. Далее выбирается нужный ID и при помощи функции hasp_login_scope открывается сессия с ключом. Более подробно можно посмотреть в утилите Sentinel LDK ToolBox (интерактивное руководство по функциям Sentinel LDK Licensing API), которая устанавливается в составе Sentinel LDK Vendor Suite.
Возможные решения данной проблемы:
- Замена нескольких ключей защиты программ Sentinel (HASP) на один, с большим количеством лицензий (необходимо обратиться к разработчику защищенного программного обеспечения).
- Установка ключей защиты на разные компьютеры с последующей установкой и настройкой менеджеров лицензий при каждом ключе, см. "Два и более менеджеров лицензий (HASP License Manager) в сети".
- Возможность обрабатывать наличие двух ключей на одном компьютере существует для систем защиты HASP4 (путем адресации запроса на конкретный порт) и Sentinel LDK (SRM) (с помощью функции hasp_get_info() и hasp_login_scope). Для системы защиты HASP HL данная возможность отсутствует.
Автозагрузка приложения, использующего ключ защиты Sentinel (HASP)
Приложение должно загружаться после того, как завершится инициализация драйвера ключа защиты ПО Sentinel (HASP). Это можно сделать как на уровне пользователя, так и на уровне разработчика защищенного ПО.
Если вы являетесь разработчиком защищенного приложения, то при установке защиты на приложение с помощью Sentinel LDK Envelope следует указать на необходимость дождаться окончания загрузки драйвера ("Protection Details" - "Protection Settings" - "Run-time wait"). При защите с помощью Sentinel LDK Licensing API необходимо реализовать задержку вручную в коде приложения.
Если вы пользователь защищенного ПО, то задержку необходимо реализовать с помощью сторонних утилит. Также можно попробовать изменить порядок загрузки драйверов, однако результат в данном случае гарантировать нельзя.
Порядок обращения в техническую поддержку
Обращение в техническую поддержку осуществляется через партнёра, у которого приобретаются ключи (для всех клиентов, приобретающих решение через дистрибьюторов).
Конечные пользователи защищённого ПО должны обращаться за поддержкой к разработчику ПО, а он, при необходимости, заводит обращение в компанию Gemalto(SafeNet) через портал технической поддержки или к дистрибьютору (если ключи приобретаются через него).
Какой срок гарантии на ключи Sentinel (HASP)?
- Гарантия на ключи Sentinel (HASP) – 2 год.
- На батарейку в ключах моделей Sentinel (HASP) HL Time и Sentinel (HASP) HL NetTime – 4 года.
В чём различия между технологиями HASP4, HASP HL и Sentinel LDK (SRM)?
- HASP4 – устаревшая система защиты, была актуальна с 1996 по 2006 год и на данный момент полностью снята с поддержки.
- Для работы с системой защиты используются два пароля.
- HASP HL – устаревшая система защиты, на данный момент снята с поддержки.
- Для работы с системой защиты использовался белый HASP HL Master ключ. Реализована публичная криптография. Появилась поддержка удалённого обновления лицензий в ключах защиты.
- Sentinel LDK (SRM) / Sentinel HASP / HASP SRM – актуальная на данный момент система защиты, обладает обратной совместимостью с HASP4 и HASP HL.
- Для защиты ПО используется синий Sentinel HL Master ключ. Появилась поддержка:
- x64-битных ОС как для защищённых приложений, так и для самого комплекта разработчика.
- Программных ключей защиты – Sentinel (HASP) SL.
- Технологии AppOnChip – исполнения части кода приложения внутри ключа.
- Технологии Driverless – работа с ключом без установки драйвера, ключ определяется как HID совместимое устройство.
- Интеграции системы лицензирования с CRM системами по средствам API.
- Актуальных версий ОС симейств Windows, Linux и Mac OS X.и т.д.
- И т.д.
Есть ли совместимость у ключей Sentinel (HASP) с предыдущими версиями, если есть, то какая?
Ключ HASP4 может работать только с системой защиты HASP4 и не поддерживает работу с другими системами защиты.
Ключ Sentinel (HASP) HL обладает обратной совместимостью со старыми системами защиты. Чтобы использовать ключи Sentinel (HASP) HL со старыми системами защиты, необходимо применять инструменты из соответствующих версий комплектов разработчика (API / Envelope / утилиты для записи лицензий в ключи: HASP4 - HASPEdit, HASP HL - Factory, Sentinel LDK (SRM) - Business Studio / Sentinel LDK EMS).
Современная система защиты Sentinel LDK (SRM) обладает обратной совместимость с предыдущими системами защиты HASP HL и HASP4:
- На уровне драйвера. Драйвер от современной системы защиты поддерживает работу ключей и от более старых систем защиты.
- На уровне API. API от современной системы защиты поддерживает вызовы старых функций API от более старых систем защиты.
- На уровне утилиты автоматической защиты Sentinel LDK Envelope. Sentinel LDK Envelope поддерживает защиту приложений в режиме системы защиты HASP HL, для защиты используются вызовы функций API от соответствующей системы защиты.
Какие документы нужны для отправки ключа за границу?
Достаточно номера нотификации:
- Для ключей Sentinel HL – RU0000014501;
- Для ключей Sentinel HASP – RU0000013379;
- Для ключей Sentinel Drive – RU0000014400;
- Для ключей Sentinel Developer, Master – RU0000015552;
- Для ключей Sentinel SuperPro, UltraPro – RU0000009290;
- Для ключей SHK – RU0000009291;
- Для ключей Microdog – RU0000016432;
- Для ключей Hardlock – RU0000014113.
Информацию о нотификации вы можете найти на сайте таможенного союза Евразийской экономической комиссии eurasiancommission.org либо запросить её в Представительстве компании Thales, по адресу: sm-ru@thalesgroup.com
Как узнать версию комплекта разработчика?
Версия комплекта разработчика пишется в заголовках окон утилит используемого комплекта разработчика, таких как: Vendor Suite, Envelope, Toolbox и т.д.
Достаточно посмотреть на версию Vendor Suite.
Как узнать, какой системой защиты вы пользуетесь?
Если для защиты или лицензирования своего ПО вы использовали:
- Два пароля. – Система защиты HASP4.
- Белый Master ключ. – Система защиты HASP HL.
- Синий Master ключ. – Система защиты Sentinel LDK (SRM).
Также существуют другие косвенные признаки использования той или иной системы защиты, например:
- Версия используемого комплекта разработчика 1.3 или ниже – система защиты HASP HL; выше 1.3 – система защиты Sentinel LDK (SRM);
- Для лицензирования ПО используете утилиту Business Studio – система защиты Sentinel LDK (SRM) версии 5.хх и ниже;
- Для лицензирования ПО используете утилиту Sentinel LDK EMS – система защиты Sentinel LDK (SRM) версии 6.х и выше;
- Для лицензирования ПО используете утилиту Factory – система защиты HASP HL;
- Для лицензирования ПО используете утилиту HASP Edit – система защиты HASP4;
- Если вы используете утилиту Bistro – система защиты Hardlock;
- Используете драйверы версии 4.102 или 4.116, и утилиты HASP License Manager и Aladdin Monitor – вероятнее всего либо система защиты HASP4, либо HASP HL (но для HASP HL более характерны драйверы версии 5.20).
Где взять документацию к комплекту разработчика?
Документация к комплекту разработчика есть на диске с самим комплектом разработчика, либо в образе диска. Она доступна на любом ПК с установленным комплектом разработчика.
- Для системы защиты HASP4 документация доступна в Help файлах к утилитам из комплекта разработчика.
- Для системы защиты HASP HL документация доступна примерно по такому пути: "C:\Program Files\Aladdin\HASP HL\Docs\".
- Для системы защиты Sentinel LDK (SRM) документация доступна примерно по такому пути: "C:\Program Files (x86)\Gemalto Sentinel\Sentinel LDK\Docs\". Также можно воспользоваться онлайн документацией: sentinelcustomer.safenet-inc.com/Documentation_Information.aspx
Какие варианты защиты существуют?
Возможны три варианта защиты вашего ПО:
- С помощью утилиты автоматической защиты Envelope: скомпилированный файл ".exe", ".dll", ".jar" и т.д. (зависит от используемой системы защиты и комплекта разработчика) добавляется в проект защиты утилиты Envelope, для него указываются требуемые настройки защиты, после чего осуществляется автоматическая защита программного обеспечения. На выходе получается файл с таким же расширением, но только уже со встроенными механизмами защиты ПО, такими как:
- Привязка к ключу защиты;
- Шифрование кода приложения;
- Обфускация кода приложения;
- Борьба с отладчиками и многое другое, в зависимости от используемой системы защиты и версии используемого комплекта разработчика.
- С помощью API из комплекта разработчика: разработчику предоставляется набор функций API для работы с ключами защиты (проверка наличия ключа защиты с необходимой лицензией, чтение/запись в память ключа, шифрование данных с помощью криптопроцессора ключа и т.д.), на базе которых он должен самостоятельно реализовать требуемые механизмы защиты своего ПО и встроить их в код своего приложения. Данный вариант крайне гибок, так как реализация защиты целиком и полностью зависит от фантазии разработчика, но и гораздо более сложен, нежели вариант с автоматической защитой с помощью утилиты Envelope.
- Комбинация первых двух вариантов: часть функционала работы с ключом разработчик реализует в коде своего приложения с помощью API из комплекта разработчика, а потом скомпилированный файл обрабатывает утилитой Envelope. Данный метод наиболее гибок и надёжен в плане защиты ПО.
Компания Thales регулярно проводит бесплатные семинары по построению надёжной защиты на базе API на территории СНГ. Расписания мероприятий доступно на сайте: https://safenet-sentinel.ru/