Общие сведения
Компонент Avanpost FAM Linux Logon устанавливается локально для обеспечения:
- 2FA/MFA в ОС Linux в режиме графической оболочки;
- 2FA/MFA в ОС Linux в режиме консольного входа;
- 2FA/MFA в ОС Linux при подключении по SSH.
Требования к ПО:
- ОС:
- RedОС 7;
- RedОС 8;
- Avanpost FAM Server 1.8+.
Для установки и настройки Avanpost FAM Linux Logon в соответствии с текущей инструкцией необходимо выполнить следующие предварительные условия:
- Сетевое соединение: обеспечение доступа к сети для связи с сервером FAM (используется gRPC сервер FAM, который по умолчанию работает на порту 9007 TCP).
Важно
Перед выполнением установки и настройки необходимо выполнить резервное копирование.
Установка на стороне рабочей станции под управлением РЕД ОС
Все операции производятся под учетной записью суперпользователя.
Установка и настройка FAM Linux Logon на рабочей станции пользователя осуществляется следующим образом:
- Создать директорию, в которой будут содержаться все необходимые файлы для последующего копирования или установки при помощи следующей команды:
sudo mkdir /opt/pam
- Скачать архивы с файлами 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 (следует использоваться наиболее свежую версию).
Распаковать архив в папку
/opt/pam/
при помощи следующей команды:sudo tar -C /opt/pam -xvzf /path_to_tar_file/avanpost_mfa_pam-1.0-60.tar.gz
- Войти под правами суперпользователя, используя следующую команду:
sudo su -
- Найти стандартную директорию PAM-модулей в ОС, использовать команду (в наименовании директории в 64-разрядной системе присутствует обозначение x86_64, в 32-разрядной - i386):
find / -name "pam_unix.so"
- Перенести файл
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
Создать директорию, в которой будут находиться файлы
pam_avanpost_mfa_base.so
иlibPluginTokens.so.
- Настроить параметры конфигурационного файла модуля в соответствии с таблицей (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 осуществляется в следующей последовательности:
- Зайти во вкладку создания приложения, нажав кнопку "Добавить приложение" в сервисе "Приложения".
- На этапе "Основные настройки" требуется ввести наименование и выбрать тип Windows Logon (более подробно процесс создания и управления приложениями описан в разделах Управление приложениями и Управление Linux Logon-приложениями).
Наименование создаваемого приложения типа Linux Logon не должно содержать пробелов (например,
pam_fam
). - На этапе "Настройки аутентификации" выбрать факторы аутентификации приложения, установив переключатели напротив тех или иных факторов (более подробно описано в Шаг 2. Настройки аутентификации для Linux Logon-приложения).
- На первом шаге рекомендуется установить вход по паролю: установить переключатель в строке Password в положение "Активно" ().
- На последующих шагах установить дополнительные факторы аутентификации.
На этапе завершения настройки установить флажок "Сделать приложение активным" и сохранить (более подробно описано в Шаг 3. Завершение для Linux Logon-приложения).
Создать новую группу. Для этого необходимо нажать кнопку "Добавить группу" в режиме "Группы" и в открывшейся вкладке ввести запрашиваемые параметры (более подробно в Добавление новых групп).
Добавить в группу пользователей, которые будут аутентифицироваться в настроенных приложениях. Ручное добавление пользователей администратором реализуется в профиле группы. Также доступ пользователя к группам и ролям допускается редактировать в УЗ пользователя.
Назначить ранее созданное Linux Logon-приложение в данную группу. Для этого в профиле группы во вкладке "Приложения" созданной группы установить переключатель в положение "Активно" () напротив созданных приложений.
Для корректной работы фактора TOTP в конфигурационном файле Avanpost FAM Server config.toml
установить параметр http_only = true
(параметр расположен в разделе [cookie]
).
Первоначальная отладка и настройка
Общие рекомендации
При первичной отладке модуля рекомендуется необходимо осуществлять следующие действия:
- Перед началом настройки компонента рекомендуется сделать резервную копию файлов. Пример команды:
sudo cp /etc/pam.d/fly-dm /opt/pam/fly-dm_backup
- При тестировании использовать "локального пользователя", который был создан в FAM и в ОС с одинаковым паролем. Предоставить доступ пользователю к приложению cозданного приложения типа Linux Logon.
- В процессе тестирования рекомендуется отслеживать события
sshd
в разделе Журнал безопасности (сервис "Отчеты" административной консоли Avanpost FAM Server) и в ОС рабочей станции при помощи команды:sudo journalctl -xefu sshd
Проверка правильности установки
Проверку правильности осуществленной настройки выполнять в следующей последовательности:
- Создать учетную запись пользователя
pamuser
на рабочей станции пользователя и задать пароль. - Создать учетную запись
pamuser
на стороне Avanpost FAM с использованием пароля, заданного на предыдущем шаге (особенности процесса создания пользователя описаны в Добавление пользователей и атрибутов вручную):- Нажать кнопку "Добавить пользователя" в режиме "Пользователи" административной консоли Avanpost FAM.
- Ввести значения основных атрибутов, включая логин -
pamuser.
Выключить флаг в чекбоксе "Отправить приветствие со ссылкой для смены пароля", ввести и подтвердить пароль, заданный для пользователя в ОС на рабочей станции.
Нажать кнопку "Сохранить".
- Предоставить доступ пользователю к созданному ранее Linux Logon-приложению (в данном примере
pam_fam
).- В режиме "Группы" войти в профиль группы, для которой задан доступ к приложению
pam_fam
(если такая группа отсутствует, создать новую группу и назначить ей приложениеpam_fam,
пользуясь статьей Добавление новых групп в разделе Управление доступом). - Нажать кнопку "Добавить пользователей", найти и выбрать нужного пользователя (в данном примере
pamuser
). - Нажать кнопку "Сохранить".
- В режиме "Группы" войти в профиль группы, для которой задан доступ к приложению
- Проверить вход в Систему под учетной записью
pamuser
.
Настройка SSHD
Для настройки подключения по SSH с использованием PAM-модуля необходимо:
- Открыть конфигурационный файл SSH-сервера
/etc/pam.d/sshd
в текстовом редакторе:sudo nano /etc/pam.d/sshd
- Для корректной работы второго фактора (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
- Отредактировать файл
/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
- Установить параметр
http_only = true
в конфигурационном файле Avanpost FAM Serverconfig.toml
для корректной работы фактора TOTP.