Avanpost FAM/MFA+ : 4.4.5. Установка FAM Linux Logon в ALT Linux

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

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

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

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

  • ОС
    • Альт (Alt) 8 СП Сервер; 
    • Альт Сервер 9;
    • Альт Сервер 10;
  • Avanpost FAM Server 1.8+.

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

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

Важно

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

Установка на стороне рабочей станции под управлением ALT Linux

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

  1. Создать директорию, в которой будут содержаться все необходимые файлы для последующего копирования или установки:

    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.
    tar -C /opt/pam -xvzf /path_to_tar_file/avanpost_mfa_pam-1.0-60.tar.gz
  4. Перенести файл pam_avanpost_mfa.so в стандартную директорию pam-модулей в ОС. Также создать соответствующую директорию для файлов pam_avanpost_mfa_base.so и libPluginTokens.so.

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

    find / -name "pam_unix.so"


    Для 64-разрядных систем в названии директории будет присутствовать обозначение x86_64.

    Для 32-разрядных систем в названии директории будет присутствовать обозначение i386.

    Пример выполнения команды для переноса файлов:

    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

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

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

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

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

  1. Перед началом настройки рекомендуется сделать резервную копию конфигурационного файла PAM, например: 
    cp /etc/pam.d/system-auth /opt/pam/system-auth_backup
  2. При тестировании следует использовать для пользователя FAM и в ОС одинаковый пароль, а также предоставить ему доступ к приложению.  
  3. Журналы событий аутентификации ОС (/var/log/auth.log) и журналы безопасности при тестировании следует смотреть в консоли администратора.
    sudo tail -f /var/log/auth.log

Параметры 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Включение повышенного уровня логирования для отладки.

Настройка SSHD

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

  1. Открыть конфигурационный файл SSH-сервера /etc/pam.d/openssh/sshd_config в текстовом редакторе:
    sudo nano /etc/pam.d/openssh/sshd_config
  2. 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
    Строку @include common-auth закомментировать, добавить в начало файла следующую строку с информацией о провайдере:

Настройка графического интерфейса

  1. Необходимо сделать резервную копию файла /etc/pam.d/system-auth-common  при помощи команды:
    sudo cp /etc/pam.d/system-auth-common /opt/pam/system-auth-common2
  2. Для открытия файла для редактирования следует выполнить следующую команду:
    sudo vi /etc/pam.d/system-auth-common

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

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

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

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

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

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

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

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

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

  1. Создать учетную запись пользователя в системе FAM с использованием пароля, заданного в п.1 текущего раздела инструкции.
  2. Предоставить доступ пользователю к созданному Linux Logon-приложению (добавить пользователя в группу, которой назначено приложение). 
  3. Проверить вход в Avanpost FAM, используя учетные данные пользователя.

риложение А. Выпуск сертификата для проверки Рутокена

Все действия выполняются с подключенной смарт-картой Рутокен

#Операции по выпуску сертификата
openssl req -newkey rsa:2048 -new -nodes -x509 -days 11111 -keyout key.pem -out cert.pem
openssl x509 -in cert.pem -out cert.crt -outform DER
openssl rsa -inform pem -in key.pem -outform der -out key.der


#Операции по записи приватного ключа и сертификата на токен
pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -l -y privkey -w key.der --id 10 --label Rutoken1
pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -l -y cert -w cert.crt --id 10 --label Rutoken1

#Просмотр сертификата для копирования в карточку пользователя FAM
cat cert.pem

Приложение B. Быстрое обновление

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

sudo rm /usr/lib/avanpost_mfa/pam_avanpost_mfa_base.so && sudo rm /lib/x86_64-linux-gnu/security/pam_avanpost_mfa.so && sudo cp /opt/pam/pam_avanpost_mfa.so /lib/x86_64-linux-gnu/security/ && sudo cp /opt/pam/pam_avanpost_mfa_base.so /usr/lib/avanpost_mfa/

Приложение C. Установка пакетов Рутокен 

Для установки дополнительных пакетов для Рутокен требуется:

  1. Установить необходимые пакеты с помощью команды:

    apt install libccid pcscd libpcsclite1 pcsc-tools opensc libengine-pkcs11-openssl

    Дополнительная информация по установке пакетов и конфигурации доступна на странице https://wiki.astralinux.ru/pages/viewpage.action?pageId=32834416.

  2. Загрузить deb-пакет с официального сайта Рутокен, расположенный по ссылке https://www.rutoken.ru/support/download/pkcs/ и скопировать его в директорию /opt/pam.
  3. Выполнить команду для установки deb-пакета из директории /opt/pam:

     apt install ./librtpkcs11ecp_*_amd64.deb
  4. Произвести поиск файла librtpkcs11ecp.so:

    find /usr/lib /usr/lib64 -name librtpkcs11ecp.so
  5. Скопировать путь до найденного файла.
  6. Открыть файл /etc/pam.d/system-auth-common и указать путь до файла librtpkcs11ecp.so в параметре device_lib_path.
  7. Произвести подключение токена к АРМ. Убедиться, что токен виден в системе командой pcsc_scan.

Приложение D.  Установка пакетов JaCarta 

Для установки дополнительных пакетов для JaCarta:

  1. Загрузить необходимый пакет с официального сайта разработчика https://www.aladdin-rd.ru/support/downloads/jacarta/
  2. Скопировать загруженный пакет в директорию /opt/pam.
  3. Для установки пакета перейти в директорию /opt/pam и выполнить команду:
    ./install.sh
  4. Произвести поиск файла libjcPKCS11-2.so:
    find /usr/lib /usr/lib64 -name libjcPKCS11-2.so
  5. Скопировать путь до найденного файла (например, /usr/lib/libjcPKCS11-2.so).
  6. Открыть файл /etc/pam.d/system-auth-common и указать путь до файла libjcPKCS11-2.so в параметре device_lib_path. Например: 
    device_lib_path=/usr/lib/librtpkcs11ecp.so

Приложение E. Добавление дополнительных типов модуля 

Функциональность модуля имеет возможность настраивать альтернативные сценарии аутентификации. Для этого необходимо:

  1. В административной консоли Avanpost FAM создать приложение с типом Agent, задать имя (например, pam_fam_1), шаблон оставить пустым.

  2. На вкладке "Настройки аутентификации"(MFA) задать нужные факторы аутентификации приложения.
  3. На этапе завершения настройки установить флажок "Сделать приложение активным" и сохранить.
  4. Открыть конфигурационный файл PAM, расположенный по пути /etc/pam.d/* и отредактировать, добавив следующую строку с настройками сценария аутентификации:

    auth [success=2] pam_avanpost_mfa.so debug grpc_address=192.168.1.45:9007 app_name=pam_fam_1 plugin_path=/usr/lib/avanpost_mfa/libPluginTokens.so device_lib_path=/opt/aktivco/rutokenecp/amd64/librtpkcs11ecp.so
    grpc_addressАдрес GRPC-сервера FAM. По умолчанию используется 9007 портgrpc_address=192.168.1.45:9007

    app_name

    Имя созданного приложения

    Имя приложения должно совпадать с тем, что было задано в административной консоли Avanpost FAM на шаге 1 текущей инструкции


    app_name=pam_fam_1

    plugin_path

    Путь до файла libPluginTokens.so. Может быть произвольным

    plugin_path=/usr/lib/avanpost_mfa/libPluginTokens.so
    device_lib_path

    Путь до драйвера токена

    device_lib_path=/opt/aktivco/rutokenecp/amd64/librtpkcs11ecp.so

Обсуждение