Общие сведения
Компонент 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).
Создать директорию, в которой будут содержаться все необходимые файлы для последующего копирования или установки:
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.
tar -C /opt/pam -xvzf /path_to_tar_file/avanpost_mfa_pam-1.0-60.tar.gz
Перенести файл 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)
При первичной наладки модуля рекомендуется производить следующие действия:
- Перед началом настройки рекомендуется сделать резервную копию конфигурационного файла PAM, например:
cp /etc/pam.d/system-auth /opt/pam/system-auth_backup
- При тестировании следует использовать для пользователя FAM и в ОС одинаковый пароль, а также предоставить ему доступ к приложению.
- Журналы событий аутентификации ОС (/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. |
|
debug | Включение повышенного уровня логирования для отладки. |
Настройка SSHD
Для настройки подключения по SSH с использованием PAM-модуля необходимо:
- Открыть конфигурационный файл SSH-сервера
/etc/pam.d/openssh/sshd_config
в текстовом редакторе:sudo nano /etc/pam.d/openssh/sshd_config
- Строку @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
Настройка графического интерфейса
- Необходимо сделать резервную копию файла /etc/pam.d/system-auth-common при помощи команды:
sudo cp /etc/pam.d/system-auth-common /opt/pam/system-auth-common2
- Для открытия файла для редактирования следует выполнить следующую команду:
sudo vi /etc/pam.d/system-auth-common
Настройка компонента на стороне Avanpost FAM Server
Настройка компонента в интерфейсе административной консоли Avanpost FAM Server осуществляется в следующей последовательности:
- Зайти во вкладку создания приложения, нажав кнопку "Добавить приложение" в сервисе "Приложения".
- На этапе "Основные настройки" требуется ввести наименование и выбрать тип Linux Logon (более подробно процесс создания и управления приложениями описан в разделах Управление приложениями и Управление Linux Logon-приложениями).
Наименование создаваемого приложения типа Linux Logon не должно содержать пробелов (например,
sshd_pam_1
). - На этапе "Настройки аутентификации" выбрать факторы аутентификации приложения, установив переключатели напротив тех или иных факторов (более подробно описано в Шаг 2. Настройки аутентификации для Linux Logon-приложения).
- На первом шаге рекомендуется установить вход по паролю: установить переключатель в строке Password в положение "Активно" ().
- На последующих шагах установить дополнительные факторы аутентификации.
На этапе завершения настройки установить флажок "Сделать приложение активным" и сохранить (более подробно описано в Шаг 3. Завершение для Linux Logon-приложения).
Создать новую группу. Для этого необходимо нажать кнопку "Добавить группу" в режиме "Группы" и в открывшейся вкладке ввести запрашиваемые параметры (более подробно в Добавление новых групп).
Добавить в группу пользователей, которые будут аутентифицироваться в настроенных приложениях. Ручное добавление пользователей администратором реализуется в профиле группы. Также доступ пользователя к группам и ролям допускается редактировать в УЗ пользователя.
Назначить ранее созданное Linux Logon-приложение в данную группу. Для этого в профиле группы во вкладке "Приложения" созданной группы установить переключатель в положение "Активно" () напротив созданных приложений.
Проверка установки
- Создать учетную запись пользователя в системе FAM с использованием пароля, заданного в п.1 текущего раздела инструкции.
- Предоставить доступ пользователю к созданному Linux Logon-приложению (добавить пользователя в группу, которой назначено приложение).
- Проверить вход в 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. Установка пакетов Рутокен
Для установки дополнительных пакетов для Рутокен требуется:
Установить необходимые пакеты с помощью команды:
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
- Скопировать путь до найденного файла.
- Открыть файл
/etc/pam.d/system-auth-common
и указать путь до файла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/system-auth-common
и указать путь до файла libjcPKCS11-2.so в параметреdevice_lib_path
. Например:device_lib_path=/usr/lib/librtpkcs11ecp.so
Приложение E. Добавление дополнительных типов модуля
Функциональность модуля имеет возможность настраивать альтернативные сценарии аутентификации. Для этого необходимо:
В административной консоли 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