Архитектура решения SAS
Функциональные характеристики, версия 1.4.

Архитектура решения Secure Authentication Server

Решение на базе SAS состоит из следующих частей (компонентов):

  • сервера (-ов) аутентификации;
  • сервера (-ов) баз данных;
  • узлов (агентов) аутентификации;
  • агента (-ов) LDAP;
  • планировщика(-ов) задач.

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

Модуль аутентификации

Отвечает за получение от узла аутентификации одноразового пароля (в том числе в сочетании с ПИН-кодом, если он задан), их проверку и отправку на узел результата этой проверки. Параметры из строки запроса передаются процессу сервера аутентификации, который в свою очередь обращается к базе данных. Поэтому нужно настроить подключение этого модуля к базе данных (т.е. создать учетную запись пользователя этой базы).


Проверка запроса на аутентификацию выполняется только на основании данных, которые хранятся в базе данных. Модуль аутентификации не кэширует никаких результатов вычислений и не хранит никаких предвычисленных значений. С одной стороны, это обеспечивает целостность данных, исключает необходимость синхронизации с другими экземплярами модулей аутентификации. С другой стороны, доступность и производительность аутентификации будет зависеть от работы базы данных.

Модуль (консоль) администрирования

Представляет собой веб-приложение для настройки и администрирования продукта. Консоль поддерживает последние версии всех современных веб-браузеров (Chrome, Edge, Firefox, Safari) для всех распространенных операционных систем (Windows, Linux, macOS, Android, iOS). Запросы от браузера обрабатываются модулем администрирования, данные загружаются из базы данных и записываются в нее. Для доступа к базе данных используется та же учетная запись, что и для модуля аутентификации.


Доступ к консоли происходит по протоколу HTTPS. Перед началом сеанса работы с консолью нужно аутентифицироваться в веб-форме входа. Данные из этой формы (адрес электронной формы в качестве идентификатора и комбинация ПИН-кода и OTP в качестве пароля) отправляются в модуль аутентификации SAS. Данные сеанса хранятся в cookie.

Модуль активации аутентификаторов

Нужен для того, чтобы пользователи могли активировать назначенные им аутентификаторы. Запрос на активацию приходит пользователю в виде одноразовой ссылки в сообщении электронной почты, и эта ссылка ведет на страницу активации. На этой странице пользователю нужно ввести серийный номер ключа (для аппаратных аутентификаторов) или отсканировать QR-код, в котором закодирован вектор инициализации (для программных аутентификаторов), после чего ввести одноразовый код с этого аутентификатора и установить его ПИН-код.


Если модуль активации расположен внутри периметра корпоративной сети, доступ к которой извне защищен с помощью этой же инсталляции SAS, то получается, что до активации своего первого аутентификатора пользователь за пределами периметра корпоративной сети не сможет пройти по ссылке на модуль активации. Поэтому нужно или размещать модуль активации за пределами периметра (в так называемой «демилитаризованной зоне», DMZ), либо пользователю придется активировать свой первый аутентификатор, находясь внутри периметра.

Модуль (портал) самообслуживания

Обеспечивает выполнение пользователями типовых операций с аутентификаторами: сброса забытых ПИН-кодов, синхронизации счетчиков между токеном и сервером (если они рассинхронизируются из-за случайных нажатий или дрейфа часов).

Работа с порталом ведется через веб-браузер. В процессе работы модуль обменивается данными с сервером баз данных.


Войти на портал активации можно с любым из действующих токенов или по временному 10-минутному коду, который высылается по запросу пользователя на адрес электронной почты, указанный в его учетной записи. Один и тот же экземпляр модуля поддерживает индивидуальные порталы для разных аккаунтов (виртуальных серверов).

Модуль планировщика задач

Для автоматического запуска некоторых периодических задач служит планировщик. Для каждого виртуального сервера в отдельности можно установить время (или периодичность – в зависимости от задачи) запуска. Это позволяет спланировать ресурсоемкие операции на периоды наименьшей загрузки решения.


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

  • автоматическое назначение и отзыв аутентификаторов;
  • уведомление пользователей о событиях (например, о необходимости смены ПИН-кода аутентификатора);
  • системные события.

Модуль синхронизации LDAP

Этот модуль сервера аутентификации отвечает за прием информации от агентов LDAP и запись ее в базу данных SAS. Модуль синхронизации может принимать информацию сразу для нескольких виртуальных серверов, в том числе и от нескольких агентов сразу (при условии, что все агенты имеют одинаковые настройки для одних и тех же виртуальных серверов).


Передача данных от агентов зашифрована с помощью SSL. Кроме того, для верификации агентов используется идентификатор и ключ (подпись): с их помощью модуль аутентификации может удостовериться, что поток данных идет от легитимных агентов.


Объекты, созданные посредством синхронизации, могут быть изменены только модулем синхронизации LDAP – в консоли администрирования они доступны только на чтение, и ни одно из синхронизированных свойств изменить нельзя.

Модуль отчетности

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


Предустановленные шаблоны отчетов могут быть кастомизированы путем установки различных фильтров для формирования выборки. Сформированные отчеты могут храниться как на самом сервере аутентификации, так и могут быть отправлены операторам системы на почту.

Агент LDAP (LSA)

Для извлечения информации из каталога LDAP используется агент синхронизации LDAP (LDAP Synchronization Agent, LSA). Этот агент периодически подключается к каталогу, скачивает из него нужные свойства выбранных для синхронизации объектов и сравнивает их со своей локальной базой данных (так называемым «срезом»), в которой хранится текущая информация о синхронизированных объектах в базе SAS.


Если с этими объектами произошли любые изменения (создание, удаление, модификация), то локальная база агента обновляется, и затем изменения в ней асинхронно отправляются в базу данных сервера аутентификации через модуль синхронизации LDAP. Такие события, как подключение к серверам каталога, ошибки при доступе к объектам LDAP и при записи их в базу данных SAS, регистрируются в локальном журнале LSA.


Для подключения к каталогу агент может использовать как базовый протокол LDAP, так и LDAP через SSL (LDAPS). По соображениям безопасности агент рекомендуется размещать в пределах общего с сервером каталогов корпоративного сетевого периметра.

Сервер базы данных

Хранит все данные и настройки продукта в таблицах реляционной базы данных, выполняет запросы на чтение и запись этих данных от любого из модулей решения. Хотя сама СУБД не входит в состав продукта Secure Authentication Server, от производительности и доступности сервера баз данных во многом зависят характеристики решения в целом.

Узлы аутентификации

Программные модули (агенты), которые выполняют роль посредника-шлюза между целевыми ресурсами (которые могут использовать разные способы интеграции) и модулем аутентификации (который использует свой Web API). Такой агент может быть встроен или в сам целевой ресурс, или в сервис централизованной аутентификации (единого входа), и от которых он получает имя пользователя и введенный им одноразовый пароль.


Узлами аутентификации могут быть:

  • Шлюз FreeRADIUS;
  • приложения со встроенным агентом.

Узел аутентификации отправляет указанные пользователем имя и одноразовый пароль на сервер аутентификации методом POST по протоколу HTTPS. Можно «привязать» узлы аутентификации к аккаунтам решения, указав IP-адреса, запросы от которых будут обрабатываться для пользователей из этого аккаунта.

Шлюз RADIUS (FRA)

Для интеграции целевых ресурсов с сервером аутентификации SAS по протоколу RADIUS используется агент (дополнительный модуль) для ПО FreeRADIUS. Этот агент вместе с сервером FreeRADIUS выполняет функцию шлюза, через который запросы от целевых ресурсов попадают к модулю аутентификации, а ответы от этого модуля – к целевым ресурсам.


При интеграции целевых ресурсов по протоколу RADIUS может потребоваться возвращать так называемые атрибуты RADIUS после успешной аутентификации пользователя. Эта возможность нужна для поддержки расширенных возможностей аутентификации и авторизации, например, динамических групп, членство в которых определяется значением возвращаемого атрибута.

Шлюз FreeRADIUS может работать в режиме миграции с поддержкой всех типов аутентификаторов. Данный механизм позволяет плавно выполнить перевод пользователей со стороннего сервера аутентификации на SAS.

Агент Web API

Целевой ресурс можно связать с SAS напрямую, добавив в программный код этого ресурса агент для работы с SAS. В этом случае приложение, которому нужно проверить введенный в него одноразовый пароль, будет вызывать агент, а тот – устанавливать с сервером аутентификации защищенное соединение и передавать по нему введенные пользователем данные для проверки. Такой способ интеграции подходит, если доступен исходный код приложения.


При таком способе интеграции необходимо учитывать, что приложение становится узлом аутентификации, и его IP-адрес нужно будет указывать в настройках аккаунтов.

Агент ADFS

Для интеграции целевых ресурсов с сервером аутентификации SAS по протоколу Microsoft ADFS используется агент ADFS. Этот агент интегрируется в сервис Microsoft Active Directory Federation Services как модуль расширения для организации двухфакторной аутентификации. Совместно с функционалом сервиса агент позволяет реализовывать механизм адаптивной аутентификации (определять условия, которых требуется двухфакторная аутентификация).

Вернуться к Оглавлению.