1А.Е. Сатунина, А.С. Сысоев
ПОДХОД К ПРОЕКТИРОВАНИЮ БЕЗОПАСНОСТИ В СЕРВИС-ОРИЕНТИРОВАННЫХ АРХИТЕКТУРАХ
Статья посвящена проблемам обеспечения безопасности функционирования корпоративных информационных систем (КИС) сервис-ориентированной архитектуры (СОА). Рассматриваются подходы к обеспечению безопасности как отдельного вида ИТ-сервиса КИС, обусловленные особенностями информационных систем сервис-ориентированной архитектуры. Перечислены и охарактеризованы процессы обеспечения информационной безопасности, требующие системного анализа и оценок взаимосвязей с другими ИТ-сервисами КИС на всех стадиях жизненного цикла.
Ключевые слова: безопасность корпоративной информационной системы, сервис-ориентированная архитектура (СОА), ИТ-услуги, безопасность в СОА-системах, безопасное управление инфраструктурой, безопасность взаимосвязей между ИТ-сервисами, управление безопасностью.
Одной из актуальных проблем внедрения и функционирования современных корпоративных информационных систем на предприятиях является обеспечение непрерывности бизнеса. Управление непрерывностью бизнеса становится одной из важных задач функционирования корпоративных информационных систем предприятий (КИС)1. Современная среда бизнеса - это динамически изменяющаяся среда, поэтому эффективность деятельности предприятий все в большей степени зависит от скорости реакции на изменения требований.
При использовании традиционного подхода к проектированию бизнес-процессов для каждого элемента организационной системы, функционирующего изолированно, строятся модели бизнес-процессов с описанием используемых на каждом шаге ИТ-приложений. При этом каждый бизнес-процесс имеет свои собственные компоненты, реализующие определенные бизнес-действия, которые зачас-
© Сатунина А.Е., Сысоев А.С., 2010 280
тую совершенно невозможно использовать с небольшими изменениями в других бизнес-процессах и организационных элементах.
В КИС предприятий сервис-ориентированной архитектуры2 прикладные задачи (функции) предприятия, подлежащие автоматизации, преобразуются в совокупность бизнес-процессов, а бизнес-процессы в свою очередь - в сервисы (ИТ-услуги, которые призвана оказывать создаваемая корпоративная информационная система). Каждый сервис имеет своего заказчика и поставщика и может планироваться и управляться. Выделенные сервисы включают определенные бизнес-процессы, но уже с более гибкой формой поведения, реализации и управления.
Цель сервисного подхода к проектированию бизнес-процессов -создание общей бизнес-логики процессов, что дает возможность повторного использования сервисов, которые могут быть выполнены наиболее соответствующими элементами системы, несмотря ни на какие организационные границы.
Создание гибких бизнес-процессов в КИС предприятий СОА обеспечивается следующими положениями3:
- фокус при разработке приложений смещается на выполнение общей бизнес-логики, а не на то, как отдельные компоненты будут взаимосвязаны между собой, т. е. задача заключается в том, чтобы определить, какие сервисы и в какой взаимосвязи наиболее эффективно использовать для реализации бизнес-процессов;
- сервисы могут замещаться эквивалентными сервисами в зависимости от требований;
- сервисы и бизнес-функции могут предоставляться внутренними и внешними поставщиками;
- изменение формы соединения сервисов: переход от прямого соединения между сервисами к соединению через промежуточный слой - сервисную инфраструктуру, что повышает гибкость соединений между сервисами.
Для ИТ-приложений, построенных согласно СОА принципам, безопасность функционирования корпоративной информационной системы становится еще более критичной. Реализация каждого ИТ-приложения в рамках всей системы предусматривает выполнение соединений часто между несвязанными сервисами и ИТ-приложениями, относящимися к различным организационным структурам. Подобная среда нередко является достаточно незащищенной, уязвимой и ограниченной с точки зрения безопасности. В этом случае система безопасности в КИС-предприятиях может быть представлена как многоуровневая система: безопасность на уровне отдельного сервиса, на уровне сервисной инфраструктуры, на уровне взаимодействия сервисов.
Рис. 1. Обобщенная схема уровней безопасности сервисов в ИС сервис-ориентированной архитектуры
Защита информации - вопрос комплексный, предусматривающий решение следующих задач4:
- идентификация клиента (пользователя либо агента) в системе;
- проверка прав доступа к защищаемым данным в рамках общезначимого (системного) контекста безопасности;
- шифрование трафика между клиентами и сервисами информационной системы;
- обеспечение целостности данных.
Безопасность в СОА достаточно хорошо структурирована на уровне описания сервисов. На уровне реализации она реализуется тем же образом, что и любая безопасность в любой другой архитектуре, поэтому «опасность» серверов может быть равна «опасностям» способов реализации5. То есть «опасности», например цифровой подписи, зависят от алгоритма подписи, а не от архитектуры самой СОА.
При разработке безопасности сервисов необходимо учитывать следующие аспекты:
- безопасность в СОА-системах должна быть основана не только на соблюдении моделей, установленных в сценариях и функциональных требованиях, но и должна динамически перестраиваться в соответствии с изменяемыми требованиями, то есть модели безопасности должны быть взаимосвязаны с требованиями;
- необходимо иметь динамические доверенности (обязательства) для взаимосвязей с партнерами, заказчиками, клиентами, служащими, основанные на опыте взаимодействия с ними в длительный период времени;
- сфера ответственности не должна жестко регламентировать правила поведения внутри сервисов, но должна быть способна обеспечивать жесткие требования безопасности через политику управления инфраструктурой и взаимосвязями между сервисами.
Для создания безопасного управления инфраструктурой и взаимосвязями между сервисами необходимо описать и проанализировать методы и технологии, связанные с реализацией следующих процессов:
- идентификация пользователей и сервисов;
- подключение к ИТ-приложениям других организаций на основе транзакций в режиме реального времени;
- функционирование композитных приложений (контроль безопасности должен выполняться как на уровне отдельного сервиса, так и на уровне комбинаций сервисов);
- управление безопасностью через цепочки различных ИТ-приложений;
- защита данных при передаче и хранении;
- соответствие изменяющихся требований корпоративным, отраслевым и государственным стандартам и регламентам;
- управление безопасностью на всех этапах жизненного цикла создания сервисов.
Идентификация пользователей и сервисов играет ключевую роль при переходе к сервисным архитектурам.
Например, пользователь, работая в корпоративной ИТ-среде, использует различные ID: Desktop ID, Notes ID, SAP ID, VPN ID, Corporate Travel ID, Online Bank Account, Financial Services Account, Provider ID и др.
В этом случае возникает ряд проблем:
- каждое приложение привносит свой собственный ID;
- каждый ID не работает с другим ID;
- каждый ID повышает сложность идентификации;
- каждый ID добавляет соответствующие бизнес-риски.
В СОА идентификация сервисов выполняется в инфраструктуре, которая реализует посреднические функции, чтобы сервисы могли легко соединяться друг с другом без опасений о том, как представить и передать пользовательские идентификационные данные от одного сервиса к другому.
Очень маловероятно, что идентификация пользователей будет выполняться одинаково во всех сервисных компонентах в течение бизнес-процесса, который охватывает различные организации. Поэтому необходимо использование идентификационных сервисов, которые смогут вычислить идентификаторы обращающегося поль-
зователя (сервиса), подтвердить, что он авторизован выполнять запрашиваемые операции, и передать эти данные целевому сервису. Целевой сервис может понять и использовать идентификационные данные пользователя или сервиса, выполняющего запрос.
Управление безопасностью пронизывает все аспекты жизненного цикла сервис-ориентированного приложения.
Фаза «Моделирование» - определение корпоративной политики безопасности, построение модели требований безопасности и модели безопасности приложений.
Фаза «Проектирование/разработка» - определение политик безопасности приложений, реализация и тестирование безопасности приложений.
Фаза «Развертывание» - конфигурирование инфраструктуры для обеспечения безопасности приложений; безопасная интеграция людей, процессов и информации.
Фаза «Управление» - управление безопасностью приложений, управление идентификацией, мониторинг за реализацией требований безопасности в ходе выполнения процессов.
В информационных системах, построенных на принципах СОА, присутствуют проблемы обеспечения безопасности сервисов, к которым применяются практически все ее составляющие: идентификация, аутентификация, авторизация, конфиденциальность, целостность, аудит и согласование, политики управления и доступности.
Примечания
1 Задорожный В. Управление непрерывностью бизнеса - это не процесс, это культура // Intelligent Enterprise / Russian Edition. Корпоративные системы. 2008. № 16 (191). С. 30.
2 См.: Understanding SOA Security // IBM International Technical Support Organization. 2007.
3 Шепелявый Д. Information Security // Информационная безопасность. 2008. № 1. С. 28-29.
4 Там же.
5 Там же.