Аутентификация по ключу: различия между версиями

Материал из ALT Linux Wiki
м (Добавил отступ)
(Добавил ссылку на страницу pkcs11-profiles)
Строка 3: Строка 3:
== Настройка аутентификации с помощью профилей ==
== Настройка аутентификации с помощью профилей ==


Новая версия пакета {{pkg|pam_pkcs11}} (≥ 0.6.9-alt5) поддерживает настройку с использованием ''профилей''. Список доступных профилей выводится по команде
Новая версия пакета {{pkg|pam_pkcs11}} (≥ 0.6.9-alt5) поддерживает настройку с использованием ''профилей''. Список доступных профилей выводится по команде {{cmd|control pam-pkcs11-profile list}}. Дополнительную информацию см. в [[pkcs11-profiles]].
 
control pam-pkcs11-profile list
 
На сегодняшний день подготовлен профиль для аутентификации через токены RuToken ECP. Он станет доступен после установки пакета {{pkg|pkcs11-profiles-rutokenecp}}.
Применить его можно командой
 
control pam-pkcs11-profile rutokenecp


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


  control system-auth pkcs11_strict
  {{cmd|control system-auth pkcs11_strict}}


установит такой механизм аутентификации, при котором только пользователи из группы <code>wheel</code> (т.е. администраторы) имеют возможность входа в систему без токена, по паролю.
установит такой механизм аутентификации, при котором только пользователи из группы <code>wheel</code> (т.е. администраторы) имеют возможность входа в систему без токена, по паролю.
=== Что входит в профиль <code>rutokenecp</code>? ===
Профиль не только настраивает <code>pam_pkcs11</code> для работы с RuToken ECP, но также выбирает следующие умолчания для процедуры аутентификации:
# публичные сертификаты, которые удостоверяют подлинность пользовательских сертификатов, размещаются в директории <code>/etc/security/pam_pkcs11/cacerts</code> ('''Внимание!''' Имена файлов в данной директории должны соответствовать хэшам сертификатов. Прочтите страницу руководства <code>verify(1)</code>);
# файлы с информацией об отозванных сертификатах размещаются в директории <code>/etc/security/pam_pkcs11/crls</code>;
# публичный сертификат пользователя должен быть помещён в его ''домашнюю директорию'' <code>$HOME/.eid/</code>.


=== Дополнительные инструменты ===
=== Дополнительные инструменты ===
Строка 30: Строка 15:
Пакет {{pkg|card-actions}} предоставляет вариант скрипта <code>/usr/bin/card-removed</code>, который блокирует пользовательский сеанс, если токен был извлечён. (Другие варианты могут предоставляться другими пакетами через механизм ''альтернатив''.) Активировать эту полезную команду, можно командами
Пакет {{pkg|card-actions}} предоставляет вариант скрипта <code>/usr/bin/card-removed</code>, который блокирует пользовательский сеанс, если токен был извлечён. (Другие варианты могут предоставляться другими пакетами через механизм ''альтернатив''.) Активировать эту полезную команду, можно командами


  control pkcs11-events card_actions
  {{cmd|control pkcs11-events card_actions}}
  systemctl start pkcs11-eventmgr
  {{cmd|systemctl start pkcs11-eventmgr}}


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


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


Установите или обновите следующие пакеты: {{pkg|pam_pkcs11}}, {{pkg|pam_mkuser}}, {{pkg|lightdm}}, {{pkg|lightdm-gtk-greeter}}, {{pkg|card-actions}}.
Установите или обновите следующие пакеты: {{pkg|pam_pkcs11}}, {{pkg|pam_mkuser}}, {{pkg|lightdm}}, {{pkg|lightdm-gtk-greeter}} (или {{pkg|light-gtk-greeter-pd}}), {{pkg|card-actions}}.


Введите следующие команды для переключения конфигурационных параметров:
Введите следующие команды для переключения конфигурационных параметров:
# <code>control lightdm-login-unknown enabled</code>
# {{cmd|control lightdm-login-unknown enabled}}
# <code>control pam_mkuser enabled</code>
# {{cmd|control pam_mkuser enabled}}
# <code>control pam-pkcs11-mapping snils_scrambled</code>
# {{cmd|control pam-pkcs11-mapping snils_scrambled}}


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


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


Узнать автоматически сгенерированное имя до входа в систему можно введя команду <code>pklogin_finder</code>.
Узнать автоматически сгенерированное имя до входа в систему можно введя команду {{cmd|pklogin_finder}}.


[[Категория:Admin]]
[[Категория:Admin]]

Версия от 17:48, 22 августа 2018

Примечание: Все нижеописанные действия уже реализованы в модуле Альтератора 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 lightdm. После вставки токена в разъём будет выведено автоматически сгенерированное имя пользователя и приглашение для ввода PIN-кода.

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

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