Перед началом работы, установите следующие пакеты:
|
Загрузите модуль librtpkcs11ecp.so и установите:
|
Установка pam_pkcs11
Для этого необходимо выполнить следующие действия:
|
Для конфигурации pam_pkcs11 создайте папки /etc/pam_pkcs11/crls и /etc/pam_pkcs11/cacerts
|
После установки необходимых пакетов, вы можете воспользоваться Рутокен менеджером для упрощённой настройки.
Создание ключей и сертификатов
Проверьте наличие libpkcs11.so по пути: /usr/lib64/engines-3/
. Если ее нет, то для начала установите libpkcs11.so для того, чтобы OpenSSL смог общаться к Рутокеном.
Для этого скачайте архив библиотеки libp11-X.Y.Z.tar.gz.
Разархивируйте пакет и перейдите в новую папку.
|
Для установки, введите следующую команду:
|
Вы можете пропустить данный раздел, если у вас уже имеются необходимые ключи.
Если ключей нет, ниже команда для их созданию:
|
Параметр id задает идентификатор ключевой пары.
Создание сертификата и импорт его на токен через OpenSSL 3.x:
Для работы с pkcs11 engine необходимо сделать следующее:
Создать файл конфигурации engine.conf со следующим содержимым:
|
При необходимости использовать pkcs11 engine указывать путь к файлу конфигурации engine.conf, например:
|
Сохраните сертификат на токене:
|
Проверьте, что токен подключен и на нем сохранены сертификаты и ключи.
Добавление сертификата в список доверенных
Создайте базу данных доверенных сертификатов
|
Выгрузите ваш сертификат с токена (если вы пользовались для получения сертификата вышеописанной инструкцией , то ID = 45):
|
Добавьте сертификат в доверенные:
|
Настройка pam_pkcs11
Создайте текстовый файл /etc/pam_pkcs11/pam_pkcs11.conf со следующим содержимым:
|
Регистрация модуля для аутентификации в системе
Подключите модуль к системе авторизации PAM:
|
Перед первым использованием модуля pam_unix добавьте туда строку со следующим содержимым:
|
Сохраните файл и узнайте поля вашего сертификата с помощью следующей команды:
|
В результате отобразится сообщение:
Скопируйте строчку с описанием сертификата в файл /etc/pam_pkcs11/digest_mapping в формате:
|
Попробуйте аутентифицироваться:
|
В окне экрана приветствия аналогично:
Настройка автоблокировки
В состав пакета libpam-pkcs11 входит утилита pkcs11_eventmgr, которая позволяет выполнять различные действия при возникновении событий PKCS#11.
Для того, чтобы аутентификация корректно работала на лок скрине. В настройках pkcs11_eventmgr нужно указать название сервиса, использующегося при аутентификации через лок скрин, чтобы сделать его доверенным. У каждой графической оболочки свое название данного сервиса. Узнать название вашей графической оболочки можно с помощью команды:
Название графической оболочки
|
Вот список соответствий названий графических оболочек и сервиса, используемого лок скрином. Данный список не является полным.
MATE → mate-screensaver
X-Cinnamon → cinnamon-screensaver
fly → <Отсутствует>
KDE → kde
GNOME → xdg-screensaver
Для настройки pkcs11_eventmgr служит файл конфигурации - /etc/pam_pkcs11/pkcs11_eventmgr.conf
Пример файла конфигурации представлен ниже:
|
После этого добавьте приложение pkcs11_eventmgr в автозагрузку и перезагрузите компьютер.
Для этого создайте папку ~/.config/autostart. И в данной директории создайте файл ~/.config/autostart/smartcard-screensaver.desktop
|
Содержание файла smartcard-screensaver.desktop должно быть следующим:
|