Интеграция с SIEM-системами¶
Compass может передавать события безопасности в SIEM-систему через Kafka. Поддерживаются события входа пользователя, достижения лимита попыток входа, смены пароля и завершения сессии. Это позволяет централизованно анализировать активность пользователей и отслеживать подозрительные действия.
После включения интеграции Compass будет отправлять события безопасности в Kafka-брокер, запущенный на сервере Compass. Подключение к Kafka и настройка приема событий выполняются на стороне SIEM-системы или SIEM-коннектора.
Включение отправки событий на сервере Compass¶
Для активации механизма отправки событий в Kafka:
Откройте файл
configs/siem.yamlлюбым текстовым редактором.Укажите параметры подключения:
# Включена ли интеграция с SIEM. # При значении kafka приложение отправляет события в Kafka, и стек интеграции # поднимается. При none отправка не производится, стек интеграции # останавливается. # # Тип данных: строка, kafka\none siem.enabled_driver: "kafka" # Порт, на котором Kafka принимает внешние подключения SIEM. # # Тип данных: число # Пример: siem.driver_data.listen_port: 9094 siem.driver_data.listen_port: 9094 # Имя пользователя Kafka, под которым SIEM подключается для чтения событий. # Пользователю выдаётся доступ только на чтение топика raw.events. # # Тип данных: строка # Пример: siem.driver_data.user: "siem" siem.driver_data.user: "siem" # Пароль пользователя из siem.driver_data.user. # Внимание: файл siem.yaml содержит секрет — ограничьте права доступа к файлу. # В пароле не используйте символы "," и "]", а также символ "!" в начале. # # Тип данных: строка siem.driver_data.password: "<пароль>" # Срок хранения событий в часах. # Тип данных: число siem.driver_data.storage_time: 72 # Идентификатор consumer-группы Kafka, под которой SIEM-коннектор читает # топик raw.events. По этому имени update-скрипт выдаёт пользователю # siem.driver_data.user право READ на consumer-группу — без него брокер запретит # чтение (allow.everyone.if.no.acl.found=false). Значение должно совпадать # с group.id, настроенным на стороне SIEM-коннектора. # # Тип данных: строка siem.driver_data.consumer_group_id: "siem"
Сохраните файл и выполните обновление серверной части:
После обновления на сервере Compass будет запущен Kafka-брокер, создан пользователь Kafka с указанным именем и паролем, а также создан топик raw.events. Compass начнет отправлять в этот топик события безопасности.
Параметр siem.driver_data.listen_port определяет порт, на котором Kafka-брокер будет доступен на сервере Compass. Убедитесь, что этот порт открыт на сервере Compass и доступен для подключения с сервера SIEM-системы или SIEM-коннектора.
Подключение к OpenSearch¶
Данный раздел показывает, как настроить прием событий в OpenSearch с использованием Data Prepper. Это лишь один из возможных способов подключения — вы можете использовать любую SIEM-систему, поддерживающую чтение из Kafka.
Настройка Data Prepper¶
Data Prepper читает события из Kafka и отправляет их в OpenSearch.
Внесите описание пайплайна в файл
pipelines.yamlвашего экземпляра Data Prepper:В поле
certificateукажите содержимое корневого сертификата Compass - файлаcompassRootCA.crtиз каталогаcertsв директории установщика.version: "2" raw-events-pipeline: source: kafka: bootstrap_servers: - "<адрес_вашего_сервера>:<порт_из_siem.driver_data.listen_port>" encryption: type: ssl insecure: false certificate: | -----BEGIN CERTIFICATE----- <содержимое файла сертификата CA> -----END CERTIFICATE----- authentication: sasl: scram: username: "<пользователь_из_siem.driver_data.user>" password: "<пароль_из_siem.driver_data.password>" mechanism: "SCRAM-SHA-256" topics: - name: "raw.events" group_id: "<идентификатор_из_siem.driver_data.consumer_group_id>" auto_offset_reset: earliest serde_format: json processor: - date: match: - key: event_timestamp patterns: ["epoch_second"] destination: "@timestamp" sink: - opensearch: hosts: ["https://<адрес_opensearch>:9200"] auth: username: "<пользователь_opensearch>" password: "<пароль_opensearch>" index: "raw-events-%{yyyy.MM.dd}" insecure: true
Запустите Data Prepper, указав ему созданный файл
pipelines.yaml.Инструкции по установке и запуску Data Prepper описаны в его официальной документации.
Формат события¶
Все события отправляются в топик raw.events в формате JSON:
{
"event_id": "6da9aefd-7403-4d35-9311-b4b25749e359",
"event_type": "user.session.invalidation",
"event_timestamp": 1778824670,
"source_type": "app",
"source_id": "pivot",
"data": {
"user_id": 16004,
"device_id": "048e0bb8-301d-44a7-b02a-6da0b8359b51",
"ip_address": "1.2.3.4",
"device_name": "Ipad"
}
}
Напишите нам в пространстве поддержки On-premise, Telegram или на почту support@getcompass.ru, чтобы получить индивидуальную демонстрацию функционала и помощь по вопросам интеграции мессенджера в вашей компании.