АНДРЕЙ БИРЮКОВ, специалист по информационной безопасности. Работает в крупном системном интеграторе. Занимается внедрением решений по защите корпоративных ресурсов
Обзор технологии Geneva
Построение распределенных гетерогенных систем
Построение распределенных гетерогенных систем на базе федеративных отношений – важная задача в крупных корпоративных сетях. Рассмотрим решение Microsoft Geneva Server.
Суть технологии
Современная корпоративная сеть может содержать десятки и даже сотни различных бизнес-приложений, каждое из которых, как правило, наделено встроенной системой аутентификации. Большинство из этих приложений можно интегрировать с каталогом LDAP и, в частности, со службой Active Directory. Возможность аутентификации через AD позволяет избавить пользователя от необходимости многократного ввода паролей при входе в различные приложения.
Однако нередко возникает необходимость в предоставлении доступа к корпоративным приложениям сторонних компаний (схема Business To Business, B2B). Более того, возможны ситуации, когда на стороне пользователя установлена операционная система, не принадлежащая к семейству Windows.
Если для небольших компаний это, как правило, не так актуально, то для организаций с численностью пользователей более 100 человек средство управления доступом просто необходимо, так как иначе существенная часть рабочего времени у системных администраторов будет уходить на решение проблем, связанных с доступом пользователей к приложениям. Например, сброс забытых паролей или разблокирование учетных записей после нескольких попыток некорректного входа.
Для решения задач управления доступом и идентификацией существует ряд приложений от различных производителей, представляющих собой единую точку входа (Single Sign On).
На практике это выглядит примерно так: вы один раз вводите свои учетные данные и затем получаете доступ ко всем приложениям без повторной авторизации, а система SSO осуществляет подстановку ваших учетных данных в приложение. При этом вы можете посещать как локальные ресурсы, так и веб-сайты, а также ресурсы компаний-партнеров, с которыми установлены доверительные отношения в рамках домена Active Directory.
Одним из продуктов по управлению идентификацией является решение компании Microsoft, которая выпустила вторую бета-версию системы Geneva. Данный продукт предназначен для контроля личности пользователей при регулировании доступа к приложениям и системам под названием Geneva Server. По информации разработчика, на более ранних стадиях этот проект носил кодовое наименование Zermatt (Церматт, известный курорт в Швейцарии на северном склоне г. Маттерхорн).
Технология Geneva – это один из важнейших компонентов для соединения службы каталогов Active Directory с другими платформами управления всеобщей идентификацией. По словам разработчиков, Geneva является открытой платформой, которая облегчает доступ пользователей к самым разным приложениям и системам, установленным в локальной сети или в так называемом облаке.
Облачные вычисления на сегодня – одно из наиболее перспективных направлений, разработкой приложений для которых сейчас занимается множество компаний, поэтому неудивительно, что Geneva поддерживает данную технологию.
Прежде чем приступить к описанию непосредственно технологии Geneva, мне хотелось бы рассказать о технологических решениях Microsoft, на основе которых построена система управления доступом.
Учетные данные, которые система управления доступом предоставляет приложению, это так называемый токен (Token), то есть набор байтов, в котором закодированы имя пользователя, группа, к которой он принадлежит, и другие сведения, необходимые приложению. Данный токен подписывается цифровой подписью администратора информационной безопасности, который отвечает за создание и контроль целостности токена.
Также система управления доступом использует службу Security Token Service (STS), которая осуществляет выпуск и отзыв токенов. Взаимодействие с STS проиллюстрировано на рис. 1.
Рисунок 1. Схема работы с STS
Архитектура и описание компонентов
Сегодня существует ряд открытых решений, позволяющих осуществлять взаимодействие с различными приложениями. Поэтому перед Microsoft стоит непростая задача, так как необходимо предложить решение для взаимодействия с различными приложениями, которое бы позволяло дорабатывать Microsoft Geneva для работы со специфичными приложениями.
Однако если Microsoft предложит удобный способ миграции на свою новую технологию, масштабы использования Geneva могут оказаться огромными – ведь с помощью Geneva пользователь сможет употреблять свой единый «паспорт» формата Windows LiveID для доступа к любым корпоративным приложениям и публичным системам как внутри сети, так и с домашнего компьютера или мобильного терминала.
По собственному опыту могу отметить, что для решений Single Sign On важнейшим элементом является возможность их доработки под конкретные приложения. Дело в том, что большинство решений по умолчанию поддерживают интеграцию с такими системами, как Active Directory, Lotus Domino, Novell EDirectory и другими широко распространенными приложениями. Но при этом в любой крупной организации всегда найдутся «самописные» программы, которые применяются только в данной организации, и требующие интеграции с SSO. Здесь и начинаются проблемы, потому что, как правило, «самописное» приложение не поддерживается. В таких случаях обычно разработчики предлагают осуществить интеграцию с требуемым приложением за дополнительную (немалую) плату. Это не всегда устраивает заказчиков, в результате продукты SSO не приобретаются. Поэтому Single Sign On решение должно не только поддерживать набор определенных приложений, но и включать в себя средства для интеграции с приложениями заказчика.
Для решения таких задач в Geneva Server Microsoft предлагает разработчикам технологию Geneva Framework для быстрого создания .NET-приложений, умеющих работать с «удостоверениями на предъявителя» (claims-based application), и вынесения механизмов идентификации пользователя за рамки приложений. Конечно, есть опасения, что данный Framework позволит интегрироваться далеко не со всеми приложениями в силу различных программных ограничений, традиционно используемых Microsoft.
Еще одним ключевым компонентом платформы Geneva является технология Windows CardSpace. Она управляет непосредственно пользователями и приложениями, с которыми устанавливается контакт. В дополнение к этому в платформе Geneva реализована поддержка протокола SAML 2.0 (Security Assertion Markup Language – язык, предназначенный для описания и разметки различных параметров безопасности и ограничения доступа) и общая модель идентификации пользователей, которые являются частью комплексного подхода к установлению и проверке личности пользователей.
Отдельно следует отметить тесную интеграцию с «облачными вычислениями». Для этого предназначена разработка Microsoft под названием Azure. К сожалению, этот продукт пока не вышел. Однако уже анонсирована тесная интеграция с «облачной» платформой Azure, которая вскоре позволит разработчикам создавать свои приложения, размещаемые в собственном или внешнем «облаке». В этом случае технология Geneva станет незаменимым инструментом для единой авторизации пользователей при доступе к любым локальным и «облачным» приложениям.
Пакет Geneva Server Beta 2 содержит семь новых функций. В частности, новая версия Geneva поддерживает единый механизм коллективной работы с документами в SharePoint 2007 – теперь пользователям не придется вводить массу дополнительных паролей при защищенном доступе к приложениям извне корпоративной сети. Также в новой версии появились шаблоны для среды разработки Visual Studio, которые предлагают разработчикам готовую логику безопасности, необходимые инструменты и компоненты для .NET-приложений.
Кроме того, в пакете Geneva Beta 2 разработчики и администраторы могут устанавливать «федеративные» отношения между Geneva Server и шлюзом Microsoft Federation Gateway одним щелчком мыши: в этом случае действие локальных удостоверений, созданных в Active Directory, можно распространить на «облачные» сервисы. Также Geneva Server Beta 2 предоставляет сквозное управление процессом выпуска, обращения и отзыва удостоверений. Если администратор создает такие удостоверения, то любой авторизованный пользователь автоматически получает клиентский модуль CardSpace при входе в «федеративное» приложение. Процесс загрузки CardSpace-клиента выполняется незаметно для пользователя, обеспечивая единую регистрацию для доступа ко всем разрешенным ресурсам.
Новая бета-версия Geneva Server поддерживает федеративные сервисы управления правами доступа. Новый механизм преобразования заявок авторизации в Geneva Server позволяет расширить перечень источников таких заявок на службу каталогов Active Directory, базы данных SQL и другие нестандартные хранилища атрибутов. Заключительным новшеством стала расширенная поддержка протокола SAML – теперь в Geneva Server реализованы механизмы WS-Trust и WS-Federation для согласования и обмена ключами в веб-сервисах.
Демонстрируя широкую совместимость со сторонними системами и приложениями, требующими надежной авторизации пользователей, компания Microsoft заявила о своих планах по тестированию Geneva Server вместе с такими продуктами, как CA Federation Manager, CA SiteMinder, Novell Access Manager, SAP NetWeaver, Sun OpenSSO Enterprise и Fedlet.
Сейчас компания SAP уже ведет тестирование SAML-ключей безопасности, которые генерирует Geneva Server, для установки соединений между веб-сервисами и .NET-приложениями.
Компании Novell, Sun и CA тоже предлагают возможности взаимодействия со своими системами для контроля идентификации и доступа с использованием протоколов SAML 2.0 и WS.
Ранее компания Microsoft сообщала о тесном сотрудничестве с разработчиками пакетов IBM Tivoli и Shibboleth для обеспечения их совместимости с Geneva Server.
Существующая реализация
Желающие развернуть и протестировать данную технологию могут скачать стенд, расположенный по адресу [1], состоящий из виртуальных машин, имитирующих рабочую среду, необходимую для Geneva Server. Правда, полный архив данного стенда имеет размер порядка 14 Гб и требует для запуска Hyper-V, что накладывает некоторые ограничения на тестирование в домашних условиях. По адресу [2] можно найти достаточно подробное, русскоязычное описание работы данного стенда и реализации взаимодействия Geneva и Sharepoint.
Если рассматривать вкратце то, реализацию виртуальной среды для Microsoft Geneva, то она состоит из двух доменов Active Directory (contoso.com и fabrikam.com), каждый из которых принадлежит отдельной организации. Между этими доменами установлен Federated Trust, также в Contoso развернут Sharepoint (см. рис. 2).
Рисунок 2. Схема взаимодействия
В результате развертывания данной виртуальной среды решаются следующие задачи:
- С помощью сервера Geneva обеспечивается ролевая и пользовательская аутентификация на сайте SharePoint внутри домена Contoso.
- Установлены доверительные отношения между двумя компаниями с помощью серверов Geneva и обеспечен аналогичный доступ некоторых сотрудников из Fabrikam.
- SQL Server используется в качестве альтернативного (по отношению к AD) хранилища информации о ролях и пользователях.
- Защита документов и библиотек в SharePoint с помощью Active Directory Rights Management Services.
При этом для входа в консоль Sharepoint можно будет использовать Windows Integrated Authentication. Хотя возможность использовать для входа в систему доменных учетных данных остается (см. рис. 3).
Рисунок 3. Аутентификация с использованием Geneva Server
Конечно, для подключения Single Sign On на основе Geneva необходимо выполнить ряд нетривиальных действий, однако единая точка входа позволяет существенно упростить работу как пользователям, так и системным администраторам.
***
В заключение хочу отметить, что новый продукт обладает большим количеством возможностей и будет весьма полезен для крупных компаний. Пока доступна только бета-версия данного продукта. По заявлениям разработчиков, финальную версию Geneva Server планируется выпустить до конца 2009 года.
Приложение
Кстати
Облачные вычисления (cloud computing, также используется термин «Облачная обработка данных») – технология обработки данных, в которой программное обеспечение предоставляется пользователю как интернет-сервис. Пользователь имеет доступ к собственным данным, но не может управлять и не должен заботиться об инфраструктуре, операционной системе и собственно программном обеспечении, с которым он работает.
- http://technet.microsoft.com/ru-ru/dd440951(en-us).aspx – виртуальные машины со стендом для Geneva Server (общий объем около 14 Гб).
- http://alexlomakin.spaces.live.com/blog/cns! FC35D86765D2ECDC! 256.entry – русскоязычная документация по развертыванию стенда Geneva Server.