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

Avanpost FAM Server – основной компонент системы Avanpost FAM, который предоставляет потребителям услуги аутентификации, набор веб-сервисов и API для других компонентов системы.

Компонент обеспечивает решение следующих задач:

  • Хранение данных системы (в связке с БД в СУБД PostgreSQL);
  • Обработка всех запросов на аутентификацию как с использованием одного, так и нескольких факторов аутентификации;
  • Обработка фоновых задач и запросов (если для узла разрешается выполнение фоновых задач), включая cинхронизацию и интеграцию с LDAP-каталогами в рамках механизма интеграции с LDAP ;
  • Публикация интеграционного интерфейса OpenID Connect ;
  • Публикация интеграционного интерфейса SAML ;
  • Публикация интеграционного интерфейса RADIUS ;
  • Публикация интеграционного интерфейса gRPC ( компонент Linux Logon , компонент Windows Logon , компонент LDAP Proxy );
  • Публикация административной консоли (SPA-приложения adminconsole из состава системы);
  • Публикация личного кабинета (SPA-приложения lk-client из состава системы);

Системные требования

Установка компонента рекомендуется на следующих серверных операционных системах и платформах:

Платформа Операционная система Формат поставки Веб-сервер СУБД
Docker, Kubernetes, любая современная платформа виртуализации (VMWare VSphere 7+, Microsoft Hyper-V и т.д.) Oracle Linux 8, Oracle Linux 9 rpm-пакет, .tar.gz-архив Nginx 1.25
  • PostgreSQL 9.4, 9.5, 9.6, 10, 11, 12, 13;
  • PostgresPro Standard 9.5, 9.6, 10, 11, 12;
  • PostgresPro Enterprise 9.6, 10, 11, 12;
  • PostgresPro Certified;
  • PostgresPro Enterprise Certified.
CentOS 7, CentOS 8, CentOS Stream rpm-пакет, .tar.gz-архив
RHEL 7, RHEL 8 rpm-пакет, .tar.gz-архив
Альт (Alt) 8 СП Сервер, Альт Сервер 9, Альт Сервер 10 rpm-пакет, .tar.gz-архив
РедОС Сервер 7 rpm-пакет, .tar.gz-архив
Astra Linux 1.6 SE, Astra Linux 1.7 SE, Astra Linux 2.11 CE, Astra Linux 2.12 CE deb-пакет, .tar.gz-архив
Debian 11, Debian 12, Debian 13 deb-пакет, .tar.gz-архив

Архитектура

На схеме изображены возможные взаимодействия компонента Avanpost FAM Server c другими компонентами системы (нумерация списка соответствует нумерации стрелок на схеме):

  1. Передача запросов от пользователей и клиентских компонентов системы к Avanpost FAM Server;
  2. Отправка и обработка запросов на аутентификацию, направляемых в мобильное приложение Avanpost Authenticator;
  3. Выполнение подписи сообщений;
  4. Чтение и сохранение данных;
  5. Отправка запросов на аутентификацию со стороны Windows АРМ с установленным Avanpost FAM Windows Logon;
  6. Отправка запросов на аутентификацию со стороны Windows АРМ с установленным Avanpost FAM Agent для сценариев интеграции с Enterprise SSO-приложениями;
  7. Отправка запросов на аутентификацию со стороны Linux АРМ с установленным Avanpost FAM Linux Logon;
  8. Передача запросов на аутентификацию в мобильное приложение-аутентификатор Avanpost Authenticator через интернет/DMZ/сетевую инфраструктуру.
  9. Передача запросов на аутентификацию со стороны Avanpost FAM LDAP Proxy для сценариев интеграции приложений с поддержкой только LDAP-аутентификации.

В состав компонента Avanpost FAM Server входят следующие обязательные модули:

  • Avanpost FAM Server;
  • Nginx.

Допускается использование другого веб-сервера вместо Nginx при выполнении ручной настройки публикации веб-интерфейсов с учётом особенностей указанного веб-сервера.

Также для функционирования Avanpost FAM Server обязательно использование базы данных на основе СУБД PostgreSQL (компонент Avanpost FAM Database).

Дополнительно для выполнения отдельных операций может потребоваться использование в составе Avanpost FAM Server криптопровайдера, к примеру, КриптоПро CSP.

Сетевые взаимодействия

Варианты развёртывания

Базовое развёртывание

Выполняется в конфигурации одного узла.

Рекомендуется развёртывание с использованием как минимум 2 серверов/VM:

  • Сервер приложений;
  • Сервер БД.

Отказоустойчивое развёртывание

Описано в статье про развёртывание системы .

Безопасность

Шифрование секретов и одноразовых кодов

Для шифрования секретов используется алгоритм AES в режиме CBC с ключом длиной 512 бит.

Надёжно шифруется и хранится в зашифрованном виде следующая информация:

  • Пароли учётных записей, которые требуется хранить в обратимом виде для подстановки за пользователя в режимах Reverse Proxy и Enterprise SSO;
  • Секреты OpenID Connect-приложений;
  • Секреты для TOTP;
  • Разделяемые секреты RADIUS NAS;
  • Пароли технологических УЗ для подключения к LDAP-каталогам;
  • Одноразовые коды, используемые при отправке и временно хранимые в БД:
    • OTP в SMS;
    • OTP в E-mail;
    • одноразовые коды для Avanpost Authenticator;
    • OTP в push-оповещениях, отправляемые посредством мессенджера (Telegram).

Необратимое хеширование паролей пользователей

Для защиты основных паролей, которые хранятся в БД, а также секретов, для которых не требуется восстановление, по умолчанию используется необратимое хеширование при помощи алгоритма bcrypt со значением cost равным 10.