[ ] [ Общие сведения ] [ Установка и настройка ] [ На стороне административной консоли Avanpost FAM Server ] [ Проверка установки ] [ Приложение А. Выпуск сертификата для проверки Рутокена ] [ Приложение B. Быстрое обновление ] [ Приложение C. Установка пакетов Рутокен ] [ Приложение D. Установка пакетов JaCarta ] [ Приложение E. Переключение интерфейса с flat-modern на fly-flat ] [ Приложение F. Добавление дополнительных типов модуля ]
Общие сведения
Компонент Avanpost FAM Linux Logon устанавливается локально для обеспечения:
- 2FA/MFA в ОС Linux в режиме графической оболочки;
- 2FA/MFA в ОС Linux в режиме консольного входа;
- 2FA/MFA в ОС Linux при подключении по SSH.
В текущей инструкции описывается настройка сценария входа в режиме графической оболочки. Для использования в других сценариях требуется выполнение настройки в соответствии с документацией механизма PAM Linux.
Требования к ПО:
- ОС:
– Astra Linux Орел 2.12 СЕ (доступ ко всем факторам, кроме Kerberos);
– Astra Linux SE 1.7.4 (в режиме графического интерфейса fly-flat);
– Astra Linux SE 1.7.5. - Avanpost FAM Server 1.8+.
Для установки и настройки Avanpost FAM Linux Logon в соответствии с текущей инструкцией необходимо выполнить следующие предварительные условия:
- Сетевое соединение: обеспечение доступа к сети для связи с сервером FAM.
Перед выполнением установки и настройки необходимо выполнить резервное копирование.
Установка и настройка
Все операции производятся под учетной записью суперпользователя (root)
Создать директорию, в которой будут содержаться все необходимые файлы для последующего копирования или установки:
mkdir /opt/pam
- Скачать архивы с файлами
pam_avanpost_mfa.so, pam_avanpost_mfa_base.so
иlibPluginTokens.so
по следующим ссылкам:
– fam-pam-linux/avanpost_mfa_pam-1.0.36-40.tar.gz
– PluginTokens/linux/plugin_tokens_1.0.39.linux.tar.gz
разархивировать и разместить файлы в директории/opt/pam.
Перенести файл
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
Открыть конфигурационный файл
/etc/pam.d/fly-dm
в текстовом редактореnano
и добавить следующую информацию о провайдере:#%PAM-1.0 auth [success=2] pam_avanpost_mfa.so debug grpc_address=192.168.1.45:9007 plugin_path=/usr/lib/avanpost_mfa/libPluginTokens.so device_lib_path=/usr/lib/librtpkcs11ecp.so create_user=yes default_user_group=avanpost,pamuser 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
Параметр Значение Пример grpc_address Адрес GRPC-сервера FAM. По умолчанию используется 9007 порт grpc_address=192.168.1.45:9007 plugin_path Путь до файла libPluginTokens.so. Может быть произвольным /usr/lib/avanpost_mfa/libPluginTokens.so device_lib_path Путь до драйвера токена. Необязательный параметр device_lib_path=/usr/lib/librtpkcs11ecp.so create_user Создание пользователя в процессе аутентификации в ОС create_user=yes default_user_group Назначение группы на уровне ОС при создании пользователя default_user_group=avanpost,pamuser - Для настройки подключения по SSH с использованием PAM-модуля необходимо:
a. Открыть конфигурационный файл SSH-сервера/etc/pam.d/sshd
в текстовом редактореnano
и продублировать следующую информацию о провайдере, указанную в пункте 5:b. Перейти в файлauth required pam_avanpost_mfa.so debug grpc_address=192.168.1.45:9007 plugin_path=/usr/lib/avanpost_mfa/libPluginTokens.so
/etc/ssh/sshd_config
и установитьyes
в значении параметраChallengeResponseAuthentication
для включения интерфейса PAM-модуля. - Для настройки подключения через консольный вход с использованием PAM-модуля необходимо открыть конфигурационный файл
/etc/pam.d/sshd
в текстовом редактореnano
и продублировать следующую информацию о провайдере, указанную в пункте 5:auth [success=2] pam_avanpost_mfa.so debug grpc_address=192.168.1.45:9007 plugin_path=/usr/lib/avanpost_mfa/libPluginTokens.so
- В некоторых ситуациях может потребоваться переключение интерфейса с
flat-modern
наfly-flat
(см. Приложение E); - Для установки дополнительных пакетов для JaCarta см. Приложение D;
Для установки дополнительных пакетов для Рутокен см. Приложение C;
- Для настройки альтернативных сценариев аутентификации см. Приложение F.
На стороне административной консоли Avanpost FAM Server
- Создать приложение с типом Desktop под именем "pam_fam", шаблон оставить пустым.
На вкладке "Настройки аутентификации"(MFA) задать факторы аутентификации приложения:
– на первом шаге: Password (Рисунок);
– на втором и последующих шагах установить нужный фактор аутентификации из списка.- На этапе завершения настройки установить флажок "Сделать приложение активным" и сохранить.
Проверка установки
- Создать учетную запись пользователя
pamuser
на уровне ОС. - Создать учетную запись
pamuser
в системе FAM с использованием пароля, заданного в п.1 текущего раздела инструкции. Предоставить доступ пользователю к приложениюpam_fam
. - Проверить вход в Систему под учетной записью
pamuser
.
Приложение А. Выпуск сертификата для проверки Рутокена
Все действия выполняются с подключенной смарт-картой Рутокен
#Операции по выпуску сертификата 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. Установка пакетов Рутокен
Для установки дополнительных пакетов для Рутокен:
Установить необходимые пакеты с помощью команды:
apt install libccid pcscd libpcsclite1 pcsc-tools opensc libengine-pkcs11-openssl
Дополнительная информация по установке пакетов и конфигурации доступна на странице https://wiki.astralinux.ru/pages/viewpage.action?pageId=32834416
- Загрузить deb-пакет с официального сайта Рутокен, расположенный по ссылке https://www.rutoken.ru/support/download/pkcs/ и скопировать его в директорию
/opt/pam.
Выполнить команду для установки deb-пакета из директории
/opt/pam
:apt install ./librtpkcs11ecp_*_amd64.deb
Произвести поиск файла
librtpkcs11ecp.so:
find /usr/lib /usr/lib64 -name librtpkcs11ecp.so
- Скопировать путь до найденного файла (например, /
usr/lib/librtpkcs11ecp.so
). - Отредактировать
/etc/pam.d/fly-dm
, указав путь до файлаlibrtpkcs11ecp.so
в параметреdevice_lib_path
.
- Произвести подключение токена к АРМ. Убедиться, что токен виден в системе командой
pcsc_scan
(Рисунок).
Приложение D. Установка пакетов JaCarta
Для установки дополнительных пакетов для JaCarta:
- Загрузить необходимый пакет с официального сайта разработчика https://www.aladdin-rd.ru/support/downloads/jacarta/
- Скопировать загруженный пакет в директорию
/opt/pam
. - Для установки пакета перейти в директорию
/opt/pam
и выполнить команду:./install.sh
- Произвести поиск файла
libjcPKCS11-2.so:
find /usr/lib /usr/lib64 -name libjcPKCS11-2.so
- Скопировать путь до найденного файла (например, /
usr/lib/
).libjcPKCS11-2
.so - Открыть файл
/etc/pam.d/fly-dm
и указать путь до файла libjcPKCS11-2.so в параметреdevice_lib_path
. Например:device_lib_path=/usr/lib/librtpkcs11ecp.so
Приложение E. Переключение интерфейса с flat-modern на fly-flat
Для переключения интерфейса с flat-modern
на fly-flat
необходимо:
- Установить пакет
fly-admin-dm
с помощью команды:sudo apt install fly-admin-dm
- Запустить утилиту
fly-admin-dm
с помощью команды:sudo fly-admin-dm
- В окне настройки графического входа перейти в раздел Темы и выбрать
fly-flat
(плоская тема) (Рисунок).
Приложение F. Добавление дополнительных типов модуля
Функциональность модуля имеет возможность настраивать альтернативные сценарии аутентификации. Для этого необходимо:
В административной консоли Avanpost FAM создать приложение с типом Agent (Рисунок), задать имя (например,
pam_fam_1
), шаблон оставить пустым.- На вкладке "Настройки аутентификации"(MFA) задать нужные факторы аутентификации приложения.
- На этапе завершения настройки установить флажок "Сделать приложение активным" и сохранить.
Открыть конфигурационный файл 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