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

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


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

Новая версия пакета pam_pkcs11 (≥ 0.6.9-alt5) поддерживает настройку с использованием профилей. Список доступных профилей выводится по команде control pam-pkcs11-profile list. Дополнительную информацию см. в pkcs11-profiles.

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

control system-auth pkcs11_strict

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

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

Пакет 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 (или light-gtk-greeter-pd), card-actions.

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

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

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

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

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

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