Page tree

Versions Compared

Key

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

Введение

Стенд

Нам понадобится токен или смарт-карта семейства Рутокен ЭЦП, отформатированные через Панель управления Рутокен.

Настройки для токена и смарт-карты идентичны.

Проверка модели токена

  1. Подключите USB-токен к компьютеру.
  2. Для определения названия модели USB-токена откройте Терминал и введите команду:

...

Если вы используете смарт-карту Рутокен, то проверку проходить не требуется.

Общий порядок действий

1 Устанавливаем необходимые пакеты и их зависимости:

Для этого вы можете воспользоваться Терминалом:

...

  • opensc,
  • pam_pkcs11,
  • pcsc-lite-ccid,
  • openssl-engine_pkcs11.

2 Скачиваем и устанавливаем пакет для вашей системы

Если установка завершилась корректно, то в папке /usr/lib (или /usr/lib64) появится библиотека librtpkcs11ecp.so.

3 Проверяем работу токена или смарт-карты

Подключаем токен или смарт-карту к компьютеру. Запускаем dmesg и убедимся в том, что устройство определилось корректно.

...

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

4 Создаем ключевую пару

Если у вас уже имеется выписанная на токен ключевая пара RSA с привязанным к ней сертификатом, то вы можете использовать их для аутентификации.

...

--module <arg>путь к библиотеке pkcs11 (обязательный параметр)
--keypairgen
генерация ключевой пары
-- key-type <arg>задает тип и длину ключа. В нашем случае тип – rsa, длина - 2048 бит (с длиной ключа 1024 бит возникают проблемы)
-lзапрос PIN-кода токена до каких-либо операций с ним (обязательный параметр)
--id <arg>

определяет id создаваемого объекта (понадобится при создании сертификата)

5 Создаем сертификат в формате PEM

Запускаем openssl и подгружаем модуль поддержки pkcs11:

...

-keyуказывает закрытый ключ (в нашем случае 0:45 – слот:ID ключа)
-x509 
выдает самоподписанный сертификат

6 Конвертируем сертификат из формата PEM в формат CRT (DER) 

OpenSSL> x509 -in cert.pem -out cert.crt -outform DER

7 Сохраняем сертификат на аутентифицирующий носитель

Закрываем openssl (используя команду exit). Cохраняем сертификат CRT на Рутокен. Внимание! При выполнении этой команды запрашивается PIN-код пользователя.

...

-y <arg>тип объекта (может быть cert, privkey, pubkey, data)
-w <arg>
записать объект на токен

8 Проверяем, что на токене есть всё, что необходимо

Внимание! При выполнении команды запрашивается PIN-код пользователя.

...

$ pkcs11-tool --module /usr/lib64/librtpkcs11ecp.so -O -l

Image Modified

9 Включаем аутентификацию по внешнему носителю

...

на вопрос об удалении ссылки следует ответить "y"

10 Редактируем конфигурацию аутентификации в системе

Отредактируем первую строку файла конфигурации /etc/pam.d/system-auth. 

...

auth        [success=1 default=ignore]  pam_pkcs11.so pkcs11_module=/usr/lib64/librtpkcs11ecp.so

11 Редактируем конфигурацию pam_pkcs11

Отредактируем файл /etc/security/pam_pkcs11/pam_pkcs11.conf

...

mapper_search_path = /lib/pam_pkcs11; на строку mapper_search_path = /lib64/pam_pkcs11;

12 Добавляем связку сертификата на токене с пользователем системы ALT Linux.

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

$ mkdir ~/.eid
$ chmod 0755 ~/.eid
$ cat cert.pem >> ~/.eid/authorized_certificates
$ chmod 0644 ~/.eid/authorized_certificates

13 Проверяем выполненные настройки

Проверьте, что настройка была выполнена верно, используя команду login. Не завершайте свою сессию, пока не убедитесь в том, что все работает корректно.

...

Не забудьте отключить вывод дополнительной информации после настройки системы.

14 Настройка завершена!

На этом настройка закончена. После перезапуска ОС окно входа в систему будет выглядеть так:

15 Другие пользователи

При необходимости добавить вход по токену для других пользователей следует:

...