Avanpost FAM/MFA+ : 4.4.6. Установка FAM Linux Logon из deb-пакета

Общие сведения

Компонент Avanpost FAM Linux Logon реализован в виде PAM-модуля и предназначен для обеспечения:

  • 2FA/MFA в ОС Linux в режиме графической оболочки;
  • 2FA/MFA в ОС Linux в режиме консольного входа;
  • 2FA/MFA в ОС Linux при подключении по SSH.

Перед выполнением установки и настройки рекомендуется создать резервную копию конфигурационных файлов PAM и убедиться в наличии сетевого доступа к серверу Avanpost FAM (порт gRPC по умолчанию — 9007/TCP).

Требования к ПО

  • Операционная система:
    • Astra Linux Орёл 2.12 СЕ / SE 1.7.4 / SE 1.7.5;
    • Debian;
    • Ubuntu;
  • Avanpost FAM Server 1.8+.

Установка на стороне рабочей станции 

Все операции производятся под учетной записью суперпользователя.

Установка и настройка на стороне рабочей станции необходимо выполнять следующим образом:

  1. Скачать deb-пакет компонента с именем вида посредством команды (X, Y, Z – версия компонента, N – номер сборки компонента):
    pam_avanpost.X.Y.Z-N.deb
  2. Запустить установку от имени суперпользователя:
    sudo dpkg -i pam_avanpost.X.Y.Z-N.deb

    Установка PAM-модуля выполняется в /usr/local/lib/. 

    Файл конфигурации pam_avanpost.conf копируется в /etc/security/ (если такой файл уже существует, копирование не выполняется).

  3. Открыть конфигурационный файл pam_avanpost.conf, расположенный по пути:
    /etc/security/pam_avanpost.conf
  4. Настроить конфигурационный файл в соответствии с таблицей.
    ПараметрЗначениеПример
    Connect

    IP-адрес Avanpost FAM Server и gRPC-порт (стандартный gRPC-порт для Credential Provider – 9007 TCP).

    Настройка gRPC-порта выполняется на стороне FAM Server (более подробно в статье Настройка gRPC).

    192.168.1.10:9007
    LogАдрес (путь и имя файла) для сохранения файла логирования./var/log/pam_avanpost.log
    LogLevel

    Уровень детализации логирования (более подробно о логировании в статье Управление логированием). Доступны следующие уровни:

    • ERROR – отображаются только ошибки;
    • INFO – отображается информация об общем ходе работы и ошибки (установлена по умолчанию);
    • DEBUG – отображается информация об общем ходе работы, фиксация ошибок, а также детальная информация для разработчика.
    DEBUG
    Flags

    Флаги для настройки дополнительных параметров работы модуля:

    • OFFLINE_ENABLE – включение offline-входа в систему при отсутствии соединения с FAM Server (при значении параметра true). 
    false
    SslTargetNameИмя хоста из TLS-сертификата сервера (при использовании TLS-шифрования).fam.example.com
    CAПуть и наименование файла корневого сертификата (при использовании TLS-шифрования)./etc/ssl/certs/fam-ca.pem
    AppNameНаименование Linux Logon-приложения, настроенного на стороне Avanpost FAM (по умолчанию используется pam_fam). sshd_pam_fam
    TimeoutВремя ожидания ответа для сервера (по умолчанию 45 секунд).60

    [Plugin]

    (секция настроек внешних плагинов для работы с криптографическими устройствами)

    Module

    Полный путь к плагину, включая имя плагина с расширением *.dll (предварительно скачивается дистрибутив с плагином).

    PluginTokens_64.dll

    Init

    Параметр, указывающий строку инициализации для загружаемого плагина. Определяет, какое криптографическое устройство или библиотека PKCS#11 будет использоваться.

    В качестве значения параметра может передаваться одно из двух значений:

    • имя поддерживаемого устройства (например, ETOKEN, RUTOKEN, RUTOKEN_ECP) – выполняется автоматический поиск соответствующей PKCS#11-библиотеки;
    • полный путь к файлу PKCS#11-библиотеки – используется при необходимости явного указания расположения библиотеки.   

    Рекомендуется в качестве значения параметра  указывать имя поддерживаемого устройства (например, Init=RUTOKEN) для минимизации риска ошибки. 

    ETOKEN

    Model

    Модель используемого устройства, с которым должен работать плагин. Допускается указание нескольких моделей через запятую.

    JaCarta Laser,Rutoken ECP

Активация PAM-модуля 

  1. Для активации модуля требуется отредактировать соответствующий файл в /etc/pam.d/ (например, common-auth, sshd, system-auth и т.д.) и добавить перед строкой pam_unix.so следующую строку:
    auth requisite pam_avanpost.so
  2. Для работы второго фактора (Access-Challenge) в SSH необходимо в файле /etc/ssh/sshd_config установить значение параметра ChallengeResponseAuthentication
    ChallengeResponseAuthentication yes

Настройка SSHD

Для настройки подключения по SSH с использованием PAM-модуля необходимо:

  1. Открыть конфигурационный файл SSH-сервера /etc/pam.d/sshd в текстовом редакторе:
    sudo nano /etc/pam.d/sshd
  2. Строку @include common-auth закомментировать, добавить в начало файла следующую строку с информацией о провайдере:
    auth    requisite    pam_avanpost_mfa.so debug grpc_address=10.0.2.4:9007 app_name=sshd_pam_1 plugin_path=/usr/lib/avanpost_mfa/libPluginTokens.so create_user=yes default_user_group=avanpost

Настройка компонента на стороне Avanpost FAM Server

Настройка компонента в интерфейсе административной консоли Avanpost FAM Server осуществляется в следующей последовательности:

  1. Зайти во вкладку создания приложения, нажав кнопку "Добавить приложение" в сервисе "Приложения".
  2. На этапе "Основные настройки" требуется ввести наименование и выбрать тип Windows Logon (более подробно процесс создания и управления приложениями описан в разделах Управление приложениями и Управление Linux Logon-приложениями). 

    Наименование создаваемого приложения типа Linux Logon не должно содержать пробелов (например, sshd_pam_1).

  3. На этапе "Настройки аутентификации" выбрать факторы аутентификации приложения, установив переключатели напротив тех или иных факторов (более подробно описано в Шаг 2. Настройки аутентификации для Linux Logon-приложения). 
    1. На первом шаге рекомендуется установить вход по паролю: установить переключатель в строке Password в положение "Активно" ().
    2. На последующих шагах установить дополнительные факторы аутентификации.
  4. На этапе завершения настройки установить флажок "Сделать приложение активным" и сохранить (более подробно описано в Шаг 3. Завершение для Linux Logon-приложения).

  5. Создать новую группу. Для этого необходимо нажать кнопку "Добавить группу" в режиме "Группы" и в открывшейся вкладке ввести запрашиваемые параметры (более подробно в Добавление новых групп).

  6. Добавить в группу пользователей, которые будут аутентифицироваться в настроенных приложениях. Ручное добавление пользователей администратором реализуется в профиле группы. Также доступ пользователя к группам и ролям допускается редактировать в УЗ пользователя

  7. Назначить ранее созданное Linux Logon-приложение в данную группу. Для этого в профиле группы во вкладке "Приложения" созданной группы установить переключатель в положение "Активно" () напротив созданных приложений.

Настройка работы с аппаратными токенами

Для использования hardware-аутентификации при помощи криптографических устройств в Avanpost Linux Logon реализована поддержка токенов через внешние плагины (библиотеки PKCS#11). Настройка использования токенов выполняется следующим образом:

  1. Установить драйверы токена (например, librtpkcs11ecp.so для Рутокен или libjcPKCS11-2.so для JaCarta).
  2. Загрузить дистрибутивы с плагинами.
  3. Настроить конфигурационный файл Avanpost Linux Logon, раздел [plugin].

Проверка установки

Для проверки корректности установки PAM-модуля требуется выполнить следующие действия:

  1. Создать в административной консоли Avanpost FAM пользователя с тем же логином и паролем, что и в ОС.

  2. Добавить пользователя в группу, для которой настроен доступ к Linux Logon-приложению проверяемого PAM-модуля.

  3. Инициировать вход в операционную систему (локально, посредством SSH или через графический интерфейс).
  4. Убедиться, что запрашиваются факторы в соответствии с настроенным сценарием аутентификации.

В процессе проверки и отладки PAM-модуля рекомендуется использовать системные журналы аутентификации в реальном времени: 

Отображение логов аутентификации в Astra Linux/Debian/Ubuntu
sudo tail -f /var/log/auth.log
Отображение логов systemd для РЕД ОС/RHEL/CentOS/Fedora
sudo journalctl -u sshd -f

Настройка смены пароля

Для интегрирует с процессом смены/проверки паролей на стороне FAM Server следует. 

  1. Открыть файл /etc/pam.d/common-password.
  2. Ввести следующую строку:
    password requisite pam_avanpost.so
  3. Сохранить изменения и закрыть файл.
  4. Убедиться в корректности работы механизма (например, ввести команду passwd).

Приложение А. Пример настройки конфигурационного файла 

Пример настройки конфигурационного файла pam_avanpost.conf:

Connect=192.168.1.10:9007
Log=/var/log/pam_avanpost.log
LogLevel=DEBUG
SslTargetName=fam.example.com
CA=/etc/ssl/certs/fam-ca.pem
AppName=sshd_pam_1
Timeout=60

Приложение Б. Настройка автоматической передачи сессии в Avanpost FAM Agent

Для случаев, когда пользователь использует FAM Linux Logon и FAM Agent, с целью повышения удобства рекомендуется выполнить настройку автоматической передачи сессии Linux Logon в FAM Agent. Для этого требуется выполнить следующие действия:

  1. Убедиться, что выполнены следующие требования:
    1. Установлен и корректно настроен Avanpost FAM Agent, при помощи которого выполняется успешная аутентификация в личном кабинете на стороне FAM Server.
    2. Установлен и корректно настроен FAM Linux Logon в соответствии с текущей инструкцией.
    3. Имя пользователя на стороне рабочей станции соответствует логину пользователя на стороне FAM Server.
  2. Выполнить перезагрузку рабочей станции пользователя.
  3. Пройти аутентификацию посредством FAM Linux Logon.
  4. Запустить Avanpost FAM Agent и войти в личный кабинет на стороне FAM Server. 
  5. Убедиться, что вход выполняется бесшовно без запроса дополнительных факторов аутентификации.


Обсуждение