Настройка двухфакторной аутентификации в домене Astra Linux Directory / Хабр

Немного вводных об 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 установка криптопро

astralinux доступ к госзакупкам
Инструкция по настройке и работе с Крипто-Про для государственных порталов

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]

Оригинальный контенер был без пинкода.

Если нужно добавить пинкод, копируем контейнер:

Читайте также:  Как подписать документ ЭЦП pdf и doc

$ /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 и т.д.;

Читайте также:  Физические U2F ключи безопасности - Что это? | Портал о системах видеонаблюдения и безопасности

–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.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector