Двухфакторная аутентификация

Материал из ALT Linux Wiki
Версия от 19:10, 26 июня 2017; Manowar (обсуждение | вклад) (Об именах файлов в cacerts/)
Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

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

Новая версия пакета 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 по наблюдению за токенами.

Настройка двухфакторной аутентификации в Альт Рабочая станция К 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

EToken.png

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. Для верификации данного факта необходимо запустить браузер и перейти к пункту Настройки ▷ Дополнительные ▷ Сертификаты ▷ Устройства защиты и убедиться, что токен виден в приложении:

Проверка подгрузки устройства защиты в браузер Firefox

В случае если модуль eToken отсутствует его нужно загрузить из папки /lib или /lib64:

Загрузка eToken

Выбор eToken

Далее можно использовать механизм двухфакторной аутентификации для доступа к веб-приложениям:

Механизм двухфакторной аутентификации для доступа к веб-приложениям

Настройка двухфакторной аутентификации в Альт Рабочая станция 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

Проверка корректности работы ключа eToken‎

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 <логин пользователя>

Password off1.png

Аутентификация в консоли без пароля‎‎‎‎

Двухфакторная аутентификация для работы в браузере Firefox

При инсталляции SafeNet Authentication Client приложение автоматически подгружает устройства защиты в браузер Firefox. Для верификации данного факта необходимо запустить браузер и перейти к пункту Настройки ▷ Дополнительные ▷ Сертификаты ▷ Устройства защиты и убедиться, что токен виден в приложении:

Проверка подгрузки устройства защиты в браузер Firefox

В случае если модуль eToken отсутствует его нужно загрузить из папки /lib или /lib64:

Загрузка eToken

Выбор eToken

Далее можно использовать механизм двухфакторной аутентификации для доступа к веб-приложениям:

Механизм двухфакторной аутентификации для доступа к веб-приложениям

Ссылки