Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
maxLevel3
minLevel2

Проверка работы Рутокен ЭЦП 2.0

Info
Подключите Рутокен ЭЦП 2.0 к компьютеру.

...

Для проверки корректности работы Рутокен ЭЦП 2.0 введите команду:

Panelcode
$ pcsc_scan

Если Рутокен ЭЦП 2.0 не работает, то в окне терминала отобразится сообщение об этом. 

Если Рутокен ЭЦП 2.0 работает, то в окне терминала отобразится сообщение об этом.

Такое сообщение в системе ALT Linux выглядит следующим образом:

Image Removed


Для остановки сервиса pcscd введите команду:

Panelcode
$ sudo service pcscd stop 

Настройка системы

Перед началом работы, установите следующие пакеты:

Panelcode
sudo yum install ccid opensc pam_pkcs11 gdm-plugin-smartcard p11-kit

Проверьте, что у вас установлен openssl версии 1.1 и выше

...

Установите права доступа:

Panelcode
sudo chmod 644 /usr/lib/x86_64-linux-gnu/librtpam.so.1.0.0


Загрузите модуль librtpkcs11ecp.so и установите:

Panelcode
sudo rpm -i librtpkcs11ecp_1.9.15.0-1_x86_64.rpm


Проверяем, что все настроили правильно:

Panelcode
pkcs11-tool --module /usr/lib64//librtpkcs11ecp.so -T


Далее потребуется скачать сертификат с токена, если его нету, то генерируем его согласно следующему пункту

Генерация сертификата и

...

запись его на

...

Рутокен

Собирайте OpenSC новее чем 0.19.0.

https://github.com/OpenSC/OpenSC/

Создаем ключи на токене

Panelcode
pkcs11-tool --module /usr/lib64/librtpkcs11ecp.so --keypairgen --key-type GOSTR3410-2012-256:B -l --id 453435

Узнайте где находится файл с конфигурацией и папка с энджинами openssl с помощью команды:


Panelcode
openssl version -a


Скачайте rtengine, который можно найти в комплекте разработчика и поместите его в директорию энджинов

Зайдите в файл конфигурации openssl.cnf и впишите туда следующее:


Panelcode
# в начало файла написать
openssl_conf = openssl_def
...
# в конец файла
# OpenSSL default section
[openssl_def]
engines = engine_section
# Engine section
[engine_section]
rtengine = rtengine_section
# Engine rtengine section
[rtengine_section]
engine_id = rtengine
dynamic_path = /path/to/engine/librtengine.so
MODULE_PATH pkcs11_path = /usr/lib64/librtpkcs11ecp.so
RAND_TOKEN = pkcs11:manufacturer=Aktiv%20Co.;model=Rutoken%20ECP
;serial=2adc8d87 # Необходимо указать серийный номер вашего токена default_algorithms = CIPHERS, DIGEST, PKEY, RAND


Теперь создадим самоподписанный сертификат для наших ключей на токене:

Panelcode
openssl req -utf8 -x509 -keyform engine -key "pkcs11:id=
E
45" -engine rtengine -out cert.crt

Загружаем его на токен:

Panelcode
pkcs11-tool --module /usr/lib64/librtpkcs11ecp.so -l -y cert -w cert.crt --id
45

...

 3435

Регистрация сертификата в системе

Скачиваем сертификат с токена (если вы пользовались вышеописанной инструкцией для получения сертификата, то ID = 45)

Panelcode
pkcs11-tool --module /usr/lib64/librtpkcs11ecp.so -r -y cert --id
{id}
 3435 --output-file cert.crt

Конвертируем его в PEM формат

Panelcode
openssl x509 -in cert.crt -out cert.pem -inform DER -outform PEM

Добавляем сертификат в список доверенных сертификатов для данного пользователя


Panelcode
mkdir ~/.eid


chmod 0755 ~/.eid


cat cert.pem >> ~/.eid/authorized_certificates


chmod 0644 ~/.eid/authorized_certificates

...


Настройка аутентификации

Открываем файл /etc/pam.d/system-auth

Panelcode
sudo vim /etc/pam.d/system-auth


И записываем в самом начале следующую строчку:

Panelcode
auth sufficient librtpam.so.1.0.0 /usr/lib64/librtpkcs11ecp.so


Пробуем пройти аутентификацию

Panelcode
su
oleg
 <username>


Если все прошло успешно, то появится просьба ввести пароль от токена, иначе что-то пошло не так. Узнать причину того, что пошло не так, можно через логи в /var/log/messages


Добавление возможности использования смарт-карт и токенов  для входа в систему

В Goslinux

Для того, чтобы добавить возможность входа в систему с помощью смарт-карт, нужно

1. Зайти в панель настройки аутентификацииImage Removed

Image Added

2. Включить поддержку смарт-карт

Image RemovedImage Added

3. Попробовать войти

Image RemovedImage Added

В CentOS 7


Пока удалось настроить только для оболочки KDE. Чтобы активировать введите в терминале


Panelcode
autoconfig --enablesmartcard


Теперь при входе в систему вы можете ввести пароль от токена если он вставлен и аутентификация пройдет успешно

Image RemovedImage Added

Image RemovedImage Added

Image RemovedImage Added