Обеспечение безопасности при использовании технологии 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 этого будет достаточно, однако для развитой корпоративной инфраструктуры, такой как, например, в Сбербанке, необходимы более гибкие механизмы, позволяющие осуществить интеграцию с корпоративными источниками данных.
Реализация расширенных способов аутентификации возможна путём переопределения 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.
Так же как и в случае с механизмами аутентификации для различных вариантов встраивания в корпоративную ИТ-инфраструктуру, конфигурации могут задаваться на основе XML, LDAP либо встраиваться непосредственно в JAVA-код.
В GridGain могут динамически создаваться как объекты в кэш, так и сами кэши. По умолчанию обеспечивается механизм изоляции пользовательских кэшей. Для обеспечения доступа к данным кэша пользователь должен предоставить права доступа в явном виде.
Аудит
В GridGain реализованы развитые механизмы ведения аудита. Для каждого события, попадающего в аудит, сохраняется пользователь, от имени которого оно выполнено.
В журнале аудита содержится расширенная информация, например IP-адрес источника, запросившего действие, IP-адрес клиента GridGain, а также данные объекта кэша до и после изменения. Данные объекта сохраняются в парах <имя поля>:<значение поля>. Такой подход существенно облегчает анализ и дальнейшее проведение расследований.
События аудита по умолчанию сохраняются в хранилище событий аудита. В дополнение к этому предоставляется SPI для реализации собственного механизма сохранения событий аудита. Он позволяет реализовывать расширенные механизмы для сохранения и анализа данных аудита не только для проведения расследований, но и для предоставления и анализа в реальном режиме времени в системах противодействия мошенничеству.
Дополнительные механизмы
GridGain позволяет осуществлять дополнительную защиту инфраструктуры кластера, например, с помощью шифрования трафика между узлами (как серверными, так и клиентскими).
Кроме того, можно использовать расширенные механизмы аутентификации узлов во время присоединения к кластеру.
В дополнение к расширенным методам аутентификации в Сбербанке реализуются дополнительные механизмы динамической аутентификации/авторизации с использованием идентификационной информации пользовательских сессий.
Итоги
GridGain — основа ИТ-платформы поддержки и развития бизнеса, которая реализуется в рамках Стратегии развития Сбербанка. Механизм выполнения операций с данными банка, хранящимися непосредственно в оперативной памяти, позволил многократно увеличить производительность. Уникальным это решение делает обеспечение целостности (ACID) при выполнении транзакций в распределённой вычислительной среде.
В GridGain Enterprise Edition присутствуют развитые механизмы защиты данных. Возможно их использование «из коробки», при этом сохраняется вероятность их развития и встраивания в самые разные варианты корпоративной инфраструктуры.
Помимо основы для создания масштабируемых информационных систем, ориентированных на обработку большого количества транзакций, GridGain может служить основой для сложных аналитических систем в обеспечении защиты данных, требующих меньше времени на реакцию и быстрого доступа ко всей совокупности обрабатываемых данных в реальном режиме времени.
Опыт Сбербанка показывает: если в приложении не требуется использование развитых механизмов управления доступом к данным, выбор Apache Ignite будет отличным решением для быстрой обработки больших массивов данных.
Смотреть все статьи по теме "Информационная безопасность"
Опубликовано 29.06.2017