Двухфакторная аутентификация
Материал из ALT Linux Wiki
Manowar (обсуждение | вклад) (Об именах файлов в cacerts/) |
|||
(14 промежуточных версий не показаны.) | |||
Строка 1: | Строка 1: | ||
{{Stub}} | {{Stub}} | ||
- | == Настройка двухфакторной аутентификации в | + | == Настройка аутентификации с помощью профилей == |
+ | |||
+ | Новая версия пакета {{pkg|pam_pkcs11}} (≥ 0.6.9-alt5) поддерживает настройку с использованием ''профилей''. Список доступных профилей выводится по команде | ||
+ | |||
+ | control pam-pkcs11-profile list | ||
+ | |||
+ | На сегодняшний день подготовлен профиль для аутентификации через токены RuToken ECP. Он станет доступен после установки пакета {{pkg|pkcs11-profiles-rutokenecp}}. | ||
+ | Применить его можно командой | ||
+ | |||
+ | control pam-pkcs11-profile rutokenecp | ||
+ | |||
+ | Применение профиля относится только к конфигурации модуля <code>pam_pkcs11</code>, но оставляет без изменения системный механизм аутентификации. Поэтому следом нужно выбрать системный механизм аутентификации, основанный на <code>pam_pkcs11</code>. Например, команда | ||
+ | |||
+ | control system-auth pkcs11_strict | ||
+ | |||
+ | установит такой механизм аутентификации, при котором только пользователи из группы <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>. | ||
+ | |||
+ | === Дополнительные инструменты === | ||
+ | |||
+ | Пакет {{pkg|card-actions}} предоставляет вариант скрипта <code>/usr/bin/card-removed</code>, который блокирует пользовательский сеанс, если токен был извлечён. (Другие варианты могут предоставляться другими пакетами через механизм ''альтернатив''.) Активировать эту полезную команду, можно командами | ||
+ | |||
+ | control pkcs11-events card_actions | ||
+ | systemctl start pkcs11-eventmgr | ||
+ | |||
+ | в результате чего будут внесены необходимые изменения в файл <code>/etc/security/pam_pkcs11/pkcs11_eventmgr.conf</code> и включена служба <code>pkcs11-eventmgr</code> по наблюдению за токенами. | ||
+ | |||
+ | == Настройка двухфакторной аутентификации в Альт Рабочая станция К 8.0 (KDE5) == | ||
=== Двухфакторная аутентификация для входа на рабочую станцию === | === Двухфакторная аутентификация для входа на рабочую станцию === | ||
- | 1. Установить следующие пакеты используя Менеджер пакетов Synaptic или интерфейс командной строки (apt-get install): {{pkg|opensc}}, {{pkg|pam_pkcs11}}, {{pkg|pcsc-lite-ccid}}, {{pkg|openssl-engine_pkcs11}}, {{pkg|nss-utils}}, {{pkg|libhal}}; | + | 1. Установить следующие пакеты используя Менеджер пакетов [[Synaptic|Synaptic]] или интерфейс командной строки (apt-get install): {{pkg|opensc}}, {{pkg|pam_pkcs11}}, {{pkg|pcsc-lite-ccid}}, {{pkg|openssl-engine_pkcs11}}, {{pkg|nss-utils}}, {{pkg|libhal}}; |
2. Для 64-битных систем установить следующие пакеты: {{pkg|libc.so.6}}, {{pkg|libdbus-1.so.3}}, {{pkg|libhal.so.1}}, {{pkg|libpcsclite.so.1}}, {{pkg|libstdc++.so.6}}, {{pkg|libusb-1.0.so.0}}; | 2. Для 64-битных систем установить следующие пакеты: {{pkg|libc.so.6}}, {{pkg|libdbus-1.so.3}}, {{pkg|libhal.so.1}}, {{pkg|libpcsclite.so.1}}, {{pkg|libstdc++.so.6}}, {{pkg|libusb-1.0.so.0}}; | ||
Строка 9: | Строка 43: | ||
3. Установить пакеты SafeNet Authentication Client, выполнив команду: | 3. Установить пакеты SafeNet Authentication Client, выполнив команду: | ||
<pre> | <pre> | ||
- | rpm | + | rpm -ihv SafeNet* |
</pre> | </pre> | ||
Строка 16: | Строка 50: | ||
5. Выполнить импорт корневого сертификата в формате Base64, путем выполнения команды: | 5. Выполнить импорт корневого сертификата в формате Base64, путем выполнения команды: | ||
<pre> | <pre> | ||
- | certutil -A -n "Root CA" -t "CT,C,C" - a -d /etc/pki/nssdb -i <расположение сертификата> | + | certutil -A -n "Root CA" -t "CT,C,C" -a -d /etc/pki/nssdb -i <расположение сертификата> |
</pre> | </pre> | ||
Строка 68: | Строка 102: | ||
Далее аутентифицироваться с помощью токена: | Далее аутентифицироваться с помощью токена: | ||
- | [[Файл:Login_token.png]] | + | [[Файл:Login_token.png|Аутентификация по сертификату в консоли]] |
11. Для возможности аутентификации по сертификату в графическом интерфейсе необходимо выполнить команду: | 11. Для возможности аутентификации по сертификату в графическом интерфейсе необходимо выполнить команду: | ||
Строка 76: | Строка 110: | ||
Далее аутентифицироваться с помощью токена (в поле окна необходимо ввести PIN код ключевого носителя): | Далее аутентифицироваться с помощью токена (в поле окна необходимо ввести PIN код ключевого носителя): | ||
- | [[Файл:Login_token_kde.png]] | + | [[Файл:Login_token_kde.png|Аутентификация по сертификату в графическом интерфейсе]] |
12. Для того, чтобы отключить аутентификацию по паролю, необходимо выполнить следующую команду: | 12. Для того, чтобы отключить аутентификацию по паролю, необходимо выполнить следующую команду: | ||
Строка 83: | Строка 117: | ||
</pre> | </pre> | ||
- | [[Файл:Password_off. | + | [[Файл:Password_off.png|Аутентификация в консоли без пароля]] |
=== Двухфакторная аутентификация для работы в браузере Firefox === | === Двухфакторная аутентификация для работы в браузере Firefox === | ||
Строка 89: | Строка 123: | ||
При инсталляции SafeNet Authentication Client приложение автоматически подгружает устройства защиты в браузер Firefox. Для верификации данного факта необходимо запустить браузер и перейти к пункту {{nav|Настройки|Дополнительные|Сертификаты|Устройства защиты}} и убедиться, что токен виден в приложении: | При инсталляции SafeNet Authentication Client приложение автоматически подгружает устройства защиты в браузер Firefox. Для верификации данного факта необходимо запустить браузер и перейти к пункту {{nav|Настройки|Дополнительные|Сертификаты|Устройства защиты}} и убедиться, что токен виден в приложении: | ||
- | [[Файл:EToken_firefox.png]] | + | [[Файл:EToken_firefox.png|800px|Проверка подгрузки устройства защиты в браузер Firefox]] |
+ | |||
+ | В случае если модуль eToken отсутствует его нужно загрузить из папки {{path|/lib}} или {{path|/lib64}}: | ||
+ | |||
+ | [[Файл:Load_eToken.png|Загрузка eToken]] | ||
+ | |||
+ | [[Файл:Load_eToken1.png|800px|Выбор eToken]] | ||
Далее можно использовать механизм двухфакторной аутентификации для доступа к веб-приложениям: | Далее можно использовать механизм двухфакторной аутентификации для доступа к веб-приложениям: | ||
- | [[Файл:Firefox_login.png]] | + | [[Файл:Firefox_login.png|Механизм двухфакторной аутентификации для доступа к веб-приложениям]] |
- | == Настройка двухфакторной аутентификации в | + | == Настройка двухфакторной аутентификации в Альт Рабочая станция 8.1 (Mate) и Альт Сервер 8 == |
=== Двухфакторная аутентификация для входа на рабочую станцию === | === Двухфакторная аутентификация для входа на рабочую станцию === | ||
- | 1. Установить следующие пакеты используя Менеджер пакетов Synaptic или интерфейс командной строки (apt-get install): {{pkg|opensc}}, {{pkg|pam_pkcs11}}, {{pkg|pcsc-lite-ccid}}, {{pkg|openssl-engine_pkcs11}}, {{pkg|nss-utils}}, {{pkg|libhal}}; | + | 1. Установить следующие пакеты используя Менеджер пакетов [[Synaptic|Synaptic]] или интерфейс командной строки (apt-get install): {{pkg|opensc}}, {{pkg|pam_pkcs11}}, {{pkg|pcsc-lite-ccid}}, {{pkg|openssl-engine_pkcs11}}, {{pkg|nss-utils}}, {{pkg|libhal}}; |
2. Для 64-битных систем установить следующие пакеты: {{pkg|libc.so.6}}, {{pkg|libdbus-1.so.3}}, {{pkg|libhal.so.1}}, {{pkg|libpcsclite.so.1}}, {{pkg|libstdc++.so.6}}, {{pkg|libusb-1.0.so.0}}; | 2. Для 64-битных систем установить следующие пакеты: {{pkg|libc.so.6}}, {{pkg|libdbus-1.so.3}}, {{pkg|libhal.so.1}}, {{pkg|libpcsclite.so.1}}, {{pkg|libstdc++.so.6}}, {{pkg|libusb-1.0.so.0}}; | ||
Строка 104: | Строка 144: | ||
3. Установить пакеты SafeNet Authentication Client, выполнив команду: | 3. Установить пакеты SafeNet Authentication Client, выполнив команду: | ||
<pre> | <pre> | ||
- | rpm | + | rpm -ihv SafeNet* |
</pre> | </pre> | ||
Строка 145: | Строка 185: | ||
pklogin_finder debug | pklogin_finder debug | ||
</pre> | </pre> | ||
- | [[Файл:EToken_Mate. | + | [[Файл:EToken_Mate.png|Проверка корректности работы ключа eToken]] |
8. Для возможности аутентификации по сертификату в консоли необходимо в файл {{path|/etc/pam.d/login}} вначале добавить строку: | 8. Для возможности аутентификации по сертификату в консоли необходимо в файл {{path|/etc/pam.d/login}} вначале добавить строку: | ||
Строка 157: | Строка 197: | ||
Далее аутентифицироваться с помощью токена: | Далее аутентифицироваться с помощью токена: | ||
- | [[Файл:Login_token1.png]] | + | [[Файл:Login_token1.png|Аутентификация по сертификату в консоли]] |
9. Для возможности аутентификации по сертификату в графическом интерфейсе необходимо выполнить команду: | 9. Для возможности аутентификации по сертификату в графическом интерфейсе необходимо выполнить команду: | ||
Строка 165: | Строка 205: | ||
Далее аутентифицироваться с помощью токена (в поле окна необходимо ввести PIN код ключевого носителя): | Далее аутентифицироваться с помощью токена (в поле окна необходимо ввести PIN код ключевого носителя): | ||
- | [[Файл:Login_token_mate.png]] | + | [[Файл:Login_token_mate.png|Аутентификация по сертификату в графическом интерфейсе]] |
10. Для того, чтобы отключить аутентификацию по паролю, необходимо выполнить следующую команду: | 10. Для того, чтобы отключить аутентификацию по паролю, необходимо выполнить следующую команду: | ||
Строка 174: | Строка 214: | ||
[[Файл:Password_off1.png]] | [[Файл:Password_off1.png]] | ||
- | [[Файл:Password_off2. | + | [[Файл:Password_off2.png|Аутентификация в консоли без пароля]] |
=== Двухфакторная аутентификация для работы в браузере Firefox === | === Двухфакторная аутентификация для работы в браузере Firefox === | ||
Строка 180: | Строка 220: | ||
При инсталляции SafeNet Authentication Client приложение автоматически подгружает устройства защиты в браузер Firefox. Для верификации данного факта необходимо запустить браузер и перейти к пункту {{nav|Настройки|Дополнительные|Сертификаты|Устройства защиты}} и убедиться, что токен виден в приложении: | При инсталляции SafeNet Authentication Client приложение автоматически подгружает устройства защиты в браузер Firefox. Для верификации данного факта необходимо запустить браузер и перейти к пункту {{nav|Настройки|Дополнительные|Сертификаты|Устройства защиты}} и убедиться, что токен виден в приложении: | ||
- | [[Файл:EToken_firefox. | + | [[Файл:EToken_firefox.png|800px|Проверка подгрузки устройства защиты в браузер Firefox]] |
В случае если модуль eToken отсутствует его нужно загрузить из папки {{path|/lib}} или {{path|/lib64}}: | В случае если модуль eToken отсутствует его нужно загрузить из папки {{path|/lib}} или {{path|/lib64}}: | ||
- | [[Файл:Load_eToken.png]] | + | [[Файл:Load_eToken.png|Загрузка eToken]] |
- | + | [[Файл:Load_eToken1.png|800px|Выбор eToken]] | |
- | [[Файл:Load_eToken1. | + | |
Далее можно использовать механизм двухфакторной аутентификации для доступа к веб-приложениям: | Далее можно использовать механизм двухфакторной аутентификации для доступа к веб-приложениям: | ||
- | [[Файл:Firefox_login1.png]] | + | [[Файл:Firefox_login1.png|800px|Механизм двухфакторной аутентификации для доступа к веб-приложениям]] |
+ | |||
+ | = Ссылки = | ||
+ | * http://www.linuxquestions.org/questions/blog/vik-404221/configuring-pam_pkcs11-smart-card-logins-for-gentoo-64-bit-linux-35613/ | ||
[[Категория:Admin]] | [[Категория:Admin]] |
Текущая версия на 16:10, 26 июня 2017
Содержание |
Настройка аутентификации с помощью профилей
Новая версия пакета 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, но также выбирает следующие умолчания для процедуры аутентификации:
- публичные сертификаты, которые удостоверяют подлинность пользовательских сертификатов, размещаются в директории
/etc/security/pam_pkcs11/cacerts
(Внимание! Имена файлов в данной директории должны соответствовать хэшам сертификатов. Прочтите страницу руководстваverify(1)
); - файлы с информацией об отозванных сертификатах размещаются в директории
/etc/security/pam_pkcs11/crls
; - публичный сертификат пользователя должен быть помещён в его домашнюю директорию
$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
по наблюдению за токенами.
Настройка двухфакторной аутентификации в Альт Рабочая станция К 8.0 (KDE5)
Двухфакторная аутентификация для входа на рабочую станцию
1. Установить следующие пакеты используя Менеджер пакетов Synaptic или интерфейс командной строки (apt-get install): opensc, pam_pkcs11, pcsc-lite-ccid, openssl-engine_pkcs11, nss-utils, libhal;
2. Для 64-битных систем установить следующие пакеты: libc.so.6, libdbus-1.so.3, libhal.so.1, libpcsclite.so.1, libstdc++.so.6, libusb-1.0.so.0;
3. Установить пакеты SafeNet Authentication Client, выполнив команду:
rpm -ihv SafeNet*
4. Подготовить токен (сформировать ключевую пару и сертификат). Данная операция может быть выполнена в среде Linux (используя openssl) или Windows (Microsoft CA);
5. Выполнить импорт корневого сертификата в формате Base64, путем выполнения команды:
certutil -A -n "Root CA" -t "CT,C,C" -a -d /etc/pki/nssdb -i <расположение сертификата>
6. В конфигурационный файл /etc/security/pam_pkcs11/pam_pkcs11.conf внести следующие изменения:
use_pkcs11_module = etoken; debug = false; pkcs11_module etoken { module = /lib/libeToken.so.9 #/lib64 для 64 битных систем description = "Gemalto SafeNet"; slot_num = 0; support_threads = true; ca_dir = /etc/pam_pkcs11/cacerts; crl_dir = /etc/pam_pkcs11/crls; cert_policy = signature; } use_mappers = subject; mapper subject { debug = false; module = internal; ignorecase = false; mapfile = file:///etc/security/pam_pkcs11/subject_mapping; }
7. Выполнить команду:
pkcs11_insect > /etc/security/pam_pkcs11/subject_mapping
и удалить все, за исключением имени субъекта (пример, /DC=local/DC=gemalto/OU=SAS/CN=mrozhnov/emailAddress=mrozhnov@gemalto.local);
8. Проверить корректность работы ключа eToken, выполнив команду:
pklogin_finder debug
9. Далее необходимо установить следующие пакеты: lightdm и lightdm-kde-greeter и выполнить перезагрузку рабочей станции;
10. Для возможности аутентификации по сертификату в консоли необходимо в файл /etc/pam.d/login вначале добавить строку:
auth [success=done authinfo_unavail=ignore ignore=ignore default=die] pam_pkcs11.so
Для проверки под учетной записью root выполнить команду:
init 3
Далее аутентифицироваться с помощью токена:
11. Для возможности аутентификации по сертификату в графическом интерфейсе необходимо выполнить команду:
control system-auth pkcs11
Далее аутентифицироваться с помощью токена (в поле окна необходимо ввести PIN код ключевого носителя):
12. Для того, чтобы отключить аутентификацию по паролю, необходимо выполнить следующую команду:
passwd –l <логин пользователя>
Двухфакторная аутентификация для работы в браузере Firefox
При инсталляции SafeNet Authentication Client приложение автоматически подгружает устройства защиты в браузер Firefox. Для верификации данного факта необходимо запустить браузер и перейти к пункту Настройки ▷ Дополнительные ▷ Сертификаты ▷ Устройства защиты и убедиться, что токен виден в приложении:
В случае если модуль eToken отсутствует его нужно загрузить из папки /lib или /lib64:
Далее можно использовать механизм двухфакторной аутентификации для доступа к веб-приложениям:
Настройка двухфакторной аутентификации в Альт Рабочая станция 8.1 (Mate) и Альт Сервер 8
Двухфакторная аутентификация для входа на рабочую станцию
1. Установить следующие пакеты используя Менеджер пакетов Synaptic или интерфейс командной строки (apt-get install): opensc, pam_pkcs11, pcsc-lite-ccid, openssl-engine_pkcs11, nss-utils, libhal;
2. Для 64-битных систем установить следующие пакеты: libc.so.6, libdbus-1.so.3, libhal.so.1, libpcsclite.so.1, libstdc++.so.6, libusb-1.0.so.0;
3. Установить пакеты SafeNet Authentication Client, выполнив команду:
rpm -ihv SafeNet*
4. Подготовить токен (сформировать ключевую пару и сертификат). Данная операция может быть выполнена в среде Linux (используя openssl) или Windows (Microsoft CA);
5. Выполнить импорт корневого сертификата в формате Base64, путем выполнения команды:
certutil -A -n "Root CA" -t "CT,C,C" -a -d /etc/pki/nssdb -i <расположение сертификата>
6. В конфигурационный файл /etc/security/pam_pkcs11/pam_pkcs11.conf внести следующие изменения:
use_pkcs11_module = etoken; debug = false; pkcs11_module etoken { module = /lib/libeToken.so.9 #/lib64 для 64 битных систем description = "Gemalto SafeNet"; slot_num = 0; support_threads = true; ca_dir = /etc/pam_pkcs11/cacerts; crl_dir = /etc/pam_pkcs11/crls; cert_policy = signature; } use_mappers = cn; (Возможно использовать другие маперы subject, mail, etc) mapper cn { debug = false; module = internal; ignorecase = false; mapfile = file:///etc/security/pam_pkcs11/cn_mapping; }
7. Проверить корректность работы ключа eToken, выполнив команду:
pklogin_finder debug
8. Для возможности аутентификации по сертификату в консоли необходимо в файл /etc/pam.d/login вначале добавить строку:
auth [success=done authinfo_unavail=ignore ignore=ignore default=die] pam_pkcs11.so
Для проверки под учетной записью root выполнить команду:
init 3
Далее аутентифицироваться с помощью токена:
9. Для возможности аутентификации по сертификату в графическом интерфейсе необходимо выполнить команду:
control system-auth pkcs11
Далее аутентифицироваться с помощью токена (в поле окна необходимо ввести PIN код ключевого носителя):
10. Для того, чтобы отключить аутентификацию по паролю, необходимо выполнить следующую команду:
passwd –l <логин пользователя>
Двухфакторная аутентификация для работы в браузере Firefox
При инсталляции SafeNet Authentication Client приложение автоматически подгружает устройства защиты в браузер Firefox. Для верификации данного факта необходимо запустить браузер и перейти к пункту Настройки ▷ Дополнительные ▷ Сертификаты ▷ Устройства защиты и убедиться, что токен виден в приложении:
В случае если модуль eToken отсутствует его нужно загрузить из папки /lib или /lib64:
Далее можно использовать механизм двухфакторной аутентификации для доступа к веб-приложениям: