Двухфакторная аутентификация: различия между версиями
Manowar (обсуждение | вклад) (Настройка аутентификации с помощью профилей) |
Manowar (обсуждение | вклад) (Об именах файлов в cacerts/) |
||
Строка 21: | Строка 21: | ||
Профиль не только настраивает <code>pam_pkcs11</code> для работы с RuToken ECP, но также выбирает следующие умолчания для процедуры аутентификации: | Профиль не только настраивает <code>pam_pkcs11</code> для работы с RuToken ECP, но также выбирает следующие умолчания для процедуры аутентификации: | ||
# публичные сертификаты, которые удостоверяют подлинность пользовательских сертификатов, размещаются в директории <code>/etc/security/pam_pkcs11/cacerts</code>; | # публичные сертификаты, которые удостоверяют подлинность пользовательских сертификатов, размещаются в директории <code>/etc/security/pam_pkcs11/cacerts</code> ('''Внимание!''' Имена файлов в данной директории должны соответствовать хэшам сертификатов. Прочтите страницу руководства <code>verify(1)</code>); | ||
# файлы с информацией об отозванных сертификатах размещаются в директории <code>/etc/security/pam_pkcs11/crls</code>; | # файлы с информацией об отозванных сертификатах размещаются в директории <code>/etc/security/pam_pkcs11/crls</code>; | ||
# публичный сертификат пользователя должен быть помещён в его ''домашнюю директорию'' <code>$HOME/.eid/</code>. | # публичный сертификат пользователя должен быть помещён в его ''домашнюю директорию'' <code>$HOME/.eid/</code>. |
Версия от 19: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:
Далее можно использовать механизм двухфакторной аутентификации для доступа к веб-приложениям: