Аутентификация по ключу

Материал из ALT Linux Wiki
Примечание: Все нижеописанные действия уже реализованы в модуле Альтератора alterator-auth-token.


Настройка аутентификации с помощью профилей

Новая версия пакета pam_pkcs11 (≥ 0.6.9-alt5) поддерживает настройку с использованием профилей. Список доступных профилей выводится по команде

control pam-pkcs11-profile list

На сегодняшний день подготовлен профиль для аутентификации через токены RuToken ECP. Он станет доступен после установки пакета pkcs11-profiles-rutokenecp. Применить его можно командой

control pam-pkcs11-profile rutokenecp

Применение профиля относится только к конфигурации модуля pam_pkcs11, но оставляет без изменения системный механизм аутентификации. Поэтому следом нужно выбрать системный механизм аутентификации, основанный на pam_pkcs11. Например, команда

control system-auth pkcs11_strict

установит такой механизм аутентификации, при котором только пользователи из группы wheel (т.е. администраторы) имеют возможность входа в систему без токена, по паролю.

Что входит в профиль rutokenecp?

Профиль не только настраивает pam_pkcs11 для работы с RuToken ECP, но также выбирает следующие умолчания для процедуры аутентификации:

  1. публичные сертификаты, которые удостоверяют подлинность пользовательских сертификатов, размещаются в директории /etc/security/pam_pkcs11/cacerts (Внимание! Имена файлов в данной директории должны соответствовать хэшам сертификатов. Прочтите страницу руководства verify(1));
  2. файлы с информацией об отозванных сертификатах размещаются в директории /etc/security/pam_pkcs11/crls;
  3. публичный сертификат пользователя должен быть помещён в его домашнюю директорию $HOME/.eid/.

Дополнительные инструменты

Пакет card-actions предоставляет вариант скрипта /usr/bin/card-removed, который блокирует пользовательский сеанс, если токен был извлечён. (Другие варианты могут предоставляться другими пакетами через механизм альтернатив.) Активировать эту полезную команду, можно командами

control pkcs11-events card_actions
systemctl start pkcs11-eventmgr

в результате чего будут внесены необходимые изменения в файл /etc/security/pam_pkcs11/pkcs11_eventmgr.conf и включена служба pkcs11-eventmgr по наблюдению за токенами.

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

Установите или обновите следующие пакеты: pam_pkcs11, pam_mkuser, lightdm, lightdm-gtk-greeter, card-actions.

Введите следующие команды для переключения конфигурационных параметров:

  1. control lightdm-login-unknown enabled
  2. control pam_mkuser enabled
  3. control pam-pkcs11-mapping snils_scrambled

Перезапустите менеджер экрана командой systemctl restart lightdm. После вставки токена в разъём будет выведено автоматически сгенерированное имя пользователя и приглашение для ввода PIN-кода.

При необходимости, соответствие между автоматически сгенерированными именами и системными можно определить при помощи специального файла. Его имя затем нужно передать в качестве значения параметра mapping в подразделе mapper generic конфигурационного файла pam_pkcs11.conf(5).

Узнать автоматически сгенерированное имя до входа в систему можно введя команду pklogin_finder.