Назначение
Secure Authentication Server (SAS) – это программный комплекс для аутентификации по одноразовым паролям и пуш-уведомлениям. Основная область его применения – централизованные решения для защиты доступа к корпоративным информационным ресурсам (устройствам и приложениям), таким, как серверы (шлюзы) VPN и RDP/VDI, веб-приложения, средства удаленного администрирования Linux (sudo, ssh и другие), средства управления привилегированным доступом (PAM), рабочие места пользователей с ОС Linux и Windows.
Аутентификация по одноразовым паролям и пуш-уведомлениям обеспечивает отличный баланс между сложностью/стоимостью решения, его стойкостью и удобству для пользователей. Она предоставляет широкий выбор форм-факторов аутентификаторов, которые к тому же являются бесконтактными (то есть не требуют установки считывателей и ПО для них на клиентские устройства), поэтому ими можно управлять централизованно.
Архитектура решения
Решение на базе SAS включает в себя один или несколько серверов аутентификации, базу данных, а также программные агенты, с помощью которых обеспечивается связь (интеграция) с целевыми (защищаемыми) информационными ресурсами, внешними каталогами учетных записей и системами регистрации событий. Поддерживаются разные способы (протоколы) интеграции с целевыми ресурсами (собственный Web API MFASOFT, RADIUS, LDAP(S), SAML, OpenID Connect, WS-Federation) – выбор зависит как от типа целевого ресурса, так и от возможностей конкретных версий ПО и моделей устройств.
Сервер аутентификации можно развернуть локально в своей корпоративной сети, на хостинге в коммерческом ЦОДе или подключиться к публичному облаку одного из сервис-провайдеров MFASOFT. При этом в корпоративной сети размещаются только агенты, а на устройства пользователей (кроме тех, вход в которые нужно защитить) ничего устанавливать не нужно. Это обеспечивает удобство и гибкость: пользователи могут работать с любых устройств и использовать те же самые способы входа.
Модули сервера аутентификации (SAS)
Сервер аутентификации поставляется в виде готового образа контейнеров Docker, что обеспечивает простоту и скорость развертывания, а также мультиплатформенность. Сервер состоит из нескольких независимых модулей, каждый из которых выполняет определенный набор функций:
  • модуль (ядро) аутентификации;
  • модуль (веб-консоль) администрирования;
  • модуль активации аутентификаторов;
  • модуль (портал) самообслуживания;
  • модуль поддержки работы мобильного приложения MFASOFT в режиме пуш;
  • модуль поддержки работы токенов Telegram в режиме пуш;
  • модуль настройки учетных записей для поддержки токенов Telegram;
  • модуль синхронизации LDAP;
  • модуль планировщика задач;
  • модуль API администрирования.
Эти модули можно запускать на разных машинах в любом сочетании – это упрощает настройку решения и устранение неисправностей, повышает стабильность работы и безопасность. Для маршрутизации запросов к модулям внутри контейнеров SAS используется обратный веб-прокси nginx.
Модуль аутентификации
Отвечает за получение от узла аутентификации одноразовых паролей (в том числе в сочетании с ПИН-кодами, если они заданы), их проверку и отправку узлу результатов этой проверки. Параметры из строки запроса от узла аутентификации передаются процессу сервера аутентификации, который в свою очередь обращается к базе данных. Поэтому нужно настроить подключение этого модуля к базе данных (т.е. создать учетную запись пользователя этой базы).
Проверка запроса на аутентификацию выполняется только на основании данных, которые хранятся в базе данных. Модуль аутентификации не кэширует никаких результатов вычислений и не хранит никаких предвычисленных значений. С одной стороны, это обеспечивает целостность данных, исключает необходимость синхронизации с другими экземплярами модулей аутентификации.
Модуль (веб-консоль) администрирования
Отвечает за получение от узла аутентификации одноразовых паролей (в том числе в сочетании с ПИН-кодами, если они заданы), их проверку и отправку узлу результатов этой проверки. Параметры из строки запроса от узла аутентификации передаются процессу сервера аутентификации, который в свою очередь обращается к базе данных. Поэтому нужно настроить подключение этого модуля к базе данных (т.е. создать учетную запись пользователя этой базы).
Проверка запроса на аутентификацию выполняется только на основании данных, которые хранятся в базе данных. Модуль аутентификации не кэширует никаких результатов вычислений и не хранит никаких предвычисленных значений. С одной стороны, это обеспечивает целостность данных, исключает необходимость синхронизации с другими экземплярами модулей аутентификации.
Агенты
В решении на базе SAS целевые ресурсы подключаются к модулю аутентификации через промежуточные узлы (агенты аутентификации). Такой агент может быть встроен или в сам целевой ресурс, или в сервис централизованной аутентификации, от которых этот агент получает имя пользователя и введенный им одноразовый пароль.
Узел аутентификации отправляет по Web API введенные пользователем учетные данные на модуль аутентификации методом POST по протоколу HTTPS. Можно «привязывать» разные узлы аутентификации к разным виртуальным серверам решения, указав IP-адреса, запросы от которых будут обрабатываться для пользователей из этого виртуального сервера.
Агент аутентификации может отправлять запросы к любому серверу аутентификации, где зарегистрирован (запущен) модуль аутентификации, тем самым обеспечиваются масштабируемость и отказоустойчивость функции аутентификации. В частности, можно использовать внешний веб-балансировщик или объединить серверы аутентификации в кластер с помощью соответствующей службы ОС. Серверы аутентификации не хранят никакой информации о статусе, поэтому «привязка» агента к конкретному серверу аутентификации не нужна.