Обеспечение безопасности при использовании технологии GridGain

Обеспечение безопасности при использовании технологии GridGain
Перемены происходят всё чаще и требуют быстрой адаптации. Чтобы вести успешный бизнес в таких условиях, недостаточно следовать сложившимся трендам, нужно их предвосхищать.

«Ну а здесь, знаешь ли, приходится бежать со всех ног, чтобы только остаться на том же месте, а чтобы попасть в другое место, нужно бежать вдвое быстрее …»

 Красная королева (Л. Кэролл, «Алиса в стране чудес»)

Современный мир стремительно меняется. Ещё 20 лет назад люди обменивались бумажными письмами, каждое из которых шло в среднем неделю, а теперь среднестатистический офисный сотрудник получает их десятки в минуту. Перемены происходят всё чаще и требуют быстрой адаптации. Чтобы вести успешный бизнес в таких условиях, недостаточно следовать сложившимся трендам, нужно их предвосхищать.

Мир финансов - не исключение. Помимо того, что необходимо оперативно принимать решения, требуется обрабатывать постоянно растущее количество транзакций. На их рост влияет не только количество безналичных операций, которые стали совершать клиенты, но и появление новых источников их генерации. К ним можно, например, отнести услугу «Персональный финансовый менеджер», которую предлагают многие банки, а также огромное количество финансовых онлайн-приложений. На пороге массовое распространение «интернета вещей», который также будет влиять на появление новых банковских продуктов и услуг и, как следствие, рост транзакций. К примеру, через какое-то время ваш холодильник станет самостоятельно покупать продукты.

Так, в Сбербанке ежегодно наблюдается рост количества обрабатываемых транзакций на 20%. При этом транзакционная нагрузка с 2015 года выросла в два раза, что вызвано как увеличением количества операций, так и ростом числа клиентов.

Обработка массивов данных. Поиск правильного решения

Для обработки карточных транзакций в настоящее время Сбербанк использует серверы IBM Power 795 в максимальной конфигурации. Это одни из самых мощных серверов в мире. Однако рост количества онлайн-операций и расширение функциональности приложений требуют дальнейшего увеличения производительности. В рамках стратегии развития, принятой в 2013 году, банк открыл программу «Платформа поддержки развития бизнеса (18+)». Её основная задача — обеспечение масштабируемой ИТ-основы для роста бизнеса.

В рамках реализации программы банк занялся поиском решения для быстрой обработки больших массивов данных и проанализировал различные решения и подходы. Самой перспективной была признана технология in-memory computing: используя оперативную память нескольких компьютеров, она превращает обычную офисную технику в аналог суперкомпьютера, способного обрабатывать большие объёмы данных.

При выборе решений, основанных на этой технологии, особое внимание уделялось следующим параметрам:

·         горизонтальному масштабированию;

·         выполнению транзакций в реальном режиме времени;

·         наличию развитых механизмов эксплуатации;

·         наличию механизмов защиты данных.

И другие механизмы, присущие развитым ИТ-решениям.

В результате всестороннего тестирования был сделан выбор в пользу решения на основе открытых исходных кодов — Apache Ignite.

Как было отмечено выше, одним из важнейших критериев отбора правильного решения было наличие развитых механизмов безопасности. Apache Ignite полностью отвечает данному требованию. Поставка решения возможна в нескольких вариантах. Самый простой — получение дистрибутива с сайта apache.com. В этом случае можно получить как бинарную сборку, так и файлы с исходными текстами программ, которые можно собрать самостоятельно.

Возможно получение этого продукта с платной технической поддержкой непосредственно от компании, инициировавшей и развивающей проект, — GridGain. А в случае использования GridGain Enterprise Edition — конфигурации, которую в итоге выбрал Сбербанк, — в дополнение к стабильной протестированной сборке прилагаются встроенные в ядро развитые механизмы обеспечения защиты данных.

К таким механизмам традиционно относят:

·         идентификацию/аутентификацию;

·         авторизацию;

·         аудит.

В GridGain эти механизмы применимы как к клиентским, так и к серверным узлам. То есть они применяются не только к пользовательским подключениям, но и при добавлении новых серверных узлов в кластер.

Аутентификация

Стандартный механизм аутентификации в GridGain основывается на использовании пары логин/пароль.

Модуль, который осуществляет подключение к кластеру, может аутентифицироваться непосредственно из кода.

Обеспечение безопасности при использовании технологии GridGain. Рис. 1

Или получив исходные данные из файла конфигурации.

Это подходящий механизм для развёртывания кластера с небольшим количеством узлов. Для многих вариантов использования GridGain этого будет достаточно, однако для развитой корпоративной инфраструктуры, такой как, например, в Сбербанке, необходимы более гибкие механизмы, позволяющие осуществить интеграцию с корпоративными источниками данных.

Реализация расширенных способов аутентификации возможна путём переопределения SecurityCredentialsBasicProvider. В этом случае возможны различные варианты использования данных аутентификации. Так, можно использовать аутентификацию с использованием сертификатов, размещаемых в защищённых контейнерах.

В дополнение к описанным механизмам защиты возможно создать собственные расширения с использованием сервиса JAAS. GridGain обеспечивает расширение стандартного механизма и интеграцию с Active Directory, LDAP, JNDI, Kerberos и другими источниками.

Авторизация

В GridGain имеются развитые механизмы авторизации. Осуществляется разделение доступа для чтения, записи/изменения или удаления объектов кэшей.

    Разграничение прав на доступ к объектам кэша:

·         CACHE_READ — разрешено чтение объектов кэша;

·         CACHE_PUT — разрешено добавление объектов в кэш;

·         CACHE_REMOVE — разрешено удаление объектов кэша.   


Могут быть настроены права, ограничивающие запуск вычислительных задач на выполнение или их остановку.

    Ограничение на выполнение пользовательского кода:

·         TASK_EXECUTE — разрешено выполнение пользовательского кода;

·         TASK_CANCEL — разрешена отмена пользовательских задач.

Для операций администрирования и мониторинга также назначаются отдельные права.

    Ограничения на системные операции:

·         EVENTS_ENABLE — разрешено получение уведомлений (сообщений);

·         EVENTS_DISABLE — запрещено уведомлений (сообщений);

·         ADMIN_VIEW — разрешено получение параметров функционирования кластера (грида) в системной консоли Visor;

·         ADMIN_QUERY — разрешено выполнение SQL-запросов из системной консоли Visor;

·         ADMIN_CACHE — разрешено выполнение операций с кэшем из системной консоли Visor (загрузка данных, ручная разбалансировка и т. д.).      


Конфигурация прав может быть задана различными способами. Ниже приведён пример конфигурации в формате JSON.

Обеспечение безопасности при использовании технологии GridGain. Рис. 2

Так же как и в случае с механизмами аутентификации для различных вариантов встраивания в корпоративную ИТ-инфраструктуру, конфигурации могут задаваться на основе XML, LDAP либо встраиваться непосредственно в JAVA-код.

В GridGain могут динамически создаваться как объекты в кэш, так и сами кэши. По умолчанию обеспечивается механизм изоляции пользовательских кэшей. Для обеспечения доступа к данным кэша пользователь должен предоставить права доступа в явном виде.

Аудит

В GridGain реализованы развитые механизмы ведения аудита. Для каждого события, попадающего в аудит, сохраняется пользователь, от имени которого оно выполнено.

В журнале аудита содержится расширенная информация, например IP-адрес источника, запросившего действие, IP-адрес клиента GridGain, а также данные объекта кэша до и после изменения. Данные объекта сохраняются в парах <имя поля>:<значение поля>. Такой подход существенно облегчает анализ и дальнейшее проведение расследований.

События аудита по умолчанию сохраняются в хранилище событий аудита. В дополнение к этому предоставляется SPI для реализации собственного механизма сохранения событий аудита. Он позволяет реализовывать расширенные механизмы для сохранения и анализа данных аудита не только для проведения расследований, но и для предоставления и анализа в реальном режиме времени в системах противодействия мошенничеству.

Дополнительные механизмы

GridGain позволяет осуществлять дополнительную защиту инфраструктуры кластера, например, с помощью шифрования трафика между узлами (как серверными, так и клиентскими).

Кроме того, можно использовать расширенные механизмы аутентификации узлов во время присоединения к кластеру.

В дополнение к расширенным методам аутентификации в Сбербанке реализуются дополнительные механизмы динамической аутентификации/авторизации с использованием идентификационной информации пользовательских сессий.

Итоги

GridGain — основа ИТ-платформы поддержки и развития бизнеса, которая реализуется в рамках Стратегии развития Сбербанка. Механизм выполнения операций с данными банка, хранящимися непосредственно в оперативной памяти, позволил многократно увеличить производительность. Уникальным это решение делает обеспечение целостности (ACID) при выполнении транзакций в распределённой вычислительной среде.

В GridGain Enterprise Edition присутствуют развитые механизмы защиты данных. Возможно их использование «из коробки», при этом сохраняется вероятность их развития и встраивания в самые разные варианты корпоративной инфраструктуры.

Помимо основы для создания масштабируемых информационных систем, ориентированных на обработку большого количества транзакций, GridGain может служить основой для сложных аналитических систем в обеспечении защиты данных, требующих меньше времени на реакцию и быстрого доступа ко всей совокупности обрабатываемых данных в реальном режиме времени.

Опыт Сбербанка показывает: если в приложении не требуется использование развитых механизмов управления доступом к данным, выбор Apache Ignite будет отличным решением для быстрой обработки больших массивов данных.

Смотреть все статьи по теме "Информационная безопасность"

Опубликовано 29.06.2017

Похожие статьи