SSO — это уже настоящееТема единой однократной аутентификации в приложениях Single Sign-On (SSO) все больше переходит в практическую плоскость. Это объясняется вполне логичными факторами. Растет число автоматизируемых бизнес-процессов, в организациях появляется все больше информационных систем. При этом каждая такая система требует отдельной аутентификации, есть своя пара логин-пароль, которую нужно запомнить пользователю и вводить каждый раз при входе. Также возрастает нагрузка на ИТ-подразделения по обслуживанию такого числа учетных записей и паролей. Например, заявки по сбросу паролей являются одними из самых частых в Service Desk. Решить эти проблемы можно с применением продуктов класса SSO, которые обеспечат пользователю единый идентификатор для всех приложений и позволят пройти аутентификацию однократно, например, при входе в операционную систему. Во все остальные приложения, которые пользователь будет запускать далее, вход будет «прозрачный», то есть без ввода логина и пароля.
Технологии SSO Несмотря на такую единую пользовательскую логику SSO, сами технологии, реализуемые в продуктах данного класса, могут отличаться. Можно выделить два основных подхода в SSO-аутентификации:
- перехват окон аутентификации приложений и автоматическая подстановка логинов и паролей пользователя.
- единый сервис аутентификации для приложений, интегрированный с ними по стандартизованным протоколам.
Давайте разберем подробнее данные варианты технологий SSO.
Продукты, реализующие первый метод, имеют архитектуру, в состав которой входит агентское приложение. На компьютер пользователя устанавливается SSO-агент, который при запуске приложений пользователем перехватывает окно аутентификации, подставляет в него логин и пароль, если необходимо — дополнительные параметры, и выполняет соответствующий набор пользовательских действий, как правило, нажимает кнопку ОК. Все логины и пароли к приложениям хранятся в защищенном профиле пользователя, который периодически синхронизируется с сервером. Сервер в свою очередь может обновлять профили после смены паролей в информационных системах, либо это делает пользователь или администратор вручную. По сути такой метод аутентификации эмулирует действия пользователя по запоминанию логинов и паролей в разные приложения, их вводу в окна аутентификации и дальнейшего запуска приложения. Продукты, реализующие его, достаточно «коробочные», не требующие специальных знаний технического специалиста при внедрении. Тем не менее повышается сложность сопровождения, потому что у такой SSO-системы есть агентская часть. Класс продуктов, реализующих такой метод аутентификации, обычно называются корпоративное SSO или Enterprise SSO (ESSO). Во-первых, потому что в виду наличия агента продукты ESSO могут эффективно использоваться только для внутренних пользователей организации. Во-вторых, они больше подходят для «десктопных» приложений, то есть имеющих «толстый» клиент, которых было большинство в корпоративной ИТ-инфраструктуре при появлении первых SSO-решений.
В отличие от варианта перехвата окон приложений единый сервис аутентификации (так называемый Identity Provider или IDP) не требует установки агента. Основной его принцип Single Sign-On заключается в том, что он непосредственно выполняет функции по аутентификации пользователей для всех подключенных к нему приложений. А приложения, доверяющие сервису аутентификации, полностью делегируют ему решение этой задачи. При первом запуске приложения пользователь перенаправляется на страницу аутентификации централизованного SSO-сервиса, где он проходит аутентификацию с применением необходимой цепочки проверок. После аутентификации он возвращается в приложение с подтверждением, что он действительно тот, за кого себя выдаёт. После выполнения аутентификации пользователя в централизованном сервисе запоминается его сессия, и при повторном обращении к любому приложению, доступному пользователю и интегрированному с сервисом SSO, ему уже не потребуется повторно проходить процедуру входа. Для обеспечения такой прозрачной аутентификации в приложениях они, как правило, интегрируются с сервисом посредством стандартизованных протоколов таких как OpenID Connect и SAML. Преимущества данного метода — удобство сопровождения, так как технология безагентская и для всех приложений обеспечивается единый каталог сведений о пользователях, что значительно сокращает трудозатраты администраторов на обслуживание учетных записей. Основной недостаток в том, что на практике метод применим преимущественно для web-приложений. Поэтому чаще такой тип единой аутентификации называется Web SSO.
Использование SSO-продуктов, которые поддерживают только одну из представленных технологий, становится проблемой в современной корпоративной ИТ-инфраструктуре, где присутствуют оба типа приложений: с «толстым» (устанавливаемым на рабочем месте пользователя) и «тонким» (web-интерфейсом) клиентом. Конечно, все больше информационных систем переходит на web-архитектуру, но еще не скоро «десктопные» приложения без поддержки IDP полностью уйдут в прошлое. Внутрикорпоративные информационные технологии более консервативны по сравнению с внешними клиентскими сервисами, где уже давно полностью доминируют web-технологии.
Avanpost FAM Компания Аванпост, являясь лидером российского рынка в области управления доступом к информационным ресурсам и аутентификацией, имея богатый опыт разработки продуктов данного класса и реализации проектов, выпустила новый продукт Avanpost FAM. Avanpost FAM является уникальным продуктом класса SSO, подходящим для всех типов корпоративных приложений. Отличительной особенностью Avanpost FAM является поддержка обоих методов Single Sign-On, что позволяет обеспечить по-настоящему «бесшовную» единую однократную аутентификацию в смешанных ИТ-инфраструктурах, где есть приложения как с «толстым», так и с «тонким» клиентом, включая мобильные приложения.
Avanpost FAM одновременно поддерживает три технологии аутентификации:
1. Enterprise SSO (ESSO). Это реализация метода перехвата окон аутентификации и автоматической подстановки данных для аутентификации пользователя. Этот метод, как было описано выше, используется для «десктопных» приложений и при входе в операционную систему. Для работы в данном режиме Avanpost FAM использует агентское программное обеспечение, входящее в состав продукта.
2. IDP (Identity Provider). Данный режим работы используется для web-приложений, поддерживающих стандартизованные протоколы аутентификации: SAML 2.0, OpenID Connect/OpenID, а также другие протоколы на базе OAuth. Это наиболее эффективный и современный вариант единой и однократной аутентификации в приложениях из-за низких требований к аппаратной части сервиса и отсутствия в архитектуре IDP программного агента. Но его применение ограничено информационными системами, поддерживающими указанные протоколы. В данном режиме также можно обеспечить SSO-аутентификацию в облачных приложениях, которые стали активнее применяться для корпоративных целей. При использовании Avanpost FAM для облачных сервисов хранение учетных записей пользователя и его аутентификация будут осуществляться во внутреннем каталоге Avanpost FAM или интегрированном с ним корпоративном каталоге, а облачным приложениям будет передаваться только информация о допуске пользователя, прошедшего аутентификацию. Таким образом, при использовании облачной модели не будет снижена безопасность корпоративных данных для аутентификации.
3. Reverse Proxy. Данный метод аутентификации как и IDP применяется для web-приложений, но преимущественно для тех, которые не поддерживают протоколы аутентификации OIDC/SAML. При данном варианте SSO-сервис настраивается в качестве прокси-сервера перед web-приложением, получает все запросы от пользователей на доступ к приложениям, осуществляет аутентификацию и после успешной аутентификации подставляет необходимые атрибуты пользователя в запросах к приложению. Этот подход идейно близок к варианту ESSO, потому что тоже использует подстановку данных пользователя, но уже на уровне web-технологий. По сути, наличие данного метода аутентификации позволяет дополнить метод IDP, который является преимущественным, и покрыть таким образом все виды web-приложений в ИТ-инфраструктуре заказчика.
Avanpost FAM построен на современном технологическом стеке, позволяющем работать системе в высоконагруженных средах с минимальными требованиями к аппаратной части. Архитектура системы состоит из серверной части Avanpost FAM Server, агента Avanpost FAM Agent, администраторского и пользовательского web-приложений. Avanpost FAM является кросс-платформенной системой, поддерживает серверные операционные системы семейства Windows и Linux, технологии контейнеризации Docker, работает с современными высокопроизводительнымии масштабируемыми СУБД PostgreSQL и Tarantool. Использование открытых платформ немаловажно для заказчиков, которым актуальны требования по импортозамещению.
Многофакторная аутентификация Еще одна функциональность SSO, неотъемлемая практически для всех технологий и продуктов данного класса, но которую мы не затронули в начале статьи, — это поддержка многофакторной аутентификации. Преимущества единого и однократного входа в приложения, получаемые от применения SSO, могут сопровождаться определенными рисками информационной безопасности. Когда системы имеют высокую степень критичности обрабатываемой информации или к ним есть доступ из сети Интернет, единого логина и пароля для обеспечения необходимого уровня их защиты от несанкционированного доступа может быть недостаточно. В этом случае усилить процесс аутентификации можно с использованием нескольких факторов аутентификации. То есть кроме ввода логина и пароля нужно предъявить что-то еще для подтверждения подлинности пользователя. В качестве факторов аутентификации могут быть использованы физические факторы, обладанием которыми пользователь может подтвердить свою личность (аппаратные факторы), такие как USB-токены, смарт-карты или биометрия. Для аутентификации в web-приложениях применяются технологии одноразовых паролей и токенов FIDO U2 °F. В качестве дополнительного фактора аутентификации также могут быть использованы криптографические сертификаты.
Avanpost FAM поддерживает максимальное число факторов аутентификации. К ним относятся токены и смарт-карты от ведущих производителей, как ruToken, eToken, ESMART, JaCarta, MS_Key и другие. Для удобства пользователей могут использоваться такие факторы аутентификации, как отпечаток пальца или карта-пропуск с RFID-меткой (часто используются в СКУД), которую достаточно просто приложить к считывателю, подключенному к компьютеру. Одноразовые пароли являются самым популярным фактором для web-приложений и могут генерироваться как в мобильном приложении, так и высылаться по sms или электронной почте. В качестве фактора также могут использоваться сертификаты электронной подписи, применение которой сейчас активно развивается. При работе в инфраструктуре домена поддерживается аутентификация по Kerberos: в этом случае пользователю достаточно пройти доменную аутентификацию и затем можно получать доступ в приложениях, подключенных к Avanpost FAM, уже прозрачно. Стоит отдельно отметить возможность продукта использовать как для основной, так и дополнительной аутентификации, сторонние IDP, например, Google или ЕСИА (Госуслуги), а также любые другие доверенные источники.
Далеко не все приложения имеют одинаковую степень критичности информации, поэтому процесс аутентификации в них должен отличаться и быть усилен для «особых» информационных ресурсов. Avanpost FAM поддерживает механизм цепочек факторов аутентификации, который позволяет определить разные факторы для разных информационных систем. Например, в обычные приложения пользователь получает доступ по логину и паролю, но при входе в приложения с высокой критичностью информации у него может быть запрошен дополнительный фактор, к примеру, одноразовый пароль. Цепочка факторов аутентификации может зависеть от расположения пользователя относительно корпоративной сети (внутренний или внешний доступ), а также от характеристик устройства, с которого он получает доступ (доменный компьютер в сети, либо смартфон или личный ноутбук). Например, в пределах корпоративной сети пользователю для аутентификации достаточно ввести логин и пароль, но для внешнего доступа необходимо предъявить сертификат электронной подписи или для доступа с мобильного устройства — одноразовый пароль.
Сервисы самообслуживания Для удобства пользователей в архитектуре Avanpost FAM предусмотрено пользовательское приложение, предоставляющее доступ к личному кабинету и настройкам профиля пользователя. Основной особенностью личного кабинета является наличие каталога приложений, доступных пользователю. Приложения представлены в виде иконок, нажимая на которые пользователь может войти в соответствующее приложение, Avanpost FAM обеспечит ему прозрачную аутентификацию.
Используя личный кабинет Avanpost FAM, пользователь может управлять своими факторами аутентификации, например, менять свой пароль или PIN-коды usb-токенов и смарт-карт, и редактировать личные данные. Таким образом в границах, заданных администратором системы, пользователь может управлять параметрами безопасности своих учётных данных и приложений, тем самым снижая нагрузку на администраторов.
Также пользователю доступен функционал восстановления пароля до прохождения процедуры аутентификации. При восстановлении пароля пользователю приходит временная ссылка на его электронную почту, по который он может перейти на страницу создания нового пароля. Такой функционал значительно снижает нагрузку на службу Help Desk по сбросу паролей.
Федеративная аутентификация Особую актуальность решение Avanpost FAM приобретает в крупных холдинговых структурах, где в состав группы компаний может входить множество дочерних организаций со своей ИТ-инфраструктурой. Зачастую сквозные бизнес-процессы в таких холдингах предполагают необходимость доступа сотрудников «дочек» к информационным ресурсам друг друга, а также управляющей компании. В этом случае самый эффективный способ реализовать доступ пользователей к приложениям из разных сетей и каталогов — это федеративная аутентификация. Avanpost FAM позволит обеспечить прозрачную аутентификацию к информационным ресурсам партнерской и головной организации. Пользователю будет достаточно только пройти аутентификацию в корпоративном каталоге своей компании, во все остальные приложения как внутренние, так и внешние, к которым у него есть доступ, он будет входить прозрачно без повторной процедуры аутентификации. При этом для федеративной аутентификации не понадобится осуществлять донастройку корпоративных каталогов пользователей, эту задачу полностью решает Avanpost FAM.
Заключение Появление Avanpost FAM в портфеле продуктов компании Аванпост стало новой вехой стратегии развития компания на рынке Identity and Access Management. Текущие возможности продукта уже закрывают все потребности современных корпоративных ИТ-инфраструктур в части единой однократной аутентификации. Тем не менее функциональность продукта Avanpost FAM продолжит активно развиваться и будет соответствовать не только вызовам своего времени, но и будет формировать новые тренды в данной области.
Олег Губка, директор по развитию Аванпост