- Немного вводных об astra linux directory (ald) и jacarta pki
- Astra linux орёл 2.12 установка криптопро
- Настройка клиента. проверка работоспособности
- Подготовка смарт-карты. выпуск ключей и сертификата пользователя
- Пример демо-зоны
- Установка драйверов на сервер и клиент
- Установка и настройка центра сертификации на сервере
Немного вводных об astra linux directory (ald) и jacarta pki
Домен Astra Linux Directory (ALD) предназначен для организации единого пространства пользователей (домена локальной вычислительной сети) в автоматизированных системах.
ALD использует технологии LDAP, Kerberos5, Samba/CIFS и обеспечивает:
- централизованное хранение и управление учётными записями пользователей и групп;
- сквозную аутентификацию пользователей в домене с использованием протокола Kerberos5;
- функционирование глобального хранилища домашних директорий, доступных по Samba/CIFS;
- автоматическую настройку файлов конфигурации UNIX, LDAP, Kerberos, Samba, PAM;
- поддержку соответствия БД LDAP и Kerberos;
- создание резервных копий БД LDAP и Kerberos с возможностью восстановления;
- интеграцию в домен входящих в дистрибутив СУБД, серверов электронной почты, Web-серверов, серверов печати и другие возможности.
JaCarta PKI — это линейка PKI-токенов для строгой аутентификации пользователей в корпоративных системах, безопасного хранения ключевых контейнеров программных СКЗИ и цифровых сертификатов российского производителя – компании “Аладдин Р.Д.”.
В среде Astra Linux Directory (ALD) электронные ключи JaCarta PKI могут использоваться для двухфакторной аутентификации пользователя в домене ALD и отказа от паролей. Кроме того, с этими же электронными ключами можно выполнять различные сценарии внутри ОС, после аутентификации, такие, как: электронная подпись, хранение ключевых контейнеров, доступ к Web-ресурсам, проброс ключа в сессии MS Windows. Доступ к VDI сервисам, таким, как VmWare или Citrix.
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/{s,}bin/*|tr ‘n’ ‘:’)$PATH”
$ cd ~/
$ mkdir cades_linux_amd64
$ cd ~/cades_linux_amd64
Скачать версию 2.0
https://www.ecpexpert.ru/products/cades/plugin
$ cp ~/Загрузки/cades_linux_amd64.tar.gz ~/cades_linux_amd64
$ tar -zxf cades_linux_amd64.tar.gz
$ sudo alien *.rpm
$ sudo dpkg -i lsb-cprocsp-devel_*.deb cprocsp-pki-*.deb
Копируем контейнер 2021-07-.000 с машины windows:
в /var/opt/cprocsp/keys/user/2021-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
\.HDIMAGE2021-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\2021-07-.000A6B’ | iconv -t cp1251)” -contdest ‘\.HDIMAGEtest’ -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
\.HDIMAGEtest
\.HDIMAGE2021-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 ‘\.HDIMAGEtest’
Пример если нужно установить оригинальный контейнер:
$ /opt/cprocsp/bin/amd64/certmgr -inst -store uMy -cont “$(echo ‘HDIMAGE\2021-07-.000A6B’ | iconv -t cp1251)”
#связываем сертификат и закрытый ключ:
#$ /opt/cprocsp/bin/amd64/certmgr -inst -file sert.cer -cont ‘\.HDIMAGEtest’
Удалить:
$ /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-2021n.cer
Установка головного сертификата удостверяющего центра (из сертификата Калуга-Астрал):
$ mkdir ~/CAs
$ wget -P ~/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
Если сертификат был выдан казначейством:
Сертификаты zakupki.gov.ru
Качаем Сертификат Головного удостоверяющего центра и Сертификат Удостоверяющего центра Федерального казначейства
$ /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]
Для firefox и установить в браузере
Скачать расширение
Проверка плагина
Проверено подписывает:
Единая электронная торговая площадка
$ sudo apt install chromium
После установки закрыть и войти снова
Проверка плагина
Проверено подписывает:
Единая электронная торговая площадка
Проверно подписывает:
Сбербанк-АСТ
Установка IFCPlugin для gosuslugi.ru
IFCPlugin-3.0.0-x86_64.deb.zip
ifc.cfg.zip
$ 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
Установить Расширение для gosuslugi.ru
Перейти в меню – Дополнительные инструменты – Расширения и включить плагин
Alexey Kovin (4l3xk3), [10.09.18 13:34]
[В ответ на Leonid Volkanin]
Alexey Kovin (alexk3):
Проверка защитного преобразования по ГОСТу по https в chromium из состава AstraLinux:
Скачиваем
https://ecpexpert.ru/products/csp/downloads#latest_csp40r3
https://ecpexpert.ru/sites/default/files/private/csp/40/9944/linux-amd64_deb.tgz
Нужные библиотеки входят в минимальную установку (по ./install.sh)
Лежать будут в /opt/cprocsp/lib/amd64
Ставим Смоленск 1.6 или Орел 2.12
Берём linux-amd64_deb.tgz по ссылке выше
Распаковать и запустить install.sh
Запустить chromium
Зайти на https://q.ecpexpert.ru
F12 режим отладки ищем вкладку security
Внизу справа ищем tls по ГОСТу
Настройка клиента. проверка работоспособности
Создайте на клиенте каталог /etc/krb5/. Скопируйте в /etc/krb5/ сертификат CA (cacert.pem) c сервера.
Настройте kerberos в /etc/krb5.conf. Секцию [libdefaults] дополните следующими строками.
Подготовка смарт-карты. выпуск ключей и сертификата пользователя
Убедитесь в том, что установлены пакеты libengine-pkcs11-openssl и opensc. Подключите устройство, которое следует подготовить.
Проинициализируйте устройство, установите PIN-код пользователя. Помните, что инициализация устройства удалит все данные на JaCarta PKI без возможности восстановления.
Для инициализации необходимо воспользоваться утилитой pkcs11-tool.
pkcs11-tool –slot 0 –init-token –so-pin 00000000 –label ‘JaCarta PKI’ –module /lib64/libASEP11.so,
где:
–slot 0
— указывает, в какой виртуальный слот подключено устройство. Как правило, это слот 0, но могут быть и другие значения – 1,2 и т.д.;
–init-token
– команда инициализации токена;
–so-pin 00000000
– PIN-код администратора JaCarta PKI. По умолчанию имеет значение 00000000;
–label ‘JaCarta PKI’
– метка устройства;
–module /lib64/libASEP11.so
— указывает путь до библиотеки libASEP11.so. Устанавливается в рамках пакета idprotectclient см. раздел “Установка драйверов на сервер и клиент”.
Для задания PIN-кода пользователя используйте команду:/
pkcs11-tool –slot 0 –init-pin –so-pin 00000000 –login –pin 11111111 –module /lib64/libASEP11.so,
где:
–slot 0
— указывает, в какой виртуальный слот подключено устройство. Как правило, это слот 0, но могут быть и другие значения – 1,2 и т.д.;
–init-pin
– команда установки PIN-кода пользователя;
–so-pin 00000000
– PIN-код администратора JaCarta PKI. По умолчанию имеет значение 00000000;
–login
Пример демо-зоны
- Сервер — Astra Linux Smolensk SE 1.5 4.2.0-23-generic, x86_64, с установленными пакетами:
- JaCarta IDProtect 6.37;
- libccid;
- pcscd;
- libpcsclite1;
- krb5-pkinit;
- libengine-pkcs11-openssl;
- opensc.
- Клиент — Astra Linux Smolensk SE 1.5 4.2.0-23-generic, x86_64, с установленными пакетами:
- JaCarta IDProtect 6.37;
- libccid;
- pcscd;
- libpcsclite1;
- krb5-pkinit.
Предполагается, что ALD уже развернут, существует минимум один доменный пользователь, который может аутентифицироваться по паролю, время клиента и сервера совпадают.
Установка драйверов на сервер и клиент
Для обеспечения работы со смарт-картой
JaCarta PKI
на клиенте и сервере установите следующие пакеты:
libccid, pcscd, libpcsclite1
. После установки этих обязательных пакетов установите
, который можно загрузить с официального сайта «Аладдин Р.Д.».
Для обеспечения работы со смарт-картой подсистемы Kerberos добавочно к предустановленным пакетам ald/kerberos установите пакет krb5-pkinit на клиенте и сервере.
Для обеспечения возможности выпуска ключей и сертификатов на JaCarta PKI на сервере также установите пакеты libengine-pkcs11-openssl и opensc.
Установка и настройка центра сертификации на сервере
В качестве центра сертификации (CA) будет использован OpenSSL.
OpenSSL — криптографический пакет с открытым исходным кодом для работы с SSL/TLS. Позволяет создавать ключи RSA, DH, DSA и сертификаты X.509, подписывать их, формировать CSR и CRT.