Перед началом работы, установите следующие пакеты:
|
Загрузите модуль librtpkcs11ecp.so и установите:
|
Установка pam_pkcs11
Скачайте pam_pkcs11-X.Y.Z.tar.gz.
Далее, распакуйте архив и перейдите в распакованную папку.
|
Установите pam_pkcs11
|
Для конфигурации pam_pkcs11 перенесите из разархивированной папки и папки etc файл pam_pkcs11.conf.example в папку /etc/pam_pkcs11/pam_pkcs11.conf
Создайте папки /etc/pam_pkcs11/crls/
и /etc/pam_pkcs11/cacerts/
Создание ключей и сертификатов
Проверьте наличие libpkcs11.so по пути: /usr/lib64/engines-3/
. Если ее нет, то для начала установите libpkcs11.so для того, чтобы OpenSSL смог общаться к Рутокеном.
Для этого скачайте архив библиотеки libp11-X.Y.Z.tar.gz.
Разархивируйте пакет и перейдите в новую папку.
|
Для установки, введите следующую команду:
|
Вы можете пропустить данный раздел, если у вас уже имеются необходимые ключи.
Если ключей нет, ниже команда для их созданию:
|
Параметр id задает идентификатор ключевой пары.
Убедиться, в наличии файла pam_pkcs11.so в папке /usr/lib64/security/pam_pkcs11.so
Если pam_pkcs11.so находится в /usr/lib/local/security/pam_pkcs11.so, необходимо его перенести.
|
Создание сертификата и импорт его на токен через OpenSSL 3.x:
Для работы с pkcs11 engine необходимо сделать следующее:
Создать файл конфигурации engine.conf со следующим содержимым:
|
При необходимости использовать pkcs11 engine указывать путь к файлу конфигурации engine.conf, например:
|
Сохраните сертификат на токене:
|
Проверьте, что токен подключен и на нем сохранены сертификаты и ключи.
Добавление сертификата в список доверенных
Создайте базу данных доверенных сертификатов
|
Выгрузите ваш сертификат с токена (если вы пользовались для получения сертификата вышеописанной инструкцией , то ID = 45):
|
Добавьте сертификат в доверенные:
|
Настройка pam_pkcs11
Создайте (например, на рабочем столе) текстовый файл pam_pkcs11.conf со следующим содержимым:
|
Поместите файл в каталог /etc/pam_pkcs11/:
|
Регистрация модуля для аутентификации в системе
Подключите модуль к системе авторизации PAM:
|
Перед первым использованием модуля pam_unix добавьте туда строку со следующим содержимым:
|
Сохраните файл и узнайте поля вашего сертификата с помощью следующей команды:
|
В результате отобразится сообщение:
Скопируйте строчку с описанием сертификата в файл /etc/pam_pkcs11/digest_mapping в формате:
|
Попробуйте аутентифицироваться:
|
В окне экрана приветствия аналогично:
Настройка автоблокировки
В состав пакета libpam-pkcs11 входит утилита pkcs11_eventmgr, которая позволяет выполнять различные действия при возникновении событий PKCS#11.
Убедиться, в наличии файла pkcs11_eventmgr в папке /usr/bin/pkcs11_eventmgr
Если pkcs11_eventmgr находится в /usr/local/bin/pkcs11_eventmgr, необходимо его перенести.
|
Для того, чтобы аутентификация корректно работала на лок скрине. В настройках 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/smartcard-screensaver.desktop
|