Сервис pcscd не запущен astra linux
Обновление firefox до версии 52.9
Установка КриптоПРО 4.0.9963 включая все требуемое для криптопро (поддержки карт Рутокен S и Рутокен ЭЦП).
Установка базовых пакетов КриптоПро
Установка пакетов поддержки токенов
!Перезапускаем терминал возможно нужно перезапустить вручную
!Активируем КриптоПРО ввести ключ в кавычки
Запуск сервиса pcscd
Ставим плагин КриптоПро ЭЦП Browser plug-in Cades
В Мозилле в настройках дополнений («Главное меню» – «Инструменты» – «Дополнения») во вкладке Плагины у CryptoPro CAdEs plugin выбрать опцию «Всегда включать».
Ставим плагин IFCPlugin 3.0.6.0 для госуслуг
Правим ifc.cfg
pluma /etc/ifc.cfg
и добавляем в него перед последней скобкой
, < name = "CryptoPro CSP5";
alias = "cprocsp5";
type = "pkcs11";
alg = "gost2001";
model = "CPPKCS 3";
lib_linux = "/opt/cprocsp/lib/amd64/libcppkcs11.so";
>,
< name = "CryptoPro CSP5 2012 256";
alias = "cprocsp5_2012_256";
type = "pkcs11";
alg = "gost2012_256";
model = "CPPKCS 3";
lib_linux = "/opt/cprocsp/lib/amd64/libcppkcs11.so";
>,
< name = "CryptoPro CSP5 2012 512";
alias = "cprocsp5_2012_512";
type = "pkcs11";
alg = "gost2012_512";
model = "CPPKCS 3";
lib_linux = "/opt/cprocsp/lib/amd64/libcppkcs11.so";
>
Установка всех корневых и промежуточных сертификатов и СОС (под root) командой
certmgr -inst -store uRoot -file /home/guest/cert/Root.cer
где /home/guest/cert/Root.cer - путь к файлу корневого сертификата
Установка сертификата промежуточный центр сертификации:
certmgr -inst -store uCA -file /home/guest/cert/CA.cer
где /home/guest/cert/CA.cer – путь к файлу сертификата промежуточного центра сертификации
Установка списка отозванных сертификатов:
certmgr -inst -store uCA -file /home/guest/cert/uc_tensor-2017.crl –crl
где /home/guest/cert/uc_tensor-2017.crl – пусть к файлу списка отозванных сертификатов
Просмотр установленных личных сертификатов крманду запустить от обычного пользователя certmgr -list -store uMy
Все операции делаем из под терминала юзера под пользователем (не по SSH) если нужно от root su можно из ssh
Проверка лицензии на ПО Крипто Про
cpconfig -license -view
Установка промежуточных сертификатов
certmgr -inst -store uCa -file /home/guset/sred.cer - промежуточный
certmgr -inst -store uCa -file /home/guset/sos.crl -crl -отозвонный
Установка Личного Сертификата с рутокена
csptest -keyset -enum_cont -fqcn -verifyc -uniq - просмотр носителей ключей
certmgr -inst -cont '\\.\Aktiv Co. Rutoken S 00 00\SCARD\rutoken_37855d89\0A00\906c'
или
certmgr -inst -cont '\\.\Aktiv Co. Rutoken S 00 00\SCARD\rutoken_37855d89\0A00\906c' -file /home/quest/cart/G.cer -pin 12345678
certmgr -inst -cont '\\.\Aktiv Co. Rutoken S 00 00\SCARD\rutoken_37855d89\0A00\906c' -pin 12345678
Проверки цепочки она же выгрузка сертификата
cryptcp -copycert -dn "CN=Иванов" -df tt.cer - по фамилии выгрузка сертификата в текущую директорию
Установка сертификата другие пользователи
certmgr -inst -store uAddressBook -file /home/guset/иванов.cer
Установка отозванного сертификата
certmgr -inst -store uCA -file /home/guest/cert/uc_tensor-2017.crl –crl
Добавление сертификата, без привязки к ключам (только проверка ЭЦП):
certmgr -inst -file cert.cer
Ассоциировать сертификат с контейнером, сертификат попадет в пользовательское хранилище uMy:
certmgr -inst -file cert.cer -store uMy -cont '\\.\HDIMAGE\test'
Запись сертификата клиента в контейнер:
cryptcp -instcert -provtype 80 -cont '\\.\HDIMAGE\test' -ku -askpin cert.cer
Проверки цепочки
cryptcp -copycert -dn "CN=Иванов" -df tt.cer - по фамилии выгрузка сертификата в текущую директорию
Просмотр установленных сертификатов
certmgr -list -store uRoot - Корневых
certmgr -list -store uCa - Промежуточных
certmgr -list -store uMy - Личных
certmgr -list -store uAddressBook - Другие пользователи
Удаление сертификатов
certmgr -delete -dn "SN=Фамилия" - Удаление из личных сертификатов
certmgr -delete -store uCa -dn "SN=Фамилия" из других пользователей
Удалить все сертификаты из хранилища КриптоПро:
certmgr -delete -all
certmgr -delete -store uRoot
certmgr -delete -dn "INN=0000000000000" -store uRoot -удаление доверенных
Удалить все сертификаты установленные в хранилище машины: от su
certmgr -delete -store mRoot
Основные опции:
uMy - сертификат попадет в пользовательское хранилище
-provtype — указать тип криптопровайдера (по умолчанию 75);
-provname — указать имя криптопровайдера;
-cont — задать имя ключевого контейнера (по умолчанию выбор из списка);
-ku — использовать контейнер пользователя (CURRENT_USER);
-km — использовать контейнер компьютера (LOCAL_MACHINE);
-dm — установка в хранилище компьютера (LOCAL_MACHINE);
-du — установка в хранилище пользователя (CURRENT_USER);
AddressBook - Другие пользователи
-askpin — запросить пароль ключевого контейнера из с консоли;
<имя файла> — имя файла, содержащего сертификат.
Авторизуемся в терминале под пользователем root:
su
Вводим пароль суперпользователя.
Переходим в каталог, в который распакован архив. В нашем случае это «linux-amd64».
cd linux-amd64
apt-get install cryptopro-preinstall Устанавливаем базовые пакеты КриптоПро
apt-get install cprocsp-curl* lsb-cprocsp-base* lsb-cprocsp-capilite* lsb-cprocsp-kc1* lsb-cprocsp-rdr-* Устанавливаем пакеты для поддержки токенов (Рутокен S и Рутокен ЭЦП):
apt-get install cprocsp-rdr-gui-gtk* cprocsp-rdr-rutoken* cprocsp-rdr-pcsc* lsb-cprocsp-pkcs11* pcsc-lite-rutokens pcsc-lite-ccid
Перед началом работы с рутокеном необходимо запустить службу pcscd командой (под root):
service pcscd start
КриптоПро установлена. Перезапускаем терминал. Подключаем рутокен с ЭЦП, проверяем просмотр доступных контейнеров:
csptest -keyset -enum_cont -fqcn -verifyc -uniq
Должен отобразить контейнер с рутокена (уникальное имя контейнера выделено):
Устанавливаем сертификат. Предварительно скопировать сертификат на компьютер. Под обычным пользователем!
Берем уникальное название контейнера после черты | и вставляем в следующую команду (импорт сертификата с токена в личное хранилище ТЕКУЩЕГО пользователя):
certmgr -inst -cont '\\.\Aktiv Co. Rutoken S 00 00\SCARD\rutoken_37855d89\0A00\906c' -file /home/quest/cart/G.cer -pin 12345678
где
\\.\Aktiv Co. Rutoken S 00 00\SCARD\rutoken_37855d89\0A00\906c – уникальное имя рутокена (см. п. 12.8)
/home/quest/cart/G.cer – полный путь к файлу сертификата.
12345678 – пароль на рутокен
Авторизуемся в терминале под пользователем root:
su
Вводим пароль суперпользователя.
Далее выполняем следующие команды:
Установка корневой сертификат:
certmgr -inst -store uRoot -file /home/guest/cert/Root.cer
где
/home/guest/cert/Root.cer - путь к файлу корневого сертификата
certmgr -inst -store uCA -file /home/guest/cert/CA.cer
где
/home/guest/cert/CA.cer – путь к файлу сертификата промежуточного центра сертификации Установка списка отозванных сертификатов:
certmgr -inst -store uCA -file /home/guest/cert/uc_tensor-2017.crl –crl
где
/home/guest/cert/uc_tensor-2017.crl – пусть к файлу списка отозванных сертификатов
Для просмотра списка установленных личных сертификатов выполнить команду. Данное действие выполняется под обычным пользователем!
certmgr -list -store uMy
Распаковываем скачанный на предыдущем шаге архив (cades_linux_amd64.tar.gz):
tar –xvzf linux-amd64-4.0
su
Вводим пароль суперпользователя.
Устанавливаем следующие два пакета из распакованного архива «cprocsp-pki-2.0.0-amd64-cades.rpm и «cprocsp-pki-2.0.0-amd64-plugin.rpm»:
apt-get install ./cprocsp-pki-2.0.0-amd64-cades.rpm ./cprocsp-pki-2.0.0-amd64-plugin.rpm
где ./cprocsp-pki-2.0.0-amd64-cades.rpm и ./cprocsp-pki-2.0.0-amd64-plugin.rpm – пути к файлам устанавливаемых пакетов.
Плагин установлен.
Если плагин CryptoPro CAdES NPAPI Browser Plug-in не отобразился в разделе плагины то выполнить команды
cp /opt/cprocsp/lib/amd64/libcades.so.2.0.0 /usr/lib/mozilla/plugins/libcades.so
cp /opt/cprocsp/lib/amd64/libcppcades.so.2.0.0 /usr/lib/mozilla/plugins/libcppcades.so
cp /opt/cprocsp/lib/amd64/libnpcades.so.2.0.0 /usr/lib/mozilla/plugins/libnpcades.so
cp /opt/cprocsp/lib/amd64/libocspcli.so.2.0.0 /usr/lib/mozilla/plugins/libocspcli.so
cp /opt/cprocsp/lib/amd64/libxmlsec-mscrypto.so.2.0.0 /usr/lib/mozilla/plugins/libxmlsec-mscrypto.so
cp /opt/cprocsp/lib/amd64/libxmlsec.so.2.0.0 /usr/lib/mozilla/plugins/libxmlsec.so
В Мозилле в настройках дополнений («Главное меню» – «Инструменты» – «Дополнения») во вкладке Плагины у CryptoPro CAdEs plugin выбрать опцию «Всегда включать».
Начнется процесс установки расширения для браузера.
В настройках дополнений браузера («Главное меню» – «Инструменты» – «Дополнения») во вкладке Расширения у CryptoPro Extension for CAdEs Browser Plugin выбрать опцию «Всегда включать».
Открыть в браузере следующий файл /etc/opt/cprocsp/trusted_sites.html. Для этого в адрес строке браузера прописать полный путь к данному файлу - /etc/opt/cprocsp/trusted_sites.html
Если плагин определился а ЭП ЭЦП нет долго думал но написал что нет ЭЦП отсутствуют, так же если вы подписываете файл а он долго думает
быстрее всего не хватает Корневых доверенных Сертификатов или Промежуточных сертификатов в цепочке сертификации ( в данном случае плагин работать не будет CAdEs)
Команды выполнятся от пользователя
Для проверки можно скопировать персональный сертификат в файл:
cryptcp -copycert -dn "SN=Иванов" -df tt.cer
если все хорошо
Цепочки сертификатов проверены.
Копирование сертификатов завершено.
[ErrorCode: 0x00000000]
Из вывода следует, что все сертификаты есть в цепочке сертификатов.
Установка Корневого доверенного сертификата
certmgr -inst -store uRoot -file /home/user/CryptoPro/Root1.cer
Установка промежуточного сертификата
certmgr -inst -store uCA -file /home/user/CryptoPro/Ser1.cer
Просмотр
certmgr -list -store uRoot
certmgr -list -store uMy
Авторизуемся в терминале под пользователем root:
su
Вводим пароль суперпользователя.
Устанавливаем скачанный выше пакет rpm.
apt-get install ./ IFCPlugin-x86_64.rpm
где ./ IFCPlugin-x86_64.rpm – полный путь до файла установки плагина.
name = "CryptoPro CSP";
alias = "cryptoprocsp";
type = "pkcs11";
lib_linux = "/opt/cprocsp/lib/amd64/libcppkcs11.so";
>,
Открываем файл на редактирование:
pluma /etc/ifc.cfg
ВНИМАНИЕ! При наличии хотя бы одного контейнера КриптоПро с ГОСТ-2012 плагин ЕСИА перестаёт работать.
1. Удаляем Firefox который стоит в системе
apt-get remove --purge firefox -y
2. Ставим Firefox 52.9
3. КриптоПРО 4.0.9963
apt-get install cryptopro-preinstall -y
cd "/mnt/docs/Переход/Софт/CryptoPro/linux-amd64/"
apt-get install ./cprocsp-curl-64-4.0.9963-5.x86_64.rpm ./lsb-cprocsp-base-4.0.9963-5.noarch.rpm ./lsb-cprocsp-capilite-64-4.0.9963-5.x86_64.rpm ./lsb-cprocsp-kc1-64-4.0.9963-5.x86_64.rpm ./lsb-cprocsp-rdr-64-4.0.9963-5.x86_64.rpm
apt-get install ./cprocsp-rdr-gui-gtk-64-4.0.9963-5.x86_64.rpm ./cprocsp-rdr-rutoken-64-4.0.9963-5.x86_64.rpm ./cprocsp-rdr-pcsc-64-4.0.9963-5.x86_64.rpm ./lsb-cprocsp-pkcs11-64-4.0.9963-5.x86_64.rpm pcsc-lite-rutokens pcsc-lite-ccid
4. Перезапускаем терминал
5. Активируем КриптоПРО
cpconfig -license -set ""
6. Запускаем сервис
service pcscd start
7. Подключаем токен и ставим ключ в систему
csptest -keyset -enum_cont -fqcn -verifyc -uniq
certmgr -inst -cont '\\.\Aktiv Co. Rutoken S 00 00\SCARD\rutoken_37857434\0A00\8F0D' -file /mnt/docs/certs/lua-2019-2020.cer -store uMy -pin 12345678
certmgr -list -store uMy
Проверяем чтобы PrivateKey Link = Yes
8. Ставим корневые серты под юзером!
9. Ставим Cades Plugin
cd "/mnt/docs/Переход/Софт/cades_linux_amd64"
apt-get install ./cprocsp-pki-2.0.0-amd64-cades.rpm ./cprocsp-pki-2.0.0-amd64-plugin.rpm
10. Ставим IFCPlugin 3.0.6.0
cd "/mnt/docs/Переход/Софт/IFCPlugin 3.0.7.0"
apt-get install IFCPlugin-x86_64.rpm
11. Правим ifc.cfg
и добавляем в него перед последней скобкой
,
< name = "CryptoPro CSP5";
alias = "cprocsp5";
type = "pkcs11";
alg = "gost2001";
model = "CPPKCS 3";
lib_linux = "/opt/cprocsp/lib/amd64/libcppkcs11.so";
>,
< name = "CryptoPro CSP5 2012 256";
alias = "cprocsp5_2012_256";
type = "pkcs11";
alg = "gost2012_256";
model = "CPPKCS 3";
lib_linux = "/opt/cprocsp/lib/amd64/libcppkcs11.so";
>,
< name = "CryptoPro CSP5 2012 512";
alias = "cprocsp5_2012_512";
type = "pkcs11";
alg = "gost2012_512";
model = "CPPKCS 3";
lib_linux = "/opt/cprocsp/lib/amd64/libcppkcs11.so";
>
$ certmgr -list -store uRoot
-bash: certmgr: команда не найдена
Сперва я думал слетели переменные но после того как я проверил папку с файлом
/opt/cprocsp/bin/amd64/там оказались такие файлы
certmgr.corrupted - certmgr поврежден (сперва было подумал что слетела лицензия)
Проверил по всему пк с корня find . -name corrupted
нашел поврежденные файлы в 3х папках
Далее нужно было переустанавливать крипто про но я сделал проще пока вроде все норм подтянул 3 папки с другова компа и закинул где сломалось вроде все норм работает
find . -name *.corrupted посмотрел что вылетело /opt/cprocsp/ 3 папки lib bin sbin
Данная проблема возникла когда на alt linux 7 я сделал крон на автозапуск демона он видимо запустил задачу проверка диска.
Диск я проверил smartmontools критических значений не обнаружил оставил пока все так.
Я пытаюсь заставить устройство чтения смарт-карт (SCR3310) работать под Ubuntu 12.10. Я использовал этот же кард-ридер с Linux Mint и предыдущими версиями Ubuntu. Я установил pcsc-tools , pcscd libccid , libnss3-tools , а также coolkey , Драйвер для кард-ридера входит в состав libccid.
Когда я бегу pcsc_scan терминал возвращает ошибку, SCardEstablishContext: Service not available. Если я правильно понимаю, ошибка указывает на то, что он не может связаться с pcscd демон / службы. Когда я проверяю service pcscd status это возвращается * pcscd is not running , Если я попробую sudo service pcscd start Я не получаю ошибки, но служба не запускается. Я также попробовал force-reload вариант, он возвращает * Restarting PCSC Lite resource manager pcscd [failed]
Что бы это ни стоило, кард-ридер и поддерживающее программное обеспечение в настоящее время работают в моем разделе Mint. До сих пор я не видел, где мне не хватает чего-то в рамках установки Ubuntu, которая присутствует в Mint. Кроме того, я попытался удалить / переустановить pcscd.
Возможно ли, что существует другой сервис, от которого зависит pcscd, который может отсутствовать?
Операционная система: Ubuntu 12.10 32-bit
Система: Dell Latitude E6500
Картридер: SCR 3310
2 ответа
Сначала я устанавливаю оригинальные драйверы (OMNIKEY-3021), но они не работают сразу. sudo service pcscd status шоу:
Тогда я просто purge а затем переустановите снова pcscd и теперь это работает.
Если это все еще не работает, просто попробуйте:
Наконец-то снова вернулись к работе с устройством для чтения карт. Хорошая новость в том, что у меня все получилось. Плохая новость, я не уверен, какой шаг это исправил.
- Удалены Coolkey
- Установлены CacKey (доступно на SourceForge.mil). Протестировано, но все еще не может перезапустить pcscd
- Посмотрел файл README.gz и нашел ссылку на libusb , У меня не было libusb в моем /lib каталог на Ubuntu, но я сделал на монетном дворе. Так что я символически связан с /lib/libusb на моем разделе монетного двора. (Да, я понимаю, что это был бы вариант не для всех, но это то, что я сделал.) Все еще не мог получить pcscd Заново.
- Удалено и повторно установлено pcscd , Затем я смог связаться с читателем pcsc_scan , Имейте в виду, я уже деинсталлировал / переустановил pcscd до.
- Добавлено устройство безопасности в Firefox и указано /usr/lib/libcackey.so , Работал как положено
Я собираюсь продолжить возиться и посмотреть, смогу ли я изолировать шаг, который работал. (Есть второй ноутбук с 12.10 с той же проблемой.)
Измените имя сервера, если это необходимо. Его можно задать в окне менеджера сервера:
Добавим службу Active Dirrectory и DNS на сервер. Для этого откроем окно добавления ролей в менеджере сервера:
В окне для выбора сервисов установим галочки "Active Directory Domain Services" и "DNS Server":
Во всех остальных пунктах даем согласие на установку.
После завершения установки сервисов вам надо перейти к настройке домена. Для этого откройте меню уведомлений и выберите пункт "Promote this server to a domain controller":
На первой вкладке укажите опцию для создания нового домена и укажите его название:
Введите пароль сброса:
На следующей вкладке оставляем все как есть., т.к. наш сервер сам является DNS сервером:
На следующих трёх вкладках также оставляем все как есть:
Перед запуском процесса установки ознакомимся с уведомлениями об ошибках.. И если необходимо, устраняем возникшие проблемы. В нашем случае уведомления не являются критичными:
После установки Active Directory сервер перезагрузится. Если настройка прошла успешно, то нас попросят войти в аккаунт на этот раз доменного пользователя:
Добавление новых пользователей:
Откроем утилиту управления пользователями и компьютерами домена:
Для удобства можно создать отдельную дирректорию Domain Users, где будем создавать доменных пользователей:
Добавим нового пользователя user:
Аналогичным образом добавьте остальных пользователей, которые должны быть в домене.
Установка центра сертификации Active Directory:
Установите драйверы для работы с Рутокеном на сервер. Их можно получить тут. После этого можно приступить к настройке центра сертификации и выдачи сертификатов для пользователей. Это можно сделать по данной инструкции. Настройку авторизации с помощью сертификатов можно воспроизвести по этой инструкции.
Для пользоватей Linux
Его можно получить здесь:
Настройка подключения к домену
Astra Linux Smolensk
Для Astra Linux Smolensk чтобы подключиться к домену (не настраивая двухфакторную аутентификацию), можно воспользоваться следующей инструкцией.
Если во время выполнения инструкции панель " Настройки клиента Active Directory " не будет запускаться, то введите в командной строке следующую команду:
Она предоставит пользователю root доступ к графическому интерфейсу среды.
В первую очередь настроим подключение к домену. Это можно сделать с помощью следующей последовательности команд:
Настройка автоматического создания домашней директории
Когда доменный пользователь аутентифицируется в системе необходимо чтобы для него автоматически создавался домашний каталог.
Это можно сделать в настройках pam. Для этого в файле
/etc/pam.d/common-session для систем основанных на Debian
/etc/pam.d/system-auth для систем основанных на Red Hat
/etc/pam.d/system-auth-sss-only для пользователей Alt linux
активируем модуль pam_mkhomedir.so, после pam_sss.so. Содержимое файла будет выглядеть следующем образом:
Проверка аутентификации под пользователем в домене без Рутокена
Если в домене есть пользователь user, под которым можно аутентифицироваться без смарт-карты, то можно проверить предыдущую надстройку аутентифицируясь под ним. Для начала можно попробовать аутнетифицироваться через командную строку:
Настройка клиента для аутентфикации в домене с помощью Рутокена
Упрощенная настройка
Для упрощенной настройки можно воспользоваться утилитой для работы с токенами. Описание упрощенной настройки можно прочитать тут.
Ручная настройка
Установка необходимых пакетов для работу:
Для ручной настройки также потребуется установить библиотеку librtpkcs11ecp. Ее можно получить тут. Установим данную библиотеку.
В этом посте мы решили рассказать о доменной аутентификации в Linux, с использованием смарт-карт и USB-токенов JaCarta PKI в качестве второго фактора аутентификации. Если о локальной аутентификации через PAM-модуль информации существует довольно много, то вопрос доменной инфраструктуры и аутентификация по Kerberos-билетам в Linux рассмотрен слабо, особенно на русском языке. В качестве операционной системы возьмем Astra Linux и на примере Astra Linux Directory (ALD) это и покажем.
Выгода такого решения очевидна – оно позволяет отказаться от парольной аутентификации пользователя, что поможет кардинально снизить влияние «человеческого фактора» на безопасность системы. Плюс это даст ряд преимуществ от использования электронных ключей внутри операционной системы, после аутентификации в домене.
Немного вводных об 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-серверов, серверов печати и другие возможности.
В среде Astra Linux Directory (ALD) электронные ключи JaCarta PKI могут использоваться для двухфакторной аутентификации пользователя в домене ALD и отказа от паролей. Кроме того, с этими же электронными ключами можно выполнять различные сценарии внутри ОС, после аутентификации, такие, как: электронная подпись, хранение ключевых контейнеров, доступ к Web-ресурсам, проброс ключа в сессии MS Windows. Доступ к VDI сервисам, таким, как VmWare или Citrix.
Процесс настройки
Пример демо-зоны
- Сервер — 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.
- JaCarta IDProtect 6.37;
- libccid;
- pcscd;
- libpcsclite1;
- krb5-pkinit.
Установка драйверов на сервер и клиент
Для обеспечения работы со смарт-картой JaCarta PKI на клиенте и сервере установите следующие пакеты: libccid, pcscd, libpcsclite1. После установки этих обязательных пакетов установите пакет драйверов IDProtectClient, который можно загрузить с официального сайта «Аладдин Р.Д.».
Для обеспечения работы со смарт-картой подсистемы Kerberos добавочно к предустановленным пакетам ald/kerberos установите пакет krb5-pkinit на клиенте и сервере.
Для обеспечения возможности выпуска ключей и сертификатов на JaCarta PKI на сервере также установите пакеты libengine-pkcs11-openssl и opensc.
Установка и настройка центра сертификации на сервере
В качестве центра сертификации (CA) будет использован OpenSSL.
OpenSSL — криптографический пакет с открытым исходным кодом для работы с SSL/TLS. Позволяет создавать ключи RSA, DH, DSA и сертификаты X.509, подписывать их, формировать CSR и CRT.
-
Выпустите сертификат KDC:
$ openssl x509 -req -in kdc.req -CAkey cakey.pem -CA cacert.pem -out kdc.pem -extfile pkinit_extensions -extensions kdc_cert –CAcreateserial –days 365Подготовка смарт-карты. Выпуск ключей и сертификата пользователя
Убедитесь в том, что установлены пакеты 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 – команда логина;
--pin 11111111 – задаваемый PIN-код пользователя;
--module /lib64/libASEP11.so — указывает путь до библиотеки libASEP11.so. Устанавливается в рамках пакета idprotectclient см. раздел «Установка драйверов на сервер и клиент».
Сгенерируйте ключи на устройстве, для этого введите следующую команду:
pkcs11-tool --slot 0 --login --pin 11111111 --keypairgen --key-type rsa:2048 --id 42 --label “test1 key” --module /lib64/libASEP11.so,
--slot 0 — указывает, в какой виртуальный слот подключено устройство. Как правило, это слот 0, но могут быть и другие значения – 1,2 и т.д.;
--login --pin 11111111 — указывает, что следует произвести логин под пользователем с PIN-кодом «11111111». Если у Вашей карты другой PIN-код пользователя, укажите его;
--keypairgen --key-type rsa:2048 — указывает, что должны быть сгенерированы ключи длиной 2048 бит;
--id 42 — устанавливает атрибут CKA_ID ключа. CKA_ID может быть любым;
Запомните это значение! Оно необходимо для дальнейших шагов подготовки устройства к работе.
--label “test1 key” — устанавливает атрибут CKA_LABEL ключа. Атрибут может быть любым;
--module /lib64/libASEP11.so — указывает путь до библиотеки libASEP11.so. Устанавливается в рамках пакета idprotectclient см. раздел «Установка драйверов на сервер и клиент».
Сгенерируйте запрос на сертификат с помощью утилиты openssl. Для этого введите следующие команды:
Обратите внимание на -new -key 0:42, где 0 — номер виртуального слота с устройством, 42 — атрибут CKA_ID сгенерированных раннее ключей.Информацию, которую необходимо указать в запросе, следует задавать в поле "/C=RU/ST=Moscow/L=Moscow/O=Aladdin/OU=dev/CN=test1 (! Ваш_Пользователь!)/[email protected]".
Необходимо установить переменные окружения
и выпустить сертификат на пользователя.
$ openssl x509 -CAkey cakey.pem -CA cacert.pem -req -in client.req -extensions client_cert -extfile pkinit_extensions -out client.pem –days 365
Далее перекодируйте полученный сертификат из PEM в DER.
Запишите полученный сертификат на токен.
pkcs11-tool --slot 0 --login --pin 11111111 --write-object client.cer --type 'cert' --label 'Certificate' --id 42 --module /lib/libASEP11.so,
--slot 0 — указывает, в какой виртуальный слот подключено устройство. Как правило, это слот 0, но могут быть и другие значения – 1,2 и т.д.;
--login --pin 11111111 — указывает, что следует произвести логин под пользователем с PIN-кодом «11111111». Если у Вашей карты другой PIN-код пользователя, укажите его;
--write-object ./client.cer — указывает, что необходимо записать объект и путь до него;
--type 'cert' — указывает, что тип записываемого объекта – сертификат;
'cert' --label 'Certificate' — устанавливает атрибут CKA_LABEL сертификата. Атрибут может быть любым;
--id 42 — устанавливает атрибут CKA_ID сертификата. Должен быть указан тот же CKA_ID, что и для ключей;
--module /lib64/libASEP11.so — указывает путь до библиотеки libASEP11.so.
Настройка клиента. Проверка работоспособности
Создайте на клиенте каталог /etc/krb5/. Скопируйте в /etc/krb5/ сертификат CA (cacert.pem) c сервера.
Настройте kerberos в /etc/krb5.conf. Секцию [libdefaults] дополните следующими строками.
kinit Когда появится строка запроса PIN-кода к карте, введите его.
Для проверки того, что kerberos-тикет был успешно получен для пользователя, введите команду klist. Для удаления тикета — kdestroy.
Для входа в домен по смарт-карте на экране входа в ОС вместо пароля введите PIN-код от смарт-карты.
На этом настройка окончена. Да, к сожалению, система сама не поменяет и не подстроит login окно под смарт-карту, и оно будет стандартным, но если приложить немного секретных усилий, можно добиться красивого результата.
Читайте также:
- JaCarta IDProtect 6.37;