Установка в Linux специализированного ПО, защищенного ключами Guardant, на примере SmetaWizard

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

В предыдущей статье, которая получила множество откликов и тепло была принята публикой, рассказывалось о том как инженер-сметчик/инженер-ПТО могут настроить свой ПК/ноутбук для работы под операционной системой Linux, однако в статье был лишь вскользь затронут вопрос о том как устанавливать лицензионное ПО, защищенное электронными ключами Guardant. Сегодня я исправляю ситуацию на примере установки сметной программы SmetaWIZARD в Debian Linux и Astra Linux.

1. Пара слов о ключах защиты Guardant

Guardant — это ряд аппаратных и программных разработок в сфере защиты софта от нелегального копирования, анализа и модификации. Электронные ключи Guardant защищают миллионы продуктов по всему миру и работают в основе DRM для защиты разнообразного контента. Программные технологии виртуализации кода и софтверные ключи органично дополняют современную линейку продуктов Guardant.
Применяемое в строительстве лицензионное ПО (программное обеспечение) от российских разработчиков, так исторически сложилось, зачастую использует физические ключи для защиты именно этого производителя. Такие Ключи и ПО в первую очередь рассчитаны на работу в операционной системе MS Windows, но, согласно комментариям от разработчиков ключа:
Работают ли ключи Guardant под Linux
Да, работают. Нативная поддержка GNU/Linux реализована в моделях Guardant Sign / Time / Code, а так же в их сетевых версиях.

Предыдущие модели электронных ключей Guardant (Guardant Stealth III / Net III / Stealth II USB / Net II USB) не могут работать под Linux «самостоятельно». Максимум, что можно сделать в этом случае — запускать Windows-приложение, защищенное с помощью этих ключей, в среде коммерческой сборки WINE@Etersoft.
Таким образом из этого следует что ключ будет виден программами в Wine в любом случае, но нативный софт для Linux сможет работать не со всеми версиями таких ключей.

2. Пара слов о ПО

На текущий момент нативного российского ПО под Linux кот наплакал, вот почему мы будем работать с Wine!!! При этом не всякое такое ПО может быть запущено в Linux, в ряде случаев потребуется доработанная версия такого ПО или дополнительные библиотеки для самой Wine.

imageУстановка и настройка ПО будет осуществляться на примере дистрибутива SmetaWIZARD специально оптимизированного для работы в среде Linux.
SmetaWIZARD — программа для составления смет с автоматизированным расчетом, проверкой, экспертизой и составлением широкого спектра сметной и сопроводительной документации для специалистов сметно-договорного отдела.

В соответствии с положениями Федерального закона от 26 июля 2017 г. № 187-ФЗ «О безопасности критической информационной инфраструктуры Российской Федерации” доступна установка программы под Linuх, а именно операционные системы, входящие в Реестр отечественного ПО, в частности AstraLinux и AltLinux.
Несмотря на то, что официально заявлена поддержка лишь Astra Linux и AltLinux, данное ПО можно установить и на других Linux системах, о чем будет написано далее.

Небольшая ремарка по самой Linux. Дело в том, что Linux не дружит с Secure Boot в UEFI/BIOS, из-за чего хоть установка операционной системы зачастую возможна, но в дальнейшем возникают проблемы с установкой видеодрайвера и случайные зависания системы. В особо тяжелых случаях становится невозможным установить операционную систему Linux в принципе. Что бы этого избежать — необходимо данную опцию в UEFI/BIOS отключать.
If you're running certain PC graphics cards, hardware, or operating systems such as Linux or previous version of Windows you may need to disable Secure Boot

3. Установка и настройка ПО в системе Linux Debian 11 “Bullseye”


Для последующих тестов в этом разделе будет использоваться Linux Debian 11.3 non-free
небольшая ремарка о Debian non-free
non-free релиз, а так же репозитории — предназначены для пакетов, которые не являются бесплатными. Единственное требование к ним состоит в том, что они могут свободно распространяться. Проект Debian считает, что non-free не является частью Debian и предоставляет только для удобства пользователей.

contrib предназначен для пакетов, которые сами по себе бесплатны, но зависят от несвободных пакетов. Он также не считается частью Debian.

Мною используется данный релиз исключительно из-за возможности установить проприетарный драйвер от NVidia на видеокарту GTX1660ti. Да, такое программное обеспечение как драйвер от NVidia является non-free.

Итак, для того что бы установить ПО нам потребуется WINE, для чего открываем консоль и поочередно прописываем команды (предполагается что Ваш локальный пользователь входит в группу Администраторы, система и пакеты обновлены до самых свежих версий, а так же что у Вас уже установлены драйвера на видеокарту от производителя и выключен Secure Boot)

3.1 Добавление репозиториев с non-free и contrib ПО в Debian 11. Необходимо для того что бы иметь возможность устанавливать соответствующее ПО. Для этого прописываем в консоли команду:
sudo nano /etc/apt/sources.list
После чего в начале каждой строки ставим символ решетки #, а затем добавляем строчки как прописано в DebianWiki, используя вставку через буфер обмена, после чего нажимаем Ctrl+O, Enter, Ctrl+X
Результат
# See https://wiki.debian.org/SourcesList for more information.
#deb http://deb.debian.org/debian bullseye main
#deb-src http://deb.debian.org/debian bullseye main

#deb http://deb.debian.org/debian bullseye-updates main
#deb-src http://deb.debian.org/debian bullseye-updates main

#deb http://security.debian.org/debian-security/ bullseye-security main
#deb-src http://security.debian.org/debian-security/ bullseye-security main

deb http://deb.debian.org/debian bullseye main contrib non-free
deb-src http://deb.debian.org/debian bullseye main contrib non-free

deb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free
deb-src http://deb.debian.org/debian-security/ bullseye-security main contrib non-free

deb http://deb.debian.org/debian bullseye-updates main contrib non-free
deb-src http://deb.debian.org/debian bullseye-updates main contrib non-free

3.2. Установка WINE. (Ремарка, найти способ установки под Вашу версию Linux можно на сайте WineHQ)
3.2.1. Добавляем поддержку архитектуры i386 (32-бита):
sudo dpkg --add-architecture i386
И затем обновляем информацию о пакетах, чтобы загрузить сведения из репозиториев:
sudo apt-get update
3.2.2. Устанавливаем WINE c демоном (службой в терминах Windows) winbind:
sudo apt-get install wine32 winbind
3.2.3. Запускаем WINE для того что бы убедится что все установилось штатно, а так же можно немного покопаться в настройках:
winecfg
в процессе первого запуска Wine может попросить об установки дополнительных пакетов: Mono, Gecko на все соглашаемся и устанавливаем. В появившемся диалоге устанавливаем систему Windows 7 или 8.
3.2.4. Проверить версию Wine можно выполнив команду:
wine --version

3.3. Устанавливаем для удобства работы PlayOnLinux (POL), который находится в репозитории Debian 11, для этого даем последовательно 2 команды:
sudo apt-get update
sudo apt-get install playonlinux

3.4. Включение поддержки ключей Guardant в системе. Для этого, воспользовавшись сайтом Разработчика, а так же установив ключ в USB-порт, следуем инструкции (далее в этом разделе приведена выжимка из инструкции Разработчика Ключей защиты Guardant с небольшими комментариями автора статьи) и скачиваем два архивных файлов: udev-rules.tar.gz и grdwine-0.5.7.tar.gz. Обычно браузер их скачивает в каталог „Downloads“ / „Загрузки“, расположенный по адресу /home/USERNAME/Downloads, где USERNAME здесь и далее — имя Вашей активной учетной записи Пользователя в системе, в моем случае эта учетная запись luchs. При этом хочу напомнить, что в Linux регистр имеет значение, если речь идет о командах в консоли и именах файлов. При открытии консоли мы обычно находимся в каталоге /home/USERNAME, тогда для того что бы перейти в каталог загрузок нам необходимо дать команду:
cd Downloads
в случае если мы устанавливали Linux изначально c регионом, интерфейсом и раскладкой клавиатуры Российскими, то команда меняется:
cd Загрузки
после чего даем следующие команды для распаковки архива и запуска скрипта установки:
tar -xvf udev-rules.tar.gz
sudo ./install.sh
После успешной установки правил нужно отсоединить электронный ключ от USB-порта и подсоединить повторно. Ключ готов к работе с защищенным Linux-приложением.

Для того что бы успешно работать с Ключами защиты Guardant нам так же потребуются специальные библиотеки. Для этого распаковываем архив grdwine-0.5.7-bin.tar.gz и переходим в распакованный каталог:
tar -xvf grdwine-0.5.7-bin.tar.gz
cd grdwine-0.5.7-bin
После чего выполняем скрипт install.sh c правами администратора системы:
sudo ./install.sh x86 /usr/lib/i386-linux-gnu/wine
Здесь первый параметр скрипта указывает на разрядность устанавливаемой библиотеки, а второй путь по которому данная библиотека будет установлена. Пути расположения библиотек Wine в системе можно узнать, выяснив расположение библиотек kernel32.dll.so. Необходимо выбрать пути к библиотекам в соответствии с используемой версией wine.
sudo find / -name kernel32.dll.so
Из разархивированных данных grdwine-0.5.7-bin нам для дальнейшей работы потребуется взять файл grdwine.dll.so, переименовать его в grdwine.dll, это можно будет сделать при помощи любого установленного файлового менеджера в системе без использования консоли, и подложить в каталог установки драйвера для ключей Guardant, а так же в каталог c:\Windows\System32, но тут мы несколько забегаем вперед.

3.5. Настраиваем PlayOnLinux. Для этого кликаем в программе на шестеренку (»Настройки"), затем нажимаем пункт «Новый», после чего создаем виртуальный диск для 32-хбитных приложений. Диск называем как Вам больше нравится, в моем случае это будет SmetaWizard.
После чего на вкладке «Установка компонентов» выбираем и устанавливаем следующие компоненты:
Ремарка
Из-за битых ссылок то ли из-за блокировки Рунета, то ли потому что программа давно не обновлялась, то ли потому что хостеры удалили часть файлов по своей воле — некоторые дополнения установить через данное меню невозможно. В случае выявления в будущем проблем такие дополнения необходимо будет установить вручную в данную копию виртуального диска по принципу установки ПО
— Microsoft Core Fonts
— msxml3
— msxml6
— riched20
— riched30
— vbrun6
— vcrun2008 (требование SmetaWIZARD)
Затем проверяем установленные библиотеки на вкладке Wine пункт «Настроить Wine», а так же устанавливаем версию Windows как XP.

3.5.1. Устанавливаем ПО в «виртуальный» раздел SmetaWizard в PlayOnLinux. Для этого необходимо прежде всего установить драйвер ключа Guardant для MS Windows 32-хразрядной (x86) версии. Скачать необходимый драйвер можно на сайте производителя по ссылке. Для этого в главном меню программы PlayOnLinux последовательно выбираем:
- Установить программу -> Установить программу, отсутствующую в списке -> Далее -> Далее -> Далее -> Редактировать или обновить существующее приложение -> (Показать виртуальные диски) выбрать диск SmetaWizard -> (пропустить любые доп.настроки, т.е. ничего не выбирать на этом шаге) -> 32bit instalation -> выбрать установщик и произвести установку драйвер ключа Guardant с параметрами по умолчанию -> Просмотр -> Выбор файла для запуска C:\Windows\System32\grddiag.exe -> Далее -> Далее -> "Я не хочу создавать другой ярлык"


Следующий важный шаг: файл grdwine.dll из п.3.4 через стандартный файловый менеджер Linux копируем в 2 каталога:
/home/USERNAME/PlayOnLinux's virtual drives/SmetaWizard/drive_c/Program Files/Common Files/Guardant/Drivers/
/home/USERNAME/PlayOnLinux's virtual drives/SmetaWizard/drive_c/windows/system32/
После чего через PlayOnLinux или с ярлыка на рабочем столе запускаем grddiag. Если Вы сделали все верно, но диагностическая утилита увидит ключ программы:


3.5.2. Установка сметной программы SmetaWIZARD в PlayOnLinux.
Из комплекта поставки SmetaWIZARD необходимо взять каталог с программой SmetaWIZARD и скопировать его полностью, при помощи файлового менеджера Linux, по пути:
/home/USERNAME/PlayOnLinux's virtual drives/SmetaWizard/drive_c/Program Files/

Из комплекта поставки SmetaWIZARD необходимо взять файлы из каталога /utils/vcrun2008/
и скопировать эти библиотеки по адресу
/home/USERNAME/PlayOnLinux's virtual drives/SmetaWizard/drive_c/windows/system32/

Для того что бы создать ярлык запуска SmetaWizard необходимо снова запустить приложение PlayOnLinux, зайти в Настройки, выбрать виртуальный диск SmetaWizard и на вкладке «Основные» кликнуть на кнопку «Сделать новый ярлык из этого виртуального диска», после чего выбрать файл для ярлыка, расположенный по пути:
/home/USERNAME/.PlayOnLinux/wineprefix/SmetaWizard/drive_c/Program Files/SmetaWIZARD/SmWiz.exe



4. Установка и настройка ПО в системе Astra Linux


Я никогда до этого не работал с Astra Linux. Интерфейс и внешний вид оставил ощущения словно снова работаешь не то в Windows XP, не то в Windows 2000. Дизайн приятно порадовал классикой, о которой у меня приятные воспоминания.


Для тестирования использовался дистрибутив Astra Linux версии Орел (orel-2.12.43-14.09.2021_10.29.iso 15-Dec-2021 15:52 4G). Сам разработчик о нем пишет следующее:
Astra Linux сертифицированная ОС со встроенными средствами защиты информации (СЗИ) для стабильных и безопасных ИТ-инфраструктур любого масштаба и бесперебойной работы с данными любой степени конфиденциальности


Интерфейс установщика Astra Linux напомнил немного напомнил кастомизированый установщик Debian. Т.е. при первоначальной установке и настройке каких то подводных камней и проблем не возникло.
Для того что бы установить SmetaWizard в среде Astra Linux необходимы 2 вещи:
а. Скопировать с установочного диска/флешки файлы на локальный диск, с сохранением всей структуры каталогов (в моем случае все файлы были скопированы в каталог «Загрузки»).
б. Установленный pyton 3.5+

После чего необходимо открыть терминал Fly из меню Пуск и выполнить следующие команды:
cd Загрузки
sudo python3 sw_install.py
После чего следует откинуться в кресле и наблюдать процесс установки.


По окончанию установки необходимо через консоль установить версию Windows как XP, при помощи команды:
winecfg
После чего, в моем случае через Midnight Commander, перейти в каталог установленной SmataWizard в Wine

и дать команду на запуск:
wine SmWiz.exe


И наше установленное приложение сразу стартует и готово к работе, за что хочется сказать огромное Спасибо Разработчикам, которые упростили жизнь, по сравнению с ручной установкой ПО через PlayOnLinux.


P.S.
О выборе версии Linux для десктопа — это исключительно вопрос предпочтений пользователя, устанавливать и работать с программами можно как в условном Debian, так и в Российском условной Astra Linux, но Разработчики Российского ПО будут оказывать поддержку и вести отладку с упором на российские дистрибутивы.

Всем Добра!
Источник: https://habr.com/ru/post/667456/


Интересные статьи

Интересные статьи

Технический прогресс не стоит на месте, появляются новые компьютерные архитектуры, компиляторы становятся умнее и генерируют более быстрый машинный код. Современные задачи требуют все б...
Пришло время использовать RT Linux. Для периодических событий очень важна задержка начала отработки события. Точнее максимальный джиттер. Когда джитер соизмерим с периодо...
Привет, Хабр! Заинтересовался я тут на днях, можно ли знаменитый в кругах хакеров и пентестеров Kali Linux на Raspberry Pi запустить. Полных, рабочих и понятных инструкций не нашел, во...
Industrial IoT — это мониторинг, диспетчеризация и автоматизация инженерных систем промышленных объектов, зданий, бизнес-объектов. Датчики разных параметров, счетчики и контроллеры собирают данны...
Есть статьи о недостатках Битрикса, которые написаны программистами. Недостатки, описанные в них рядовому пользователю безразличны, ведь он не собирается ничего программировать.