крипто про линукс установка
Крипто про линукс установка
Для обеспечения работы с электронными ключами Rutoken в ОС семейства Linux необходимо установить:
2. Пакеты из состава дистрибутива КриптоПро CSP : cprocsp-rdr-pcsc, cprocsp-rdr-rutoken
Важно!
Для работы электронных идентификаторов Rutoken должны быть установлены:
В DEB -based системе: библиотека libccid не ниже 1.4.2, пакеты pcscd и libpcsclite1.
В RPM-based системе: пакеты ccid, pcscd и pcsc-lite.
Ниже приведены примеры установки пакетов пользователем, имеющим права администратора ( root ). В противном случае, в начале команды следует поставить « sudo », например:
Устанавливаем драйвер Rutoken для DEB — based и RPM — based систем ( только для RUTOKEN S ):
Устанавливаем КриптоПро CSP для DEB — based и RPM — based систем:
Устанавливаем модуль поддержки PCSC-считывателей для DEB — based и RPM — based систем (доп. пакет):
root@ubuntu :# dpkg –i cprocsp-rdr-pcsc
Устанавливаем модуль поддержки Rutoken для DEB — based и RPM — based систем (доп. пакет):
root@ubuntu :# dpkg –i cprocsp-rdr-rutoken
root@ubuntu :# rpm –i cprocsp-rdr-rutoken
После подключения считывателя проверим определяет ли его система:
root@ubuntu :# /opt/cprocsp/bin/amd64/csptest –card –enum
Aktiv Rutoken ECP 00 00
Total: SYS: 0.000 sec USR: 0.000 sec UTC: 0.240 sec
[ ErrorCode : 0 x 00000000]
Просмотр списка настроенных считывателей:
Nick name: Aktiv Rutoken ECP 00 00
Connect name:
Reader name: Aktiv Rutoken ECP 00 00
Nick name: FLASH
Connect name:
Reader name: FLASH
Nick name: HDIMAGE
Connect name:
Reader name: HDIMAGE
Для тестирования создадим самоподписанный сертификат с закрытым ключом:
CSP (Type:80) v4.0.9019 KC1 Release Ver:4.0.9963 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 34026883
GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2012 KC1 CSP
Container name: «test»
Exchange key is not available.
Attempting to create an exchange key.
an exchange key created.
Subject/Issuer: E=test@cryptopro.ru, CN=test
Subject/Issuer: E=test@cryptopro.ru, CN=test
Self signed certificate created: E=test@cryptopro.ru, CN=test
Certificate stored in container.
Total: SYS: 0.020 sec USR: 0.140 sec UTC: 10.720 sec
Как я настраивал новые утилиты по работе с электронной подписью в Linux
Поговорим немного про средства электронной подписи (ЭП) с использованием отечественных ГОСТ-алгоритмов в Linux. Несмотря на то, что различные средства и интерфейсы по работе с ЭП в Linux развиты даже лучше, чем в Windows, использовать их не так просто.
Такое положение вещей сохранялось последние несколько лет. Но с конца 2016 года ситуация изменилась в лучшую сторону. Появилось сразу два продукта, которые позволяют работать с электронной подписью по стандарту ГОСТ и шифрованием без использования консоли – это Rosa Crypto Tool и Trusted eSign. Оба эти продукта для работы с криптографией используют «КриптоПро CSP» для Linux. Поэтому, перед тем как обратиться к описанию самих продуктов, поговорим немного про «КриптоПро CSP».
«КриптоПро CSP» под Linux — неоднозначный продукт. С одной стороны, это одно из самых распространенных и мощных сертифицированных средств по работе с криптографией как в Windows, так и в Linux. С другой стороны, для простого человека пользоватся его интерфейсами даже в Windows не так-то просто. А в Linux доступен только консольный интерфейс. Надеюсь, что компания «КриптоПро» в курсе этой ситуации, и в будущем нас ждут новые красивые и удобные интерфейсы, как для Windows, так и для Linux.
Для настройки нам понадобится:
Настройка «КриптоПро» CSP
Несмотря на то, что есть несколько неплохих статей по настройке «КриптоПро CSP» под Linux (например, тут или тут), я опишу здесь свой вариант. Основная причина в том, что большинство инструкций написаны для «Крипто Про CSP» версии 3.x. А современная версия «КриптоПро CSP» 4.0 не является 100% совместимой с 3.x. Дополнительная причина – всегда приятно иметь полную инструкцию по настройке в одном месте, а не переключаться с одного окна на другое.
Приступаем к настройке.
Скачиваем «КриптоПро CSP» для Linux с официального сайта КриптоПро — www.cryptopro.ru/downloads
Распаковываем «КриптоПро CSP» для Linux:
Далее у нас есть 2 варианта – автоматическая установка и установка вручную. Автоматическая установка запускается командой:
Здесь надо отдать должное разработчикам «КриптоПро» – автоматическая установка для большинства дистрибутивов отрабатывает успешно. Хотя бывают и нюансы. Например, если у вас не хватает некоторых пакетов, то установка будет успешно завершена, хотя некоторый функционал работать не будет.
Если что-то пошло не так, или вы по тем или иным причинам хотите использовать установку в ручном режиме, то вам необходимо выполнить:
Устанавливаем лицензию для «КриптоПро CSP» для Linux и проверяем, что все работает нормально:
Мы должны получить что-то вроде:
Настройка работы с Рутокен ЭЦП 2.0
Для работы с токенами в ОС Linux есть масса различных средств и драйверов. Для описания всех этих средств понадобится отдельная статья. Поэтому я не буду подробно описывать, как это работает, и почему нам нужны именно эти пакеты.
Устанавливаем пакеты для работы с Рутокен ЭЦП 2.0:
Нам также необходимо установить пакеты КриптоПро CSP для поддержки работы с токенами:
Получаем тестовый сертификат
Перед тем как перейти непосредственно к работе с подписью, надо сгенерировать ключевую пару и создать сертификат электронной подписи. Если у вас уже есть Рутокен с контейнером «КриптоПро», то эту часть можно смело пропустить.
Воспользуемся тестовым УЦ компании «КриптоПро» по адресу — https://www.cryptopro.ru/certsrv/
Создаем запрос на сертификат с параметрами по умолчанию.
Проверим, что сертификат получен успешно.
Чтобы убедиться, что «КриптоПро CSP» успешно увидел токен, выполним:
Мы должны получить что-то вроде:
Теперь проверяем, что сертификат на токене видится успешно:
Записываем в хранилище сертификатов КриптоПро информацию об этом сертификате:
Проверим, что сертификат успешно сохранился в хранилище:
На этом основная настройка завершена, и мы можем начинать подписывать или шифровать файлы с использованием различных средств. Переходим к тому, зачем задумывалась эта статья.
Подпись средствами «КриптоПро CSP»
В составе «КриптоПро CSP» есть утилита csptestf, позволяющая выполнять различные криптографические операции. Как я уже писал выше, у этой утилиты есть 2 недостатка:
Здесь,
my — параметр, в котором надо указать часть Common Name сертификата для подписи;
detached — позволяет создать открепленную подпись;
alg GOST94_256 — задает алгоритм хэширования, который будет использоваться при создании подписи.
Более подробную информацию о возможных параметрах вы можете получить, выполнив команду:
Такой интерфейс отлично подходит для подготовленного пользователя или для автоматизации операций в скриптах.
Поговорим теперь об утилитах, которые облегчают жизнь обычным пользователям при работе с подписью и шифрованием в Linux.
Rosa Crypto Tool
Как следует из названия, это утилита для работы с электронной подписью и шифрованием для дистрибутива ROSA Linux. В данный момент утилита доступна в репозиториях Rosa Linux и Alt Linux.
Эта утилита разрабатывается одним человеком – Михаилом Вознесенским. У нее простой, но удобный интерфейс. На данный момент утилита находится в активной разработке – с ноября 2016 года мне удалось протестировать три версии. Последняя версия, доступная на момент написание статьи — 0.2.2. Сейчас утилита поддерживает работу только с «КриптоПро CSP» для Linux, однако в ближайшее время будет добавлена поддержка других криптопровайдеров.
Что внутри? Утилита написана на Python с использованием PyQt4 для графического интерфейса.
Установить ее можно, использовав «Управление программами» в Rosa Linux.
Вставляем токен и запускаем утилиту.
Видим, что токен определился успешно и был найден наш сертификат.
Интерфейс программы настолько прост, что описывать и показывать в статье все его функции не имеет смысла. Попробуем только подписать файл.
Выбираем файл и жмем “Подписать файл”. Получаем вот такое предупреждение.
Нажимаем «OK» и получаем информацию о том, что файл был подписан успешно.
Основное достоинство этой утилиты в том, что она совершенно бесплатная, в отличии нашего следующего продукта.
По сравнению с использованием «КриптоПро CSP» из консоли:
+ На порядок проще использовать;
— Отсутствуют различные параметры подписи.
Исходный код программы доступен в публичном репозитории на ABF:
abf.io/uxteam/rosa-crypto-tool-devel
Система контроля версий, которую использует «НТЦ ИТ РОСА», интегрирована в сборочную среду и базируется на Git. Можно вполне использовать любой клиент git.
Надеюсь, разработчики других отечественных дистрибутивов Linux, таких как Astra Linux, GosLinux и другие добавят в свои дистрибутивы пакеты с rosa-crypto-tool.
Trusted eSign
Второй продукт, про который мы поговорим, это Trusted eSign от компании “Цифровые технологии”. Она известна на российском рынке ИБ как разработчик средства по работе с подписью и шифрованием для ОС Windows – «КриптоАРМ».
Главное, не путать этот продукт с Trusted.eSign – web-сервисом по работе с подписью этой же компании.
Найти продукт на сайтах компании “Цифровые технологии” непросто. Небольшое описание есть в магазине http://www.cryptoarm.ru/shop/trusted_esign, продукт также можно скачать в разделе «Центр загрузки» на сайте trusted.ru — https://trusted.ru/support/downloads/?product=133
К сожалению, продукт пока доступен только в виде deb пакета для 64-битных систем. С чем связано такое ограничение, непонятно. Будем надеяться, что в ближайшее время компания выпустит и rpm пакет, а также версии для 32-битных дистрибутивов Linux.
Скачиваем с официального сайта deb-пакет и устанавливаем командой:
Запускаем Trusted eSign.
Сразу видно, что разработка не обошлась без дизайнера. Никакого сарказма. Все действия делаются просто и логично, а внешний вид радует глаз. К сожалению, большинство средств и программ в области ИБ от российских разработчиков разработаны без привлечения UX-специалистов и дизайнеров и заставляют своих пользователей страдать и плакать кровавыми слезами. Создается впечатление, что другими средства информационной безопасности просто не могут быть. “Цифровые технологии” опровергают это. Плата за красоту и удобство – необходимость платить за лицензию.
Но вернемся к подписи.
Выбираем раздел “Электронная подпись”:
Выбираем «Сертификат для подписи»:
Выбираем файлы для подписи и жмем «Подписать»:
Что под капотом? Процитирую с сайта: “Приложение создано на современном движке Electron, для вызова криптографических операций применяется библиотека OpenSSL. Совместимо с СКЗИ “КриптоПро CSP 4.0” и поддерживает все криптографические алгоритмы, реализованные в нем.” Для тех, кто ещё не в курсе Electron — это фреймворк для создания десктопных приложений на платформе node.js.
Сравним Trusted eSign с Rosa crypto tool:
+ Более удобный и красивый интерфейс
— Платная лицензия
Резюме
Подведем итог. В конце 2016 – начале 2017 года наметился неплохой прогресс в средствах по работе с электронной подписью под Linux. Информационная безопасность начинает поворачиваться к пользователю лицом, и с каждым годом требуется все меньше действий для такого простого действия, как подписать или зашифровать файл с использованием отечественных алгоритмов.
Хочется дополнительно отметить такое развитие отечественных продуктов, учитывая современный тренд на замену Windows на Linux в государственных и муниципальных организациях. В рамках этого тренда становится актуальным использование средств криптографической защиты информации под Linux. Хорошие и удобные продукты российских разработчиков помогут государственным организациям и структурам нормально работать и выполнять требования по импортозамещению.
Такое развитие не может не радовать, особенно когда это происходит под Linux.
Где взять документацию по установке? Какие пакеты ставить?
Как ввести серийный номер лицензии? Как посмотреть информацию о лицензии?
Для просмотра информации о лицензии выполните:
Для ввода лицензии выполните:
Мой дистрибутив Linux не входит в список поддерживаемых, но я очень хочу поставить туда CSP. Как мне это сделать?
Попробуйте сначала поставть пакеты совместимости с LSB 3.0 или 3.1 из состава Вашего дистрибутива (названия могут несколько варьироваться, обычно lsb-3.0, lsb-3.1, lsb-base, lsb-core), а затем установить CSP.
ВНИМАНИЕ: установка CSP на неподдерживаемую ОС не будет являться сертифицированным решением и не поддерживается.
Как установить CSP на ALTLinux?
Сначала необходимо установить пакет LSB из состава дистрибутива:
apt-get install lsb-3.0
Затем пакет совместимости, поставляющийся вместе с CSP:
После этого можно устанавливать необходимые пакеты из состава CSP. Установка осуществляется при помощи утилиты rpm.
Как установить CSP на Debian/Ubuntu?
apt-get install lsb-base alien lsb-core
Затем при помощи alien поставить необходимые пакеты CSP, например:
Какие ОС удовлетворяют стандарту Linux Standard Base ISO/IEC 23360 (LSB 3.0, 3.1)? Где я могу посмотреть список?
По сотстоянию на момент сертификации в этот список входили:
Программно-аппаратные среды, удовлетворяющие стандарту LSB 3.1:
— Asianux Server 3 (ia32, x86-64)
— Bharat Operating System Solutions (BOSS) Linux 1.0 (ia32)
— Bharat Operating System Solutions (BOSS) Linux 2.0 (ia32)
— Booyo 2.5 (ia32, x64)
— Linpus Linux 9.4 (ia32)
— Linpus Linux 9.5 (ia32, x64)
— Mandriva Linux 2007.0 (ia32)
— Mandriva Linux Corporate Desktop 4.0 (ia32)
— Mandriva Linux Corporate Server 4.0 (ia32)
В каких ОС семейства Unix работает КриптоПро CSP версий 3.0 и 3.6?
КриптоПро CSP версии 3.0 работает под управлением операционных систем:
— Red Hat Linux 7, 9 (платформа ia32)
— FreeBSD 5 (платформа ia32)
— Solaris 9 Update 4 (платформы sparc, ia32).
КриптоПро CSP версии 3.6 работает под управлением операционных систем:
— FreeBSD 7/8 (платформа ia32)
— Solaris 9/10 (платформы sparc, ia32, x64)
— AIX 5/6 (платформа Power PC)
— ALT Linux Server (платформы ia32, x64)
— Debian (платформы ia32, х64)
— Trustverse Linux XP (платформа ia32)
— SPLAT (платформы ia32, х64)
Крипто про линукс установка
Если кто-то уже ранее имел опыт установки КриптоПро на Windows, то спешу вас огорчить: дела с Linux обстоят гораздо хуже.
Почему? Дело в том, что версия КриптоПро для Linux почти лишена графической среды управления, так что даже импорт сертификатов придется выполнять консольными командами (за исключением последней 5-ой версии КриптоПро). Но если вы используете Linux, то данное обстоятельство вас не должно напугать.
Не буду ходить больше вокруг да около, а сразу приступлю к описанию процесса установки и настройки КриптоПро в Ubuntu 18.04. Все описанные далее инструкции справедливы для Rutoken Lite.
1. Скачиваем deb-пакет для установки КриптоПро в Ubuntu
Загрузка доступна с официального сайта КриптоПро в разделе Продукты. Отмечу лишь то, что надо скачивать обязательно сертифицированную версию. В данном материале описана установка и настройка КриптоПро CSP 4.0 R3.
Далее загруженный архив tgz необходимо распаковать.
2. Установка КриптоПро в графическом режиме
Переходим в папку с распакованным архивом и выбираем в контекстном меню команду Открыть в Терминале (в Kubuntu Действия / Открыть Терминал в этой папке). Для запуска установки в КриптоПро в графическом режиме вводим в терминале команду
Появится Мастер установки КриптоПро. Навигация в мастере установки осуществляется при помощи клавиши Tab, выбор чекбоксов осуществляется нажатием пробела. Жмем Next, отмечаем все доступные к установке компоненты, далее жмем Install.
В окне Терминала запустится процесс установки, следует проконтролировать отсутствие ошибок установки. В конце мастер сообщит об успешной установке, после чего следует нажать клавишу ОК.
Кратко о компонентах КриптоПро для Linux:
3. Ввод лицензионного кода
Далее мастер предложит ввести код лицензии. Делать это не обязательно. По умолчанию КриптоПро включает стандартную лицензию на три месяца. Проверить срок действия лицензии можно стандартной командой в Терминале
4. Установка дополнительных файлов поддержки КрптоПро
Если установка КриптоПро запущена не в графическом режиме или при установке выбраны не все компоненты, то следует в обязательном порядке установить следующие пакеты (найти их можно в папке установки КриптоПро с файломinstall_gui.sh):
5. Установка драйверов Рутокен
Rutoken Lite не требует установки дополнительных драйверов. Для установки других типов Рутокена потребуется посетить официальный сайт и установить необходимые драйвера.
Однако для полноценной работы Рутокена потребуется установить дополнительные библиотеки при помощи команды в Терминале:
sudo apt-get install libccid pcscd libpcsclite1 pcsc-tools opensc
Для Rutoken S, JaCarta PKI потребуется установка дополнительных драйверов. Пишите в комментариях, если кому-то нужно расписать данный момент.
6. Перезапуск службы pcscd
Перезапустить указанную службы легко при помощи команды
sudo service pcscd restart
7. Проверка работоспособности Рутокена при помощи фирменных средств производителя
Выполнив команду pcsc_scan в терминале, можно проверить работоспособность подключенного Рутокена. Если картинка такая же, как и на скриншоте, то все работает правильно.
8. Проверка работоспособности Рутокена при помощи встроенных средств КриптоПро
Средства КриптоПро также позволяют сразу же проверить работоспособность присоединенных носителей. Команда в терминале
9. Просмотр и Импорт в Личное хранилище сертификатов с Рутокена
Для просмотра личных сертификатов, имеющихся на подключенных контейнерах, выполняем команду в Терминале
Для импорта всех личных сертификатов со всех подключенных носителей выполняем команду в Терминале
10. Просмотр личных сертификатов в хранилище
Убедиться в успешном импорте сертификатов с Рутокена в Личное хранилище сертификатов можно при помощи команды в терминале
Для удаления сертификата из личного хранилища сертификатов следует выполнить команду в Терминале:
Далее терминал предложит указать номер удаляемого сертификата.
На скриншоте выше вы видите, что удостоверяющим центром, который выпустил мой сертификат, является ООО «Компания Тензор». Вот для этой компании и надо искать и устанавливать корневые сертификаты. Как установить корневые сертификаты, читайте в следующем пункте.
11. Импорт коренвых сертификатов в хранилище доверенных корневых сертификатов
Вначале скопируем кореные сертификаты в отдельную папку. Затем в контекстном меню, перейдя в эту папку, выполним команду Открыть в терминале. Далее произведем установку командой в Теримнале:
12. Установка КриптоПро ЭЦП Browser plug-in
Для установки КриптоПро ЭЦП Browser plug-in потребуется утилита alien. Установим ее командой:
sudo apt install alien
Далее скачиваем установочный пакет КриптоПро ЭЦП Browser plug-in с официального сайта КриптоПро.
Распаковываем архив cades_linux_amd64.zip и переходим перейти в каталог с распакованными файлами, выполним команду Открыть в терминале и далее выполним команды для преобразования rpm-пакетов в deb-пакеты:
Далее устанавливаем deb-пакеты:
Обратите внимание: при установке этих двух пакетов не должно быть ошибок.
13. Установка расширения браузера КриптоПро ЭЦП Browser plug-in
Далее необходимо в используемом вами браузере установить расширение КриптоПро ЭЦП Browser plug-in. Cсылка на расширение для Google Chrome
14. Тестирование работоспособности подписи
Если вы все сделали правильно, то КриптоПро настроен. Проверить подпись можно по ссылке
15. Доополнительное ПО для Рутокена
Если вам понадобятся дополнительные плагины или драйвера для Рутокена, то скачать вы всегда их сможете с официального сайта производителя по ссылке, которая указана ниже:
На этом все. Как выясняется, установка КриптоПро в Ubuntu Linux 18.04 не такая уж сложная.