Новые технические системы и объекты проектируются сегодня с использованием все более точных моделей, для работы которых необходимы высокая производительность и большие объемы обрабатываемых данных, что предъявляет новые требования к эффективности конфигурации, масштабируемости вычислительных сервисов и надежности защиты данных, используемых на различных стадиях жизненного цикла. В ответ на такие требования появились приложения, способные достигать высокой производительности выполнения на гетерогенной вычислительной инфраструктуре, компоненты которой могут функционировать как в режимах виртуализации, так и в виде кластеров, оптимизированных для параллельных расчетов. Суперкомпьютерный центр «Политехнический», созданный в национальном исследовательском университете СПбГПУ в рамках Федеральной программы Минобрнауки РФ по техническому перевооружению вузов, специально проектировался для обеспечения высокой масштабируемости, производительности, гетерогенности и защищенности ресурсов при выполнении промышленных приложений и научных исследований.
Требования к облачной платформе
Как правило, облачные провайдеры, такие как Amazon, Rackspace, Heroku, Google, предоставляют различные услуги по моделям IaaS, PaaS или SaaS, интеграция которых в ту или иную конкретную среду промышленных разработок осуществляется высококвалифицированными инженерами и ИТ-специалистами. До сих пор, в силу мультимасштабности и сложности задач компьютерного инжиниринга, универсальных решений по использованию облаков для центров инженерного проектирования не создано. Такие центры строятся сегодня либо на основе специально спроектированных программно-аппаратных платформ, что ограничивает их производительность и гибкость, либо на базе модели IaaS, что также не позволяет одинаково эффективно решать разнообразные инженерные задачи.
Платформа суперкомпьютерного центра «Политехнический» предназначена для решения широкого класса задач инжиниринга, поэтому в ней используются четыре типа систем, в совокупности позволяющих учитывать особенности приложений различных типов: системы с глобально адресуемой оперативной памятью; гибридные кластеры на базе узлов CPU/GPGPU; реконфигурируемые потоковые вычислители; облака, объединяющие перечисленные вычислительные системы в единую среду для расчетов с общим хранилищем данных и сервисами контроля доступа к ресурсам. Применение такой гетерогенной вычислительной среды обладает следующими достоинствами:
- расширяется спектр предоставляемых информационных сервисов, что позволяет в кратчайшие сроки и с минимальными затратами выполнять мультидисциплинарные проекты;
- появляются возможности масштабирования ресурсов для обеспечения высокой производительности процессов проектирования на всех этапах реализации инженерных проектов;
- обеспечивается автоматическая конфигурация программных и аппаратных компонентов, согласование версий используемых приложений и контроль целостности вычислительной среды;
- реализуются преимущества сетецентрического подхода при выполнении сложных инженерных проектов силами географически и логически распределенных коллективов разработчиков и специалистов;
- реализуется единая политика информационной безопасности.
Гетерогенная облачная платформа является основой для организации вычислительной инфраструктуры инжиниринговых центров; ее принципиальным отличием от классических ЦОД является предоставление в режиме удаленного доступа не только вычислительных ресурсов или прикладных программ, но и интеллектуальных сервисов, которые реализуются коллективами специалистов разных проблемных областей, работающих в режиме аутсорсинга в рамках выбранной корпоративной политики информационной безопасности. Используя ресурсы современных облачных технологий, на базе инжиниринговых центров можно создавать аналоги социальных сетей, объединяющих профессионалов и экспертов для выполнения мультидисциплинарных инженерных проектов, включающих проведение расчетов, верификацию результатов, испытания на основе применения различных материалов, виртуальное прототипирование и визуализацию расчетов. Перечисленные задачи с точки зрения применяемых в них вычислительных алгоритмов могут быть объединены в технологические цепочки, образующие сети операций, выполнение которых производится в рамках гетерогенной облачной среды. Компоненты такой платформы (рис. 1), построенной на базе OpenStack, включают в себя: облачный сегмент класса IaaS, вычислительную инфраструктуру в составе гибридного кластера, специализированные высокопроизводительные системы, вычислители на базе реконфигурируемых узлов.
Рис. 1. Функциональная модель использования облачной платформы |
Обеспечение безопасности
Виртуализация изменила подходы к развертыванию, управлению и использованию корпоративных ресурсов, предоставив новые возможности для масштабируемости и консолидации вычислительных ресурсов, выделяемых приложениям, однако это привело к появлению новых угроз, вызванных сложностью и динамичным характером процесса предоставления ресурсов. Эти угрозы могут привести к образованию лавинообразного процесса нарушения безопасности, перед которым оказываются бессильны традиционные системы защиты данных. Существующие подходы Scan&Patch, обычно применяемые для контроля уязвимостей, в облаках работают плохо — сетевые сканеры не могут отслеживать изменения в конфигурации ресурсов в режиме реального времени, что не позволяет точно идентифицировать изменение уровня рисков и принимать меры для блокирования динамически возникающих угроз.
Для решения задачи управления доступом в облачной среде требуется вести постоянный мониторинг ресурсов, который невозможно обеспечить без средств автоматической генерации правил фильтрации и анализа файлов регистрации межсетевых экранов. Продукты по управлению информационной безопасностью в динамичной облачной среде должны включать механизмы, осуществляющие: тотальный контроль над процессами развертывания виртуальных машин; проактивное сканирование виртуальных машин на наличие уязвимостей и ошибок в конфигурации; отслеживание процессов миграции виртуальных машин и конфигурации системы контроля доступа к ресурсам. Поэтому в платформе центра «Политехнический» предусмотрен целый комплекс мер по повышению информационной безопасности ресурсов, а именно:
- Контроль активизации виртуальных машин. Виртуальные машины как активные компоненты сервиса облачных приложений активизируются в случайные моменты времени, поэтому администратор не может ввести и вывести виртуальную машину из эксплуатации до того, как сканер безопасности проверит конфигурацию и оценит риски безопасности.
- Автоматическое обнаружение и сканирование. Сервисы обеспечения информационной безопасности управляются на уровне гипервизора и в процессе обнаружения уязвимостей опираются на базу данных текущих конфигураций виртуальных машин, а также на отчеты о потенциальных угрозах, поступающие от доверенных источников, например серверов обновления антивирусных сигнатур.
- Миграция виртуальных машин. Упреждающая миграция приложений — эффективный метод контроля безопасности.
Кроме того, для защиты облачной среды имеется сервис разграничения доступа к вычислительным ресурсам, главной особенностью которого, учитывая динамизм и масштабируемость инфраструктуры, является возможность поддержки политики безопасности без привязки к составу ресурсов. Сервис, построенный на технологии межсетевого экранирования и программно-конфигурируемых сетей, обеспечивает реконфигурацию системы разграничения доступа в соответствии с текущим состоянием среды (подробно вопрос разграничения доступа в облачных средах рассмотрен в работе [1]). К статическим сегментам платформы применен принцип «сдачи в аренду», в соответствии с которым правила фильтрации для доступа к сегментам формируются только пользователями и сервисами, работающими в конкретный момент времени. В платформах такого типа редки ситуации, когда требуется отдельная виртуальная машина, поэтому предусмотрено динамическое создание защищенных сетей, к которым подключаются виртуальные машины, решающие задачи одной вычислительной цепочки. Защищенные сети подключены к межсетевым экранам, интегрированным с программным коммутатором Open vSwitch.
Межсетевые экраны, осуществляющие защиту динамически создаваемых облачных сетей, также создаются в момент инициализации. Важной особенностью применяемого межсетевого экрана является его способность функционировать в безадресном режиме, что позволяет сделать устройство защиты невидимым при сетевом взаимодействии, а его интеграция не потребует реконфигурации сетевой подсистемы облачной платформы. При этом межсетевой экран функционирует в виде виртуальной машины, что позволяет выделить ему требуемые ресурсы или изменить конфигурацию. Межсетевой экран фильтрует сетевой трафик на основе правил, сформированных сервисом политики доступа. Для задания политики доступа в платформе использована ролевая (Role Based Access Control, RBAC) модель разграничения доступа, которая формально может быть представлена в виде наборов данных: множества идентификаторов пользователей среды, осуществляющих управление виртуальными машинами и информационными сервисами; множества привилегий в форме описания разрешенных информационных сервисов (привилегии задают правила доступа пользователей к сервисам, причем обеспечивается возможность преобразования привилегии для виртуальной машины заданного пользователя в правила фильтрации для межсетевого экрана, которые разрешают доступ к сетевому сервису); множества ролей, которые могут быть назначены пользователям, и множества сеансов пользователей в облачной среде, представленных сетевыми соединениями между ресурсами. Для трансляции политики доступа в правила фильтрации введено понятие состояния среды, которое задано множеством IP-адресов вычислительных ресурсов, с присвоенными метками отвечающих за них пользователей. При изменении множества необходимо осуществлять генерацию правил фильтрации и реконфигурацию межсетевых экранов. Для этого разработана методика динамической конфигурации правил, которая заключается в подстановке сетевых адресов в привилегии пользователей-владельцев для каждой виртуальной машины. При этом формируются правила доступа к сервисам вычислительного ресурса и из вычислительного ресурса к сервисам других пользователей.
Для фильтрации необходим виртуальный межсетевой экран в каждом сервере виртуализации среды, а для генерации правил фильтрации для межсетевых экранов и хранения заданной политики доступа необходим отдельный программный сервис, размещенный во внутренней сети облака и соединенный с межсетевыми экранами сетью передачи данных для обмена управляющими сообщениями (рис. 2).
Рис. 2. Организация защищенных сегментов в среде облачных вычислений для проведения высокопроизводительных расчетов |
В облачной системе присутствует выделенная сеть управления компонентами облака, отделенная от виртуальных машин, поэтому эта сеть используется для обмена информацией между компонентами системы разграничения доступа. Для информационного обмена и получения данных об изменении состояния облачной среды использован открытый протокол передачи сообщений между компонентами системы AMQP (Advanced Message Queuing Protocol), в частности, его реализация в виде сервиса RabbitMQ, осуществляющего обмен сообщениями между компонентами программной системы (Message Oriented Middleware) на основе стандарта AMQP.
Использование общей шины для обмена сообщениями между компонентами облачной среды позволило реализовать оперативное получение информации подсистемой защиты и снизить накладные расходы, что особенно важно, так как реализация функций разграничения доступа требует дополнительных вычислительных ресурсов, а фильтрация сетевого взаимодействия задействует ресурсы гипервизора (при использовании типового сервера виртуализации, например от VMware, затраты на фильтрацию трафика составляют около 10% от ресурсов сервера). Кроме того, необходимы дополнительные аппаратные ресурсы для функционирования сервиса управления системой разграничения доступа.
Защищенные сегменты для инженерных приложений
Для решения задач, требующих гетерогенных вычислительных ресурсов, необходимо автоматизированное создание защищенного сегмента, состоящего из набора логически объединенных вычислительных ресурсов. К такому сегменту должна быть применена заданная политика безопасности, предусматривающая возможность доступа к вычислительным ресурсам для владельца задачи, но закрывающая доступ к задействованным ресурсам другим пользователям инжиниринговой платформы. После завершения задачи результаты должны быть загружены в хранилище данных, а вычислительные ресурсы освобождены. При этом крайне важно гарантировать разграничение доступа к вычислительным ресурсам в условиях одновременного выполнения множества задач.
Для создания группировки виртуальных машин в облачной среде использован сервис OpenStack Heat, поддерживающий описание конфигураций в формате Amazon Cloud Formation, что обеспечивает совместимость с публичными сервисами Amazon AWS. Данный сервис позволяет создавать группировки виртуальных машин по заданным образцам, виртуальные сети, облачные маршрутизаторы и другие компоненты. В образах виртуальных машин имеется базовый набор сервисов, а расчетные пакеты и прикладное ПО устанавливается с помощью инструментария, предоставляемого программным средством Opscode Chef, которое обеспечивает автоматизированное развертывание программных конфигураций в виртуальных машинах и аппаратных решениях. Для защиты созданного облачного расчетного сегмента используются средства межсетевого экранирования с технологиями программно-конфигурируемых сетей, в частности, сервис OpenStack Quantum и виртуальный коммутатор Open vSwitch, поддерживающий протокол OpenFlow. При создании защищенного сегмента для него развертывается выделенная облачная сеть с межсетевым экраном, контролирующим доступ к облачным виртуальным машинам. Затем расчетный сегмент конфигурируется под решаемую задачу и загружаются исходные данные. После получения результатов осуществляется удаление сегмента, облачные ресурсы освобождаются, а результаты расчетов выгружаются в облачное хранилище и становятся доступными потребителю сервиса.
Реконфигурируемые сегменты облачной среды позволяют решать широкий спектр научно-технических задач, среди них: задачи, оперирующие большими наборами данных по технологии MapReduce; задачи биоинформатики, в том числе по обработке генетической информации в распределенных системах; задачи класса CAD/CAE; расчетные задачи, не требующие высокоскоростных сетей. Задачи, которые не могут быть решены в виртуальных машинах облака (например, требующие быстрого доступа к глобально адресуемой оперативной памяти и массово-параллельных или потоковых вычислений), передаются на выделенные гибридные кластеры для высокопроизводительных вычислений, входящие в вычислительную инфраструктуру платформы и оснащенные внутренней высокоскоростной коммуникационной шиной, узлами-ускорителями на базе FPGA и GPU. Для этого сервис планирования и запуска задач резервирует заранее сконфигурированные вычислительные ресурсы, а сервис политики доступа обеспечивает загрузку правил фильтрации для межсетевых экранов, осуществляющих защиту вычислительных сегментов. Межсетевые экраны реализуют защиту от несанкционированного доступа к вычислительным ресурсам в момент решения задачи и объединение гетерогенных вычислительных сегментов (облачного и высокопроизводительного) в единое пространство вычислительных ресурсов, которые могут взаимодействовать друг с другом по разрешенным политикой доступа сетевым протоколам.
Построенная таким образом инфраструктура позволяет динамически создавать защищенные сегменты для проведения расчетов и тем самым дает возможность организовать одновременное решение различных задач на одном множестве аппаратных ресурсов.
***
Создание инжинирингового центра на базе высокопроизводительной гетерогенной вычислительной платформы с динамически реконфигурируемыми ресурсами и средствами контроля доступа открывает возможности для применения облаков при решении мультидисциплинарных задач: реконфигурации гетерогенных вычислительных платформ, формирования правил доступа к используемым информационным ресурсам, загрузки требуемого прикладного ПО проведения расчетов, тестирования и анализа полученных результатов. Однако практическая реализации предложенной проектной концепции требует разработки нового класса систем защищенного доступа к информационно-вычислительным ресурсам, основная функциональность которых базируется на методах скрытной фильтрации трафика.
Литература
- Лукашин А. А., Заборовский В. С. Система защиты информационных сервисов в среде облачных вычислений // Информатизация образования и науки. — 2013. — № 2 (18).
Владимир Заборовский (vlad@neva.ru), Алексей Лукашин (lukash@neva.ru) — сотрудники кафедры «Телематика при ЦНИИ РТК», СпбГПУ (Санкт-Петербург). Статья подготовлена на основе материалов доклада, представленного авторами на IV Московский суперкомпьютерный форум (МСКФ-2013, грант РФФИ 13-07-06046г).