- 1С и Linux
- суббота, 8 декабря 2018 г.
- Astra Linux Орёл 2.12 установка КриптоПро
- Где взять документацию по установке? Какие пакеты ставить?
- Как ввести серийный номер лицензии? Как посмотреть информацию о лицензии?
- Мой дистрибутив Linux не входит в список поддерживаемых, но я очень хочу поставить туда CSP. Как мне это сделать?
- Как установить CSP на ALTLinux?
- Как установить CSP на Debian/Ubuntu?
- Можно ли получить дистрибутив КриптоПро CSP в .deb?
- Какие ОС удовлетворяют стандарту Linux Standard Base ISO/IEC 23360 (LSB 3.0, 3.1)? Где я могу посмотреть список?
- В каких ОС семейства Unix работает КриптоПро CSP версий 3.0 и 3.6?
- Как я настраивал новые утилиты по работе с электронной подписью в Linux
- Настройка «КриптоПро» CSP
- Настройка работы с Рутокен ЭЦП 2.0
- Получаем тестовый сертификат
- Подпись средствами «КриптоПро CSP»
- Rosa Crypto Tool
- Trusted eSign
- Резюме
1С и Linux
Пишу для себя, чтобы не забыть как делал. 95 % рабочее. На комментарии отвечаю, когда увижу.
суббота, 8 декабря 2018 г.
Astra Linux Орёл 2.12 установка КриптоПро
Astra Linux Орёл 2.12
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install alien libpcsclite1 pcscd libccid zip unzip
$ tar -zxf linux-amd64_deb.tgz
$ cd linux-amd64_deb
$ sudo ./install_gui.sh
#$ export PATH=»$(/bin/ls -d /opt/cprocsp/bin/*|tr ‘\n’ ‘:’)$PATH»
$ cd
/
$ mkdir cades_linux_amd64
$ cd
/cades_linux_amd64
Скачать версию 2.0
https://www.cryptopro.ru/products/cades/plugin
$ cp
/cades_linux_amd64
$ tar -zxf cades_linux_amd64.tar.gz
$ sudo alien *.rpm
$ sudo dpkg -i lsb-cprocsp-devel_*.deb cprocsp-pki-*.deb
Копируем контейнер 2018-07-.000 с машины windows:
в /var/opt/cprocsp/keys/user/2018-07-.000
Посмотреть:
$ /opt/cprocsp/bin/amd64/csptest -keyset -enum -verifycontext -fqcn
CSP (Type:80) v4.0.9017 KC2 Release Ver:4.0.9944 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 35103123
\\.\HDIMAGE\2018-07-02 16-30-20 ▒▒▒ ▒▒▒▒ ▒▒▒▒ ▒▒▒ — ▒▒▒▒▒ — ▒▒▒▒▒ — ▒▒▒▒▒
OK.
Total: SYS: 0,000 sec USR: 0,000 sec UTC: 0,130 sec
[ErrorCode: 0x00000000]
Оригинальный контенер был без пинкода.
Если нужно добавить пинкод, копируем контейнер:
$ /opt/cprocsp/bin/amd64/csptest -keycopy -contsrc «$(echo ‘HDIMAGE\\2018-07-.000\0A6B’ | iconv -t cp1251)» -contdest ‘\\.\HDIMAGE\test’ -typesrc 75 -typedest 75 -pindest 12345678
CSP (Type:75) v4.0.9017 KC2 Release Ver:4.0.9944 OS:Linux CPU:AMD64 FastCode:READY:AVX.
CryptAcquireContext succeeded.HCRYPTPROV: 23474403
CryptAcquireContext succeeded.HCRYPTPROV: 23479523
Total: SYS: 0,000 sec USR: 0,000 sec UTC: 0,130 sec
[ErrorCode: 0x00000000]
$ /opt/cprocsp/bin/amd64/csptest -keyset -enum -verifycontext -fqcn
CSP (Type:80) v4.0.9017 KC2 Release Ver:4.0.9944 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 36958611
\\.\HDIMAGE\test
\\.\HDIMAGE\2018-07-02 16-30-20 ▒▒▒ ▒▒▒▒ ▒▒▒▒ ▒▒▒ — ▒▒▒▒▒ — ▒▒▒▒▒ — ▒▒▒▒▒
OK.
Total: SYS: 0,000 sec USR: 0,000 sec UTC: 0,140 sec
[ErrorCode: 0x00000000]
Или:
$ /opt/cprocsp/bin/amd64/csptest -keyset -enum -verifycontext -fqcn | iconv -f cp1251
Установить копированный контейнер:
$ /opt/cprocsp/bin/amd64/certmgr -inst -store uMy -cont ‘\\.\HDIMAGE\test’
Пример если нужно установить оригинальный контейнер:
$ /opt/cprocsp/bin/amd64/certmgr -inst -store uMy -cont «$(echo ‘HDIMAGE\\2018-07-.000\0A6B’ | iconv -t cp1251)»
#связываем сертификат и закрытый ключ:
#$ /opt/cprocsp/bin/amd64/certmgr -inst -file sert.cer -cont ‘\\.\HDIMAGE\test’
Удалить:
$ /opt/cprocsp/bin/amd64/certmgr -delete
Для установки в uRoot админиских прав больше не нужно. Ради этого их с mRoot и разделили. Работает так: если ставить в uRoot — видно будет только текущему пользователю, даже если он root, но права не нужны и будет диалог с предупреждением. Если ставить в mRoot, то нужны права, видно будет всем и предупреждения не будет.
Просмотор личных сертификатов:
$ /opt/cprocsp/bin/amd64/certmgr -list -store uMy
CA cert URL : http://www.dp.keydisk.ru/root/833/astral-833-2017n.cer
Установка головного сертификата удостверяющего центра (из сертификата Калуга-Астрал):
$ mkdir
/CAs $(/opt/cprocsp/bin/amd64/certmgr -list -store uMy | awk ‘/CA cert URL/ < print $5 >‘)
for cert in $(ls -1
/CAs/*.cer); do sudo /opt/cprocsp/bin/amd64/certmgr -inst -store mRoot -file $cert; done
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file ‘Сертификат Головного удостоверяющего центра.cer’ -store uRoot
#$ sudo /opt/cprocsp/bin/amd64/certmgr -inst -cert -file ‘Сертификат Головного удостоверяющего центра.cer’ -store mRoot
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file ‘Сертификат Удостоверяющего центра Федерального казначейства.cer’ -store uRoot
#$ sudo /opt/cprocsp/bin/amd64/certmgr -inst -cert -file ‘Сертификат Удостоверяющего центра Федерального казначейства.cer’ -store mRoot
Просмотр:
$ /opt/cprocsp/bin/amd64/certmgr -list -store uRoot
#$ sudo /opt/cprocsp/bin/amd64/certmgr -list -store mRoot
Удалить:
$ /opt/cprocsp/bin/amd64/certmgr -delete -store uRoot
$ /opt/cprocsp/bin/amd64/certmgr -delete -all -store uRoot
#$ sudo /opt/cprocsp/bin/amd64/certmgr -delete -store mRoot
#$ sudo /opt/cprocsp/bin/amd64/certmgr -delete -all -store mRoot
Проверка цепочек
$ /opt/cprocsp/bin/amd64/certmgr -list -store uMy
Смотрим:
CN=’Фёдорова Галина Борисовна’
$ CP_PRINT_CHAIN_DETAIL=1 /opt/cprocsp/bin/amd64/cryptcp -copycert -dn CN=’Фёдорова Галина Борисовна’ -df
/t.cer
.
.
.
Certificate chains are checked.
Certificate’s been copied.
[ReturnCode: 0]
Цепочки сертификатов проверены.
Копирование сертификатов завершено.
[ErrorCode: 0x00000000]
$ sudo apt install chromium
После установки закрыть и войти снова
$ unzip IFCPlugin-3.0.0-x86_64.deb.zip
$ sudo apt install libccid pcscd
$ sudo dpkg -i IFCPlugin-3.0.0-x86_64.deb
создаем симлинк для корректной работы связи расширения браузера с библиотекой установленного плагина
$ sudo ln -s /etc/opt/chrome/native-messaging-hosts/ru.rtlabs.ifcplugin.json /etc/chromium/native-messaging-hosts/ru.rtlabs.ifcplugin.json
Заходим в каталог куда скачали архив
$ unzip ifc.cfg.zip
Копируем конфигурационный файл
$ sudo cp ifc.cfg /etc/ifc.cfg
Перейти в меню — Дополнительные инструменты — Расширения и включить плагин
Alexey Kovin (4l3xk3), [10.09.18 13:34]
[В ответ на Leonid Volkanin]
Alexey Kovin (alexk3):
Проверка защитного преобразования по ГОСТу по https в chromium из состава AstraLinux:
Источник
Где взять документацию по установке? Какие пакеты ставить?
Инструкции по установке и настройке, а также описание пакетов даны в документе «Руководство администратора безопасности. Linux». Этот документ входит в состав документации на CSP, его можно скачать на странице загрузки CSP или в разделе «Документация»: http://cryptopro.ru/support/docs .
Если у Вас FreeBSD/Solaris/AIX — см. «Руководство администратора безопасности. FreeBSD/Solaris/AIX».
Как ввести серийный номер лицензии? Как посмотреть информацию о лицензии?
Для просмотра информации о лицензии выполните:
#cpconfig -license -view
Для ввода лицензии выполните:
#cpconfig -license -set
Серийный номер следует вводить с соблюдением регистра символов.
Утилита cpconfig находится в /opt/cprocsp/sbin/ .
Мой дистрибутив 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:
rpm -i ./cprocsp-compat-altlinux-1.0.0-1.noarch.rpm
После этого можно устанавливать необходимые пакеты из состава CSP. Установка осуществляется при помощи утилиты rpm.
Как установить CSP на Debian/Ubuntu?
Сначала необходимо поставить(если не установлены) пакеты LSB из состава дистрибутива, а также пакет alien, который является штатным средством для установки .rpm:
apt-get install lsb-base alien lsb-core
Затем при помощи alien поставить необходимые пакеты CSP, например:
alien -kci ./lsb-cprocsp-base-3.6.4-4.noarch.rpm
alien -kci ./lsb-cprocsp-rdr-3.6.4-4.i486.rpm
alien -kci ./lsb-cprocsp-kc1-3.6.4-4.i486.rpm
alien -kci ./lsb-cprocsp-capilite-3.6.4-4.i486.rpm
Можно ли получить дистрибутив КриптоПро CSP в .deb?
Нет, дистрибутив поставляется только в .rpm. Все ОС семейства Linux, для работы под управлением которых сертифицирован продукт либо основаны на rpm, либо соответствуют LSB, либо планируются к сертификации по стандарту LSB 3.1. Обязательным требованием для соответствия LSB является наличие в ОС механизма для установки rpm, следовательно, если используемая Вами ОС входит в число поддерживаемых операционных систем, в ней есть механизм для установки .rpm. Для debian, ubuntu и основанных на них дистрибутивах это утилита alien.
Какие ОС удовлетворяют стандарту 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)
Источник
Как я настраивал новые утилиты по работе с электронной подписью в Linux
Поговорим немного про средства электронной подписи (ЭП) с использованием отечественных ГОСТ-алгоритмов в Linux. Несмотря на то, что различные средства и интерфейсы по работе с ЭП в Linux развиты даже лучше, чем в Windows, использовать их не так просто.
Такое положение вещей сохранялось последние несколько лет. Но с конца 2016 года ситуация изменилась в лучшую сторону. Появилось сразу два продукта, которые позволяют работать с электронной подписью по стандарту ГОСТ и шифрованием без использования консоли – это Rosa Crypto Tool и Trusted eSign. Оба эти продукта для работы с криптографией используют «КриптоПро CSP» для Linux. Поэтому, перед тем как обратиться к описанию самих продуктов, поговорим немного про «КриптоПро CSP».
«КриптоПро CSP» под Linux — неоднозначный продукт. С одной стороны, это одно из самых распространенных и мощных сертифицированных средств по работе с криптографией как в Windows, так и в Linux. С другой стороны, для простого человека пользоватся его интерфейсами даже в Windows не так-то просто. А в Linux доступен только консольный интерфейс. Надеюсь, что компания «КриптоПро» в курсе этой ситуации, и в будущем нас ждут новые красивые и удобные интерфейсы, как для Windows, так и для Linux.
Для настройки нам понадобится:
- Любимый дистрибутив Linux. Я использовал Ubuntu Linux 16.04 LTS и ROSA Fresh GNOME R8;
- Сертифицированная версия КриптоПро CSP 4.0 R2 для Windows, UNIX и macOS;
- Рутокен ЭЦП 2.0.
Настройка «КриптоПро» CSP
Несмотря на то, что есть несколько неплохих статей по настройке «КриптоПро CSP» под Linux (например, тут или тут), я опишу здесь свой вариант. Основная причина в том, что большинство инструкций написаны для «Крипто Про CSP» версии 3.x. А современная версия «КриптоПро CSP» 4.0 не является 100% совместимой с 3.x. Дополнительная причина – всегда приятно иметь полную инструкцию по настройке в одном месте, а не переключаться с одного окна на другое.
Приступаем к настройке.
Скачиваем «КриптоПро CSP» для Linux с официального сайта КриптоПро — www.cryptopro.ru/downloads
Распаковываем «КриптоПро CSP» для Linux:
Далее у нас есть 2 варианта – автоматическая установка и установка вручную. Автоматическая установка запускается командой:
Здесь надо отдать должное разработчикам «КриптоПро» – автоматическая установка для большинства дистрибутивов отрабатывает успешно. Хотя бывают и нюансы. Например, если у вас не хватает некоторых пакетов, то установка будет успешно завершена, хотя некоторый функционал работать не будет.
Если что-то пошло не так, или вы по тем или иным причинам хотите использовать установку в ручном режиме, то вам необходимо выполнить:
Для установки пакетов в ROSA используйте urpmi, вместо dpkg -i.
Устанавливаем лицензию для «КриптоПро CSP» для Linux и проверяем, что все работает нормально:
Мы должны получить что-то вроде:
Настройка работы с Рутокен ЭЦП 2.0
Сделаем небольшое отступление. Для работы с электронной подписью и шифрованием нам не обойтись без ключевых пар и сертификатов. Надежное хранение закрытых ключей – один из основных факторов безопасности. А более надежных средств хранения, чем токен или смарт-карта, человечество пока не придумало. Я буду использовать Рутокен ЭЦП 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.
Источник