[ ] [ Общие сведения ] [ Установка на стороне рабочей станции ] [ Активация PAM-модуля ] [ Настройка SSHD ] [ Настройка компонента на стороне Avanpost FAM Server ] [ Настройка работы с аппаратными токенами ] [ Первоначальная отладка и настройка ] [ Настройка смены пароля ] [ Приложение А. Пример настройки конфигурационного файла ] [ Приложение Б. Настройка автоматической передачи сессии в Avanpost FAM Agent ] [ Приложение В. Настройка входа через графическую оболочку ] [ Приложение Г. Настройка XRDP для Astra Linux ]
Общие сведения
Компонент Avanpost FAM Linux Logon реализован в виде PAM-модуля и предназначен для обеспечения:
- 2FA/MFA в ОС Linux в режиме графической оболочки;
- 2FA/MFA в ОС Linux в режиме консольного входа;
- 2FA/MFA в ОС Linux при подключении по SSH.
Перед выполнением установки и настройки рекомендуется создать резервную копию конфигурационных файлов PAM и убедиться в наличии сетевого доступа к серверу Avanpost FAM (порт gRPC по умолчанию — 9007/TCP). Ошибки в конфигурации PAM могут привести к невозможности входа в систему. До завершения проверки установки не следует закрывать открытую сессию суперпользователя. При этом необходимо обеспечить резервный доступ к машине (например, через консоль гипервизора). Настройку рекомендуется предварительно отрабатывать на тестовой машине.
Требования к ПО
- Операционная система:
- Astra Linux Орёл 2.12 СЕ / SE 1.7.4 / SE 1.7.5;
- Debian;
- Ubuntu;
- Avanpost FAM Server 1.8+.
Установка на стороне рабочей станции
Все операции производятся под учетной записью суперпользователя.
Установка и настройка на стороне рабочей станции необходимо выполнять следующим образом:
- Скачать deb-пакет компонента с именем вида посредством команды (X, Y, Z – версия компонента, N – номер сборки компонента):
pam_avanpost.X.Y.Z-N.deb
- Запустить установку от имени суперпользователя:
sudo dpkg -i pam_avanpost.X.Y.Z-N.deb
Установка PAM-модуля выполняется в
/usr/local/lib/.Файл конфигурации
pam_avanpost.confкопируется в /etc/security/ (если такой файл уже существует, копирование не выполняется). - Открыть конфигурационный файл
pam_avanpost.conf, расположенный по пути:/etc/security/pam_avanpost.conf
- Настроить конфигурационный файл в соответствии с таблицей.
Параметр Значение Пример ConnectIP-адрес Avanpost FAM Server и gRPC-порт (стандартный gRPC-порт для Credential Provider – 9007 TCP).
Настройка gRPC-порта выполняется на стороне FAM Server (более подробно в статье Настройка gRPC).
192.168.1.10:9007LogАдрес (путь к директории) для сохранения файла логирования. /var/log/LogLevelУровень детализации логирования (более подробно о логировании в статье Управление логированием). Доступны следующие уровни:
- ERROR – отображаются только ошибки;
- INFO – отображается информация об общем ходе работы и ошибки (установлена по умолчанию);
- DEBUG – отображается информация об общем ходе работы, фиксация ошибок, а также детальная информация для разработчика.
DEBUGFlagsФлаги для настройки дополнительных параметров работы модуля:
- OFFLINE_ENABLE – включение offline-входа в систему при отсутствии соединения с FAM Server (при значении параметра true).
falseSslTargetNameИмя хоста из TLS-сертификата сервера (при использовании TLS-шифрования). fam.example.comCAПуть и наименование файла корневого сертификата (при использовании TLS-шифрования). /etc/ssl/certs/fam-ca.pemAppNameНаименование Linux Logon-приложения, настроенного на стороне Avanpost FAM (по умолчанию используется pam_fam).sshd_pam_famTimeoutВремя ожидания ответа для сервера (по умолчанию 45 секунд). 60[Plugin]
(секция настроек внешних плагинов для работы с криптографическими устройствами)
ModuleПолный путь к плагину, включая имя плагина с расширением *.dll (предварительно скачивается дистрибутив с плагином).
PluginTokens_64.dllInitПараметр, указывающий строку инициализации для загружаемого плагина. Определяет, какое криптографическое устройство или библиотека PKCS#11 будет использоваться.
В качестве значения параметра может передаваться одно из двух значений:
- имя поддерживаемого устройства (например,
ETOKEN,RUTOKEN,RUTOKEN_ECP) – выполняется автоматический поиск соответствующей PKCS#11-библиотеки; - полный путь к файлу PKCS#11-библиотеки – используется при необходимости явного указания расположения библиотеки.
Рекомендуется в качестве значения параметра указывать имя поддерживаемого устройства (например,
Init=RUTOKEN) для минимизации риска ошибки.ETOKENModelМодель используемого устройства, с которым должен работать плагин. Допускается указание нескольких моделей через запятую.
JaCarta Laser,Rutoken ECP
Активация PAM-модуля
- Для активации модуля требуется отредактировать соответствующий файл в
/etc/pam.d/(например,common-auth,sshd,system-authи т.д.) и добавить перед строкойpam_unix.soследующую строку:auth requisite pam_avanpost.so
- Для работы второго фактора (Access-Challenge) в SSH необходимо в файле
/etc/ssh/sshd_configустановить значение параметраChallengeResponseAuthentication:ChallengeResponseAuthentication yes
Настройка SSHD
Для настройки подключения по SSH с использованием PAM-модуля необходимо:
- Открыть конфигурационный файл SSH-сервера
/etc/pam.d/sshdв текстовом редакторе:sudo nano /etc/pam.d/sshd
- Строку @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 осуществляется в следующей последовательности:
- Зайти во вкладку создания приложения, нажав кнопку "Добавить приложение" в сервисе "Приложения".
- На этапе "Основные настройки" требуется ввести наименование и выбрать тип Linux Logon (более подробно процесс создания и управления приложениями описан в разделах Управление приложениями и Управление Linux Logon-приложениями).
Наименование создаваемого приложения типа Linux Logon не должно содержать пробелов (например,
sshd_pam_1). - На этапе "Настройки аутентификации" выбрать факторы аутентификации приложения, установив переключатели напротив тех или иных факторов (более подробно описано в Шаг 2. Настройки аутентификации для Linux Logon-приложения).
- На первом шаге рекомендуется установить вход по паролю: установить переключатель в строке Password в положение "Активно" ().
- На последующих шагах установить дополнительные факторы аутентификации.
На этапе завершения настройки установить флажок "Сделать приложение активным" и сохранить (более подробно описано в Шаг 3. Завершение для Linux Logon-приложения).
Создать новую группу. Для этого необходимо нажать кнопку "Добавить группу" в режиме "Группы" и в открывшейся вкладке ввести запрашиваемые параметры (более подробно в Добавление новых групп).
Добавить в группу пользователей, которые будут аутентифицироваться в настроенных приложениях. Ручное добавление пользователей администратором реализуется в профиле группы. Также доступ пользователя к группам и ролям допускается редактировать в УЗ пользователя.
Назначить ранее созданное Linux Logon-приложение в данную группу. Для этого в профиле группы во вкладке "Приложения" созданной группы установить переключатель в положение "Активно" () напротив созданных приложений.
Настройка работы с аппаратными токенами
Для использования hardware-аутентификации при помощи криптографических устройств в Avanpost Linux Logon реализована поддержка токенов через внешние плагины (библиотеки PKCS#11). Настройка использования токенов выполняется следующим образом:
- Установить драйверы токена (например,
librtpkcs11ecp.soдля Рутокен илиlibjcPKCS11-2.soдля JaCarta). - Загрузить дистрибутивы с плагинами.
- Настроить конфигурационный файл Avanpost Linux Logon, раздел
[plugin].
Первоначальная отладка и настройка
Для проверки корректности установки PAM-модуля требуется выполнить следующие действия:
- Создать учетную запись пользователя
pamuserна рабочей станции и задать пароль. - Создать учетную запись
pamuserна стороне Avanpost FAM с использованием пароля, заданного на предыдущем шаге (особенности процесса создания пользователя описаны в Добавление пользователей и атрибутов вручную):- Нажать кнопку "Добавить пользователя" в режиме "Пользователи" административной консоли Avanpost FAM.
- Ввести значения основных атрибутов, включая логин -
pamuser. Выключить флаг в чекбоксе "Отправить приветствие со ссылкой для смены пароля", ввести и подтвердить пароль, заданный для пользователя в ОС на рабочей станции.
Нажать кнопку "Сохранить".
- Предоставить доступ пользователю к созданному ранее Linux Logon-приложению (в данном примере
pam_fam).- В режиме "Группы" войти в профиль группы, для которой задан доступ к приложению
pam_fam(если такая группа отсутствует, создать новую группу и назначить ей приложениеpam_fam,пользуясь статьей Добавление новых групп в разделе Управление доступом). - Нажать кнопку "Добавить пользователей", найти и выбрать нужного пользователя (в данном примере
pamuser). - Нажать кнопку "Сохранить".
- В режиме "Группы" войти в профиль группы, для которой задан доступ к приложению
- Инициировать вход в операционную систему под учетной записью
pamuser(локально, посредством SSH или через графический интерфейс). - Убедиться, что запрашиваются факторы в соответствии с настроенным сценарием аутентификации.
В процессе проверки и отладки PAM-модуля рекомендуется использовать системные журналы аутентификации в реальном времени:
sudo tail -f /var/log/auth.log
sudo journalctl -u sshd -f
Настройка смены пароля
Для интегрирует с процессом смены/проверки паролей на стороне FAM Server следует.
- Открыть файл /etc/pam.d/common-password.
- Ввести следующую строку:
password requisite pam_avanpost.so
- Сохранить изменения и закрыть файл.
- Убедиться в корректности работы механизма (например, ввести команду
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. Для этого требуется выполнить следующие действия:
- Убедиться, что выполнены следующие требования:
- Установлен и корректно настроен Avanpost FAM Agent, при помощи которого выполняется успешная аутентификация в личном кабинете на стороне FAM Server.
- Установлен и корректно настроен FAM Linux Logon в соответствии с текущей инструкцией.
- Имя пользователя на стороне рабочей станции соответствует логину пользователя на стороне FAM Server.
- Выполнить перезагрузку рабочей станции пользователя.
- Пройти аутентификацию посредством FAM Linux Logon.
- Запустить Avanpost FAM Agent и войти в личный кабинет на стороне FAM Server.
- Убедиться, что вход выполняется бесшовно без запроса дополнительных факторов аутентификации.
Приложение В. Настройка входа через графическую оболочку
Настройку системы управления графическим входом fly-dm выполнять следующим образом:
- Сделать резервную копию файла /etc/pam.d/fly-dm при помощи команды:
sudo cp /etc/pam.d/fly-dm /opt/pam/fly-dm2
- Открыть файл fly-dm для редактирования:
sudo vi /etc/pam.d/fly-dm
- Привести файл fly-dm к следующему виду:
- Для версии Astra Linux 2.* следует привести файл к указанному виду (рекомендуется указать для параметра grpc_address=10.0.2.4:9007 IP-адрес и порт используемого GRPC-сервера):
#%PAM-1.0 auth requisite pam_avanpost_mfa.so debug config_file=/etc/security/pam_avanpost.conf auth requisite pam_nologin.so auth required pam_env.so readenv=1 auth required pam_env.so readenv=1 envfile=/etc/default/locale #@include common-auth session required pam_limits.so session required pam_loginuid.so @include common-account @include common-session @include common-password
- Для версий Astra Linux 1.7.* следует привести файл к указанному виду (рекомендуется указать для параметра grpc_address=10.0.2.4:9007 IP-адрес и порт используемого GRPC-сервера):
#%PAM-1.0 auth required pam_parsec_mac.so auth requisite pam_avanpost_mfa.so debug config_file=/etc/security/pam_avanpost.conf default_user_group=avanpost auth requisite pam_nologin.so auth required pam_env.so readenv=1 auth required pam_env.so readenv=1 envfile=/etc/default/locale #@include common-auth -auth optional pam_gnome_keyring.so -auth optional pam_kwallet5.so session required pam_parsec_mac.so unshare_root_only session required pam_limits.so session required pam_loginuid.so @include common-account account required pam_parsec_mac.so labelselect=appset @include common-session session required pam_parsec_cap.so session required pam_parsec_aud.so session required pam_parsec_mac.so -session optional pam_gnome_keyring.so auto_start -session optional pam_kwallet5.so auto_start @include common-password
- Для версии Astra Linux 2.* следует привести файл к указанному виду (рекомендуется указать для параметра grpc_address=10.0.2.4:9007 IP-адрес и порт используемого GRPC-сервера):
Приложение Г. Настройка XRDP для Astra Linux
Настройка данной утилиты позволяет на ОС, отличных от разработанных Microsoft, реализовать функциональность подключения из Windows к компьютерам под управлением ОС на базе *nix.
XRDP не поддерживает Access-Challenge, поэтому для использования в качестве второго фактора будут доступны только Telegram и Avanpost Authenticator.
Для настройки XRDP необходимо выполнить следующие действия:
- Отредактировать файл
/etc/pam.d/xrdp-sesman, используя команду:sudo vi /etc/pam.d/xrdp-sesman
- В зависимости от используемой ОС привести файл к тому или иному виду:
- Для версий Astra Linux 2.* следует привести файл к данному виду (указать для параметра grpc_address=10.0.2.4:9007 IP-адрес и порт используемого GRPC-сервера):
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 #@include common-auth @include common-account @include common-session @include common-password
- Для версий Astra Linux 1.7.* следует привести файл к данному виду (указать для параметра grpc_address=10.0.2.4:9007 IP-адрес и порт используемого GRPC-сервера):
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 #@include common-auth @include common-account @include common-session session required pam_parsec_cap.so session required pam_parsec_aud.so session required pam_parsec_mac.so stub @include common-password
- Для версий Astra Linux 2.* следует привести файл к данному виду (указать для параметра grpc_address=10.0.2.4:9007 IP-адрес и порт используемого GRPC-сервера):