Avanpost FAM/MFA+ : 4.4.4. Установка FAM Linux Logon в РЕД ОС

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

Компонент Avanpost FAM Linux Logon устанавливается локально для обеспечения: 

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

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

Для установки и настройки Avanpost FAM Linux Logon в соответствии с текущей инструкцией необходимо выполнить следующие предварительные условия:

  • Сетевое соединение: обеспечение доступа к сети для связи с сервером FAM (используется gRPC сервер FAM, который по умолчанию работает на порту 9007 TCP). 

Важно

Перед выполнением установки и настройки необходимо выполнить резервное копирование.

Установка на стороне рабочей станции под управлением РЕД ОС

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

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

  1. Создать директорию, в которой будут содержаться все необходимые файлы для последующего копирования или установки при помощи следующей команды:
    sudo mkdir /opt/pam
  2. Скачать архивы с файлами pam_avanpost_mfa.so, pam_avanpost_mfa_base.so и libPluginTokens.so по следующим ссылкам:
    • fam-pam-linux для avanpost_mfa_pam.tar.gz (следует использовать наиболее свежую версию);
    • PluginTokens/linux для plugin_tokens.linux.tar.gz (следует использоваться наиболее свежую версию).
  3. Распаковать архив в папку /opt/pam/ при помощи следующей команды:

    sudo tar -C /opt/pam -xvzf /path_to_tar_file/avanpost_mfa_pam-1.0-60.tar.gz
  4. Войти под правами суперпользователя, используя следующую команду:
    sudo su -
  5. Найти стандартную директорию PAM-модулей в ОС, использовать команду (в наименовании директории в 64-разрядной системе присутствует обозначение x86_64, в 32-разрядной - i386):
    find / -name "pam_unix.so"
  6. Перенести файл pam_avanpost_mfa.so в стандартную директорию PAM-модулей. Пример команды для переноса файлов:
    mkdir /usr/lib/avanpost_mfa || true && cp pam_avanpost_mfa_base.so /usr/lib/avanpost_mfa || true && cp pam_avanpost_mfa.so /lib/x86_64-linux-gnu/security/ || true &&  cp libPluginTokens.so /usr/lib/avanpost_mfa || true
  7. Создать директорию, в которой будут находиться файлы pam_avanpost_mfa_base.so и libPluginTokens.so.

  8. Настроить параметры конфигурационного файла модуля в соответствии с таблицей (PAM-модуль функционально можно подключать к любому приложению, которое поддерживает PAM, но параметры конфигурационного файла отличаются для каждого приложения и для каждой ОС, т.к. функциональность и механизмы взаимодействия различны для разных приложений и ОС).  
    ПараметрЗначениеПример
    plugin_pathПуть до файла libPluginTokens.so. Может быть произвольным/usr/lib/avanpost_mfa/libPluginTokens.so
    grpc_addressАдрес GRPC-сервера FAM. По умолчанию используется 9007 портgrpc_address=192.168.1.45:9007
    device_lib_pathПуть до драйвера токена. Необязательный параметрdevice_lib_path=/usr/lib/librtpkcs11ecp.so
    default_user_groupНазначение группы на уровне ОС при создании пользователяdefault_user_group=avanpost,pamuser
    create_userсоздание пользователя в процессе аутентификации в ОСcreate_user=yes
    app_nameИмя Linux Logon приложения в FAM
    app_name=pam_fam_1
    debugВключение повышенного уровня логирования для отладки

Установка и настройка на стороне Avanpost FAM

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

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

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

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

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

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

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

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

Для корректной работы фактора TOTP в конфигурационном файле Avanpost FAM Server config.toml установить параметр http_only = true (параметр расположен в разделе [cookie]).

Первоначальная отладка и настройка

Общие рекомендации

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

  1. Перед началом настройки компонента рекомендуется сделать резервную копию файлов. Пример команды:
    sudo cp /etc/pam.d/fly-dm /opt/pam/fly-dm_backup
  2. При тестировании использовать "локального пользователя", который был создан в FAM и в ОС с одинаковым паролем. Предоставить доступ пользователю к приложению cозданного приложения типа Linux Logon.  
  3. В процессе тестирования рекомендуется отслеживать события sshd в разделе Журнал безопасности (сервис "Отчеты" административной консоли Avanpost FAM Server) и в ОС рабочей станции при помощи команды:
    sudo journalctl -xefu sshd

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

Проверку правильности осуществленной настройки выполнять в следующей последовательности:

  1. Создать учетную запись пользователя pamuser на рабочей станции пользователя и задать пароль. 
  2. Создать учетную запись pamuser на стороне Avanpost FAM с использованием пароля, заданного на предыдущем шаге (особенности процесса создания пользователя описаны в Добавление пользователей и атрибутов вручную):
    1.  Нажать кнопку "Добавить пользователя" в режиме "Пользователи" административной консоли Avanpost FAM.
    2. Ввести значения основных атрибутов, включая логин - pamuser.
    3. Выключить флаг в чекбоксе "Отправить приветствие со ссылкой для смены пароля", ввести и подтвердить пароль, заданный для пользователя в ОС на рабочей станции.

    4. Нажать кнопку "Сохранить".

  3. Предоставить доступ пользователю к созданному ранее Linux Logon-приложению (в данном примере pam_fam).
    1. В режиме "Группы" войти в профиль группы, для которой задан доступ к приложению pam_fam (если такая группа отсутствует, создать новую группу и назначить ей приложение pam_fam, пользуясь статьей Добавление новых групп в разделе Управление доступом). 
    2. Нажать кнопку "Добавить пользователей", найти и выбрать нужного пользователя (в данном примере pamuser).
    3. Нажать кнопку "Сохранить".
  4. Проверить вход в Систему под учетной записью pamuser.

Настройка SSHD

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

  1. Открыть конфигурационный файл SSH-сервера /etc/pam.d/sshd в текстовом редакторе:
    sudo nano /etc/pam.d/sshd
  2. Для корректной работы второго фактора (Access-Challenge) в конфигурационном файле /etc/ssh/sshd_config.d/50-redos.conf необходимо включить параметр "ChallengeResponseAuthentication", установив значение "yes".
    sudo nano /etc/ssh/sshd_config.d/50-redos.conf
    # This system is following system-wide crypto policy. The changes to
    # crypto properties (Ciphers, MACs, ...) will not have any effect here.
    # They will be overridden by command-line options passed to the server
    # on command line.
    # Please, check manual pages for update-crypto-policies(8) and sshd_config(5).
    
    SyslogFacility AUTHPRIV
    
    PermitRootLogin yes
    
    PasswordAuthentication yes
    ChallengeResponseAuthentication yes
    
    GSSAPIAuthentication yes
    GSSAPICleanupCredentials no
    
    UsePAM yes
    
    X11Forwarding yes
    
    # It is recommended to use pam_motd in /etc/pam.d/sshd instead of PrintMotd,
    # as it is more configurable and versatile than the built-in version.
    PrintMotd no
    
    # Accept locale-related environment variables
    AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
    AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
    AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
  3. Отредактировать файл /etc/pam.d/sshd следующим образом:
    sudo nano /etc/pam.d/sshd
    #%PAM-1.0
    auth       substack     password-auth
    auth	   required	pam_avanpost_mfa.so debug grpc_address=10.0.2.20:9007 app_name=pam_fam plugin_path=/usr/lib/avanpost_mfa/libPluginTokens.so
    auth       include      postlogin
    account    required     pam_sepermit.so
    account    required     pam_nologin.so
    account    include      password-auth
    password   include      password-auth
    # pam_selinux.so close should be the first session rule
    session    required     pam_selinux.so close
    session    required     pam_loginuid.so
    # pam_selinux.so open should only be followed by sessions to be executed in the user context
    session    required     pam_selinux.so open env_params
    session    required     pam_namespace.so
    session    optional     pam_keyinit.so force revoke
    session    optional     pam_motd.so
    session    include      password-auth
    session    include      postlogin
    
    
  4. Установить параметр http_only = true в конфигурационном файле Avanpost FAM Server config.toml для корректной работы фактора TOTP.


Обсуждение