Структура
Основные подсистемы
СПО ПР состоит из программных модулей – отдельных программ, каждая из которых предназначена для выполнения определенных функций. Модули могут объединяться в подсистемы (наборы модулей) в зависимости от их функционального назначения.
Выделяют пять основных подсистем:
- Подсистема управления Платформой Радар (ядро) — RADAR-CORE;
- Подсистема обработки событий — RADAR-WORKER;
- Подсистема корреляции событий — RADAR-CORRELATOR;
- Подсистема хранения событий — RADAR-EVENT-STORAGE;
- Подсистема сбора событий — RADAR-LOG-COLLECTOR.
Помимо основных подсистем в состав ПАК ПР входят следующие подсистемы:
- Подсистема мониторинга работоспособности — RADAR-MONITORING;
- Подсистема инфраструктурных модулей — RADAR-INFRASTRUCTURE;
- Подсистема балансировщика событий — RADAR-BALANCER;
- Подсистема справочной информации об угрозах — RADAR-TI.
При установке ПАК ПР последние 4 подсистемы могут устанавливаться как самостоятельные модули, так и в составе подсистемы управления Платформой Радар RADAR-CORE.
Важно! При передаче информации между программными модулями Платформы Радар используется защищенное соединение (TLS).
Состав подсистем
Ниже в таблице 1 приведен состав и назначение модулей для каждой подсистемы Платформы Радар.
Таблица 1 -- Перечень модулей в составе подсистем Платформы Радар
Подсистема | Наименование модуля | Назначение модуля | Шифр разработки |
---|---|---|---|
RADAR-CORE | Радар главный интерфейс | Представление главного веб-интерфейса пользователя | radadr-ui |
Радар менеджмент-центр | Управление внутренними сервисами и предоставление доступа к ним через API на языке Ruby | rmca | |
Радар менеджмент-центр АПИ | Управление внутренними сервисами и предоставление доступа к ним через API на языке Go | cruddy | |
Радар кластер-агент | Обеспечение управления серверами кластера со стороны кластер-менеджера | cluster-agent | |
Радар кластер-менеджер | Управление кластером серверов при конфигурировании ПАК ПР | cluster-manager | |
Радар межсервисный шлюз | Организации межсервисного взаимодействия (API Gateway) | cerberus | |
Радар госсопка | Автоматизированный обмен информацией с НКЦКИ и ФИНЦЕРТ | event-ant | |
Радар сканер активов | Сканирование и инвентаризация активов | sonar | |
Радар база знаний | Предоставление программных интерфейсов (API) для работы с базой знаний | knowledgebase | |
Радар мониторинг источников | Наблюдение за источниками событий | pluto | |
Радар служба оповещений | Оповещения пользователей | toller | |
Радар менеджер прав | Авторизация и идентификация пользователей, разграничения прав доступа | keycloak | |
Радар сервис TI | Обновление и наполнение справочников информации об угрозах для termite и logmule | ti-updater | |
Радар провайдер мультиарендности | Модуль провайдера мультиарендности | karaken | |
Радар отчетность | Модуль предоставления программных интерфейсов для работы с отчетностью | datasapi | |
Радар табличные списки | Модуль предоставления программных интерфейсов для работы с табличными списками | rvs_api | |
Радар интеграционный слой | Модуль предоставления программных интерфейсов для организации интеграционного слоя | pgr-wal-listener | |
Радар генератор трафика | Модуль генерации искусственного трафика для проведения нагруженного тестирования | turntable | |
RADAR-WORKER | Радар обработчик событий | Разбор, нормализация, обогащение входящих событий | termite |
RADAR-СORRELATOR | Радар коррелятор | Корреляция обработанных событии на основе предустановленных правил | logmule |
RADAR-EVENT-STORAGE | Радар хранилище событий | Хранение и поиск обработанных событий | elasticsearch |
RADAR-EVENT-STORAGE | Радар сервис ротации | Модуль ротации индексов подсистемы хранения событий | auto-rollover |
RADAR-LOG-COLLECTOR | Радар лог-коллектор | Сбор событий от источников и их передача в Платформу Радар | logcollector-agent |
RADAR-MONITORING* | Радар визуализатор метрик | Визуализация метрик работы Платформы Радар | grafana |
Радар сборщик метрик Платформы Радар | Сбор и хранение метрик работы Платформы Радар | prometheus | |
Радар сборщик метрик узлов кластера | Агент для сбора метрик с узлов, входящих в состав кластера Платформы Радар | node_exporter | |
Радар сборщик метрик балансировщика | Агент для сбора метрик с RADAR-BALANCER | kafka_exporter | |
Радар сборщик метрик хранилища | Агент для сбора метрик с RADAR-EVENT STORAGE | elasticsearch-exporter | |
Радар менеджер уведомлений | Отправка уведомлений о некорректной работе Платформы Радар (с использованием сервиса toller) | alert-manager | |
RADAR-INFRASTRUCTURE* | Радар основное хранилище данных | Хранения данных Платформы Радар, включая базу знаний, настройки компонентов и др. | postgresql |
Радар хранилище очереди сообщений | Хранение временных значений для сервисов rcma и knowledgebase (хранилище ключ-значение) | redis | |
RADAR-BALANCER* | Радар балансировщик событий Радар | Балансировка входящего потока событий. | kafka |
Радар приемник событий | Прием входящих событий от источников и/или сборщиков событий | rsyslog |
* — подсистемы, которые могут устанавливаться как автономно, так и в составе подсистемы RADAR-CORE
Структурная схема решения
Платформа Радар имеет модульную архитектуру, приведенную ниже на рисунке 1.
Рисунок 1 -- Общая структурная схема решения
Модули сбора событий и модуль управления ими составляют подсистему сбора событий (см. рисунок 2).
Рисунок 2 -- Структура подсистемы сбора событий
Rsyslog принимает в себя входящий поток событий и сохраняет его в Kafka, которая разбивает его на определенное количество партиций (количество не нормировано и зависит от количества термитов, необходимых для обработки входящего потока).
Термиты вычитывают данные из Kafka, проводят нормализацию и сохраняют результат в Kafka в отдельный топик, не ожидая записи в ElasticSearch и передачи на корреляцию.
Beaver является сервисом, который вычитывает из Kafka нормализованные события и с заданной скоростью и установленным количеством потоков записывает их на хранение в ElasticSearch.
Балансировщик Flow Balancer фильтрует поток и передает отфильтрованный поток на корреляцию (Logmule Go).
Основные функции подсистем
Ниже представлено краткое функциональное описание подсистем Платформы Радар.
Подсистема ядра (RADAR-CORE)
Основные функции подсистемы RADAR-CORE:
- Конфигурирование Платформы Радар:
- первичная настройка Платформы Радар для работы в конкретной инфраструктуре
- управление пользователями и группами
- Сканирование и инвентаризация активов
- Контроль ПО и мониторинг состояния модулей Платформы Радар
- Обеспечение резервного копирования и ротации данных
- Наполнение и обновление справочников информации об угрозах
- Автоматизированный обмен информацией с НКЦКИ и ФИНЦЕРТ
- Обеспечение деятельности специалистов по реагированию:
- управление активами
- управление правилами корреляции
- управление инцидентами
- управление результатами сканирования систем на предмет уязвимостей
- обеспечения процесса расследования
- контроль SLA
Подсистема обработки событий (RADAR-WORKER)
Основная функция подсистемы RADAR-WORKER — потоковая обработка событий, поступающих в систему, включая:
- разбор событий
- нормализация событий с использованием универсальной схемы
- обогащение событий (данными DNS, Geo-IP, Threat Intelligence)
- запись «сырых» и обработанных событий в модуль хранения данных
Подсистема обработки событий масштабируется до требуемого потока событий.
Подсистема корреляции событий (RADAR-CORRELATOR)
Основные функции подсистемы RADAR-CORRELATOR:
- Корреляция события на основе имеющихся в Платформе Радар правил корреляции
- Создание инцидентов по результатам корреляции
Корреляция событий информационной безопасности осуществляется в потоковом режиме, близком к режиму реального времени. Результаты работы одного правила корреляции могут быть использованы в качестве исходных данных в другом правиле корреляции.
Подсистема корреляции масштабируется для обработки требуемого потока событий.
Подсистема хранения событий (RADAR-ЕVENT-STORAGE)
Подсистема RADAR-EVENT-STORAGE построена на базе СУБД Elasticsearch и обеспечивает распределенное отказоустойчивое хранение событий.
Основные функции подсистемы RADAR-EVENT-STORAGE:
- Хранение «сырых» и обработанных событий, поступивших в Платформу Радар
- Аналитическая работа с событиями, включающая:
- поиск, в том числе полнотекстовый
- агрегации и группировка
- представление в виде таблиц и графиков
Модули СУБД в составе подсистемы горизонтально масштабируются для обработки требуемого потока событий и обеспечения нужной глубины хранения.
Подсистема хранения событий позволяет выполнять несколько поисковых запросов параллельно. В случае, если подсистема хранения представлена в многосерверной конфигурации, система обрабатывает поисковые запросы с распределением по всем серверам хранения.
Подсистема сбора событий (RADAR-LOG-COLLECTOR)
Основные функции подсистемы RADAR-LOG-СOLLECTOR:
- Управление агентами сбора событий, их централизованное конфигурирование
- Централизованный мониторинг агентов сбора событий
Для активного сбора событий источников используется модуль logcollector-agent
Подсистема мониторинга работоспособности (RADAR-MONITORING)
Основные функции подсистемы RADAR-MONITORING:
- Мониторинг работоспособности Платформы Радар
- Сбор, хранение и визуализация метрик работы Платформы Радар
- Сигнализация о некорректной работе Платформы Радар
Подсистема инфраструктурных модулей (RADAR-INFRASTRUCTURE)
Основные функции подсистемы RADAR-INFRASTRUCTURE:
- Хранение данных Платформы Радар в реляционной БД PostgreSQL (включая базу знаний, настройки модулей и т.д.)
- Организация очереди между сервисами RADAR-TERMITE и RADAR-LOGMULE
- Хранение временных значений для сервисов rmca и knowledgebase (в хранилище типа ключ-значение redis)
Подсистема балансировщика событий (RADAR-BALANCER)
Подсистема RADAR-BALANCER применяется при масштабировании обработчиков событий, его основными функциями являются:
- Прием входящего потока событий
- Распределение потока событий для нескольких обработчиков событий
- Предоставление временного буфера хранения потока событий
Подсистема справочной информации об угрозах (RADAR-TI)
Основные функции подсистемы RADAR-TI:
- Наполнение справочников информации об угрозах
- Обновление справочной информации об угрозах для termite и suricata
- Трансляция запросов и информации об угрозах с использованием DMZ
Модуль сбора событий logcollector-agent
Модуль logcollector-agent входит в состав подсистемы сбора событий RADAR-LOG-СOLLECTOR. Предназначен для активного сбора событий с широкого спектра источников (операционные системы, средства защиты, сетевые устройства и др.) и передаче их в подсистему обработки событий RADAR-WORKER.
Модуль logcollector-agent может быть установлен как на выделенный сервер, так и непосредственно на источник событий.
Платформа Радар не имеет технических ограничений на количество используемых модулей logcollector-agent в рамках одной инсталляции системы, только лицензионные ограничения.
Возможно разворачивание модуля в следующих системах:
- RHEL
- CentOS
- Debian
- Ubuntu
- SuSE Linux
- Microsoft Windows
- Apple OS X
Модуль logcollector-agent поддерживает следующие технологии сбора событий:
- Event Log
- ODBC
- WMI
- ETW
- Opsec Lea
- SSH
- SMB
- FTP
- SFTP
- Netflow
- TCP
- HTTP (пассивный прием)
- File read
- UDP
- HTTP (Удаленный сбор)
- SNMP trap
Серверные роли
Для удобства управления установкой и масштабированием, наборам модулей или подсистемам (установленным на сервере и выполняющим определенные функции для пользователей или других серверов ПАК ПР), присваиваются серверные роли.
Серверная роль определяет основную функцию сервера, при этом одному серверу могут быть назначены несколько ролей, и одна роль может исполняться несколькими серверами. Перечень используемых в ПАК ПР ролей приведён в таблице 2.
Управление серверными ролями происходит через веб-интерфейс Платформы Радар в разделе управления кластером.
Таблица 2 -- Серверные роли подсистем и модулей ПАК ПР
Наименование роли | Базовая функция | Ролевой состав |
---|---|---|
MASTER | Управление Платформой Радар | Включает подсистемы RADAR-CORE и RADAR-TI |
BALANCER | Балансировка входящего потока событий | Включает подсистему RADAR-BALANCER |
WORKER | Обработка входящего потока событий | Включает подсистему RADAR-TERMITE |
CORRELATOR | Корреляция обработанного потока событий | Включает подсистему RADAR-LOGMULE |
INFRASTRCTURE | Обеспечение работы Платформы Радар инфраструктурными модулями | Включает подсистему RADAR-INFRASTRUCTURE |
MONITORING | Мониторинг работоспособности Платформы Радар | Включает подсистему RADAR-MONITORING. Часто устанавливается вместе с ролью MASTER |
Хранение данных обработанных событий | Включает подсистему RADAR-EVENT-STORAGE | |
LOG-COLLECTOR | Сбор событий c агентов | Включает модуль logcollector-agent. |
Важно! Модуль logcollector-manager устанавливается в составе роли MASTER.
Возможности масштабирования
Платформа Радар построена на базе сервисно-ориентированной архитектуры, что позволяет масштабировать каждый модуль ПАК ПР (см. рисунок 1).
Каждый модуль ПАК ПР может масштабироваться следующим образом:
- «вертикально» — путем наращивания мощности конфигурации серверов;
- «горизонтально» — путем увеличения количества параллельно работающих единиц аппаратного обеспечения с копией масштабируемого модуля или подсистемы.
В случае необходимости увеличения производительности конкретной подсистемы Платформы Радар можно оперировать как отдельно взятыми модулями и/или подсистемами, так и серверными ролями.