Перейти к основному содержимому
Версия: 4.6.X

Мультитенантность

Мультитенантность (мультиарендность) --- архитектурный подход, при котором один экземпляр KOMRAD Enterprise SIEM обслуживает несколько независимых организаций (тенантов). Все тенанты используют общую инфраструктуру, при этом данные и конфигурация каждого из них надёжно изолированы.

Мультитенантная архитектура позволяет операторам SOC и MSSP-провайдерам централизованно управлять мониторингом безопасности для нескольких клиентов, сохраняя полную изоляцию данных между ними.

Принципы

  • Анализ требований клиентов. Перед выбором архитектуры необходимо определить, какие данные и процессы требуют изоляции. Например, финансовые организации, как правило, предъявляют максимальные требования к защите и разделению данных.
  • Учёт специфики бизнес-процессов. Следует определить, какие ресурсы (базы данных, оперативная память, вычислительные мощности) должны быть разделены между тенантами.
  • Гибкость системы. Система должна адаптироваться к изменениям требований по мере роста организации.

Архитектурные решения

Логическое разделение тенантов

  • Каждая организация (клиент) получает собственное пространство имён и уникальный идентификатор (TenantID).
  • Все объекты и данные помечены метаданными, позволяющими однозначно определить их владельца.

Физическое разделение баз данных

  • Каждому клиенту выделяется отдельная база данных или экземпляр СУБД.
  • Этот метод повышает производительность и улучшает изоляцию данных, снижая риски несанкционированного доступа.

Многослойная модель доступа

  • Используется многоуровневая модель доступа, включающая RBAC (Role-Based Access Control) и ABAC (Attribute-Based Access Control).
  • Администраторы задают ограничения доступа для каждой категории пользователей и ролей.

Компоненты мультитенантной архитектуры

Пространства имён (Namespaces)

Каждая организация получает уникальное пространство имён, в котором размещаются все её данные. Это обеспечивает полную изоляцию данных одного клиента от другого.

Индексация и фильтрация

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

Политики хранения

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

Профили анализаторов

Анализаторы представляют собой наборы правил и скриптов для обработки событий. Их можно настраивать отдельно для каждого клиента, создавая индивидуальные условия анализа и представления результатов.

Панели управления

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

Управление доступом

Система разграничения доступа контролирует, кому разрешено просматривать и изменять данные. Администраторы создают группы пользователей и назначают им конкретные роли и полномочия.

Резервное копирование

Модуль резервного копирования обеспечивает регулярное сохранение копий данных тенантов. Это необходимо для восстановления информации в случае сбоев.

Распределение объектов между тенантами

В таблице ниже описаны возможные варианты размещения объектов системы:

ОбъектНа стороне тенантаНа центральном узлеГибридный подход
Агенты коллектора SNMPУправляются и развёртываются тенантом------
АктивыИнвентаризация ресурсов тенанта------
АудитЖурналы аудита действий внутри тенанта------
ВиджетыПерсональные панели виджетов тенантаШаблоны панелей виджетовНастройка виджетов под нужды тенанта
ГосСОПКА---Единая интеграция для всех тенантов---
Динамические спискиСписки, специфичные для бизнес-логики тенанта------
ДирективыОптимизированные под тенантОбщекорпоративные политикиКомбинация центральных и тенант-специфичных правил
ИнцидентыИнциденты, зарегистрированные в рамках тенанта------
Коллекторы---Ядро системы сбора данныхКомбинация центральной и тенант-специфичной частей
Пакеты экспертизНаборы правил, выбранные тенантомОбщая база пакетов экспертиз---
Политики доступа---Глобальные правила контроля доступа---
ПользователиУчётные записи пользователей тенанта------
Поля событийКастомные поля тенантаСтандартные поля (время, источник, тип)Комбинация центральной и тенант-специфичной частей
Правила уведомленийНастройки оповещений для тенантаКаналы доставки (email, SMS)Комбинация центральной и тенант-специфичной частей
РолиРолевая модель доступа внутри тенанта------
Секреты---Централизованное хранилище ключей и паролей---
Сертификаты---SSL/TLS-сертификаты для сервисов платформы---
СобытияСырые и обработанные события тенанта------
ФильтрыФильтры событий тенантаБазовые фильтрыКомбинация центральной и тенант-специфичной частей

Корреляция в мультитенантной среде

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

КритерийКорреляция на стороне тенантаКорреляция на центральном узлеГибридный подход
Принцип работыКаждое событие обрабатывается в изолированном пространстве клиентаВсе события собираются в единую точку для централизованной обработкиЧасть событий обрабатывается локально, часть --- централизованно
Изоляция данныхЕстественная --- данные физически разделеныТребуется дополнительная настройкаКритичные данные остаются локально, общие паттерны анализируются централизованно
Обнаружение межклиентских атакОграниченоВысокоэффективноЛокальные аномалии выявляются на месте, глобальные --- централизованно
МасштабируемостьОграниченнаяВысокая (горизонтальное масштабирование)Гибкое масштабирование всех компонентов
Нагрузка на сетьМинимальнаяПовышеннаяУмеренная --- только релевантные данные передаются в центр

Интерфейс

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

Права доступа

Права между тенантами разделяются атрибутом Окружение (TenantID).

  • Общий администратор --- имеет доступ ко всем тенантам и управляет центральным узлом.
  • Администратор тенанта --- дополнительная роль, ограничивающая доступ только данными своего тенанта. Эта роль не позволяет просматривать другие тенанты.

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

Безопасность и шифрование

Данные клиентов защищены шифрованием на уровне базы данных и сети передачи данных. Аутентификация и авторизация пользователей осуществляются через стандартные протоколы: OAuth, LDAP и Kerberos.

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

Модули KOMRAD с поддержкой мультитенантности

МодульОписание
Интеграционная шина (komrad-bus)Для каждой шины настраивается отдельный адрес с учётом TenantID
База данных (pg-preferences)Данные размещаются в общем кластере с разделением по TenantID
Панели виджетовОбщие конфигурации, привязываемые к тенантам через идентификаторы
Сервис работы с активамиДля каждого тенанта создаётся отдельный экземпляр asset-keeper
Реакции на инциденты (komrad-reactor)Настраивается индивидуально под каждый тенант
Управление доступом (pauth-server)Общий сервер аутентификации с идентификаторами для каждого тенанта

Проектирование мультитенантной инфраструктуры

Шаг 1. Определение типа мультитенантности

Выберите подходящий подход:

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

Выбор типа зависит от масштаба проекта и требуемого уровня изоляции.

Шаг 2. Проектирование инфраструктуры

Создайте многослойную структуру:

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

Шаг 3. Настройка разделения данных

Используйте встроенные механизмы KOMRAD для разделения данных:

  • Настройте пространства имён и уникальные идентификаторы для каждого клиента.
  • Примените специализированные индексы и фильтры для поиска данных.

Шаг 4. Оптимизация производительности

  • Распределённое хранение данных с репликацией.
  • Горизонтальное масштабирование узлов обработки.
  • Кэширование для ускорения запросов.

Шаг 5. Подключение дополнительных сервисов

  • Подключите средства идентификации и аутентификации пользователей.
  • Используйте мониторинг состояния компонентов инфраструктуры.
  • Интегрируйтесь с платформами DevOps для упрощения сопровождения.