Интеграция Континент 4.1.7 и Kaspersky Unified Monitoring and Analysis Platform

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

Если затрагивать тему защиты периметра сети межсетевым экраном, то можно отметить, что наиболее популярным решением в этой сфере является продукт компании Код Безопасности Континент 4 (далее в статье: Континент).

Континент 4 — это межсетевой экран нового поколения, обладающий нужным функционалом для сдерживания угроз ИБ. Надёжную защиту от сетевых угроз обеспечивают: система обнаружения вторжений, механизм глубокого анализа трафика, модуль поведенческого анализа на основе машинного обучения, а также модуль шифрования трафика по алгоритмам ГОСТ

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

Например:

агрегация инцидентов ИБ с текущих средств защиты;

анализ журналов безопасности и других событий для обнаружения новых потенциальных инцидентов

В данной статье мы с вами подробно рассмотрим процесс интеграции логов событий межсетевого экрана последней версии Континент 4.1.7 от вендора Код Безопасности и решения класса SIEM компании Kaspersky: KUMA.

Немного про Континент

Континент 4 NGFW — это многофункциональный межсетевой экран с поддержкой алгоритмов ГОСТ от российского разработчика Код Безопасности. Продукт предназначен для обеспечения: централизованной защиты периметра корпоративной сети, контроля доступа пользователей в Интернет, предотвращения сетевых вторжений и организации защищенного удаленного доступа.

Данное решение базируется на операционной системе собственной разработки ContinentOS, которое обладает большим количеством модулей и позволяет выполнять следующие задачи:

  • Фильтрация трафика L3-L4 уровень;

  • СОВ/СОА (IDPS) (более 30 000 сигнатур);

  • Контроль приложений (7 000 приложений);

  • L2VPN/L3VPN на базе ГОСТ-протокола;

  • Наличие VPN-клиентов для всех основных ОС — Windows, Linux, Android, MacOS и iOS;

  • Централизованное управление и логирование событий;

  • URL Filtering (более 32 категорий);

  • Потоковый антивирус;

  • GeoIP;

  • Идентификация пользователей;

  • Наличие сертификатов ФСТЭК (планируется сертификат ФСБ)

51daf4cf15d5230e97cca2c06da7b910.png

Пара слов о KUMA

Kaspersky Unified Monitoring and Analysis Platform — это решение класса SIEM для мониторинга и анализа инцидентов ИБ, которое обеспечивает гибкий комплексный подход к противодействию сложным угрозам и целевым атакам, а также объединяет решения «Лаборатории Касперского» и продукты сторонних поставщиков в единую экосистему.

KUMA обладает всеми характеристиками стандартной SIEM-системы:

  • Микросервисная архитектура обеспечивает плавное масштабирование без узких мест. Полнофункциональную систему для демонстрации можно развернуть на обычном офисном компьютере, но при необходимости решение также может быть развёрнуто и в отказоустойчивой и распределенной архитектуре с пропускной способностью 500 000 событий в секунду и выше;

  • KUMA включает предустановленные настройки для получения событий в стандартных форматах и для нормализации их в единый формат (CEF), а также имеет примеры корреляционных правил. Список поддерживаемых протоколов и форматов входящих данных, как и список готовых к использованию из коробки ресурсов, постоянно пополняется;

  • Настройка всех компонентов KUMA выполняется в графическом интерфейсе. Функционал настройки довольно удобный и прост в освоении. Специальных знаний для начала работы с системой не требуется. Но если проблемы всё-таки возникнут: на сайте https://support.kaspersky.com/help/KUMA/2.1/en-US/251751.htm можно ознакомиться с документацией, а также пройти обучающий онлайн курс

Отличительными особенностями Kaspersky Unified Monitoring and Analysis Platform являются широкие возможности по обогащению событий из внешних источников и возможная интеграция с экосистемой продуктов и сервисов «Лаборатории Касперского».Наиболее интересная интеграция с endpoint агентами:  можно настроить перенос в карантин зараженного участка сети при обнаружении вирусной активности. И это только малая часть функционала KUMA. Более подробно об этом можно узнать на официальном сайте решения:  https://www.kaspersky.ru/enterprise-security/unified-monitoring-and-analysis-platform

На иллюстрации представлена архитектура системы:

9e6b51146a5f5247ddf9ae3bae0b2cc6.png

Интеграция Континент и KUMA

Перейдём к главной теме нашей статьи: процессу интеграции продуктов.

  1. Начинается все с отправки потока событий от Континента в коллектор KUMA.

Для этого нужно перейти во вкладку «журналирование и оповещение» в настройках узла безопасности на Континенте. Далее прописывается место, куда мы отправляем события, IP адрес коннектора KUMA, порт, на котором висит служба и указывается протокол TCP/UDP.

1217807ad36d62b40af7056a477cc9a2.png

Затем мы проводим проверку того, что трафик доходит до коллектора через tcpdump. Заранее в графической настройке на KUMA публикуется порт и протокол для приема событий.

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

Здесь важно уточнить, что от версии Континента зависит многое: события со шлюза 3.9 отличаются от событий 4.1.
Для версии 4.1 готового парсера в KUMA нет, поэтому мы напишем его сами.

Пример событий, которое отправляется по syslog с Континента:

<13>1 2023–09–12T07:47:39.502975+00:00 CUS417.domain-44091 ulogd — — [NXLOG@14506 timestamp=»2023–09–12 07:47:39» timestamp_str=»2023–09–12T07:47:39.502975+00:00» sensor_id=»44091» event_type=«firewall» src_ip=»203.0.115.201» src_port=»5678» dest_ip=»255.255.255.255» dest_port=»5678» proto=«UDP» action=«allowed» signature_id=»16» signature=«Any» category=«Firewall» msgrepeatcount=»0» revision=»0» dest_country=«private» src_country=«CN» username=» EventReceivedTime=»2023–09–12 07:47:40» SourceModuleName=«idslog_dbi_in_10.10.30.195» SourceModuleType=«im_dbi»]
<77>1 2023–09–08T10:01:01.702472+00:00 UB417-n1.domain-44091 — — — [NXLOG@14506 timestamp=»2023–09–08 10:01:01» timestamp_str=»2023–09–08T10:01:01.702472+00:00» msgrepeatcount=»0» hwserial=»10001» EventReceivedTime=»2023–09–08 10:01:05» SourceModuleName=«syslog_dbi_in_10.10.30.195» SourceModuleType=«im_dbi»] run-parts (/etc/cron.hourly)[8179]: finished db_rotate

Формат событий: syslog.
Сначала разберём сообщения с помощью regex HEADER и сохраним фактическую информацию о произошедшем событии в поле MSG.

286714e8c0e30e60fc447c5fd9e7ff23.jpg

После этого разберём поле MSG с помощью key-value процессора:

f96108a1727f7e09a3b7b9c3438f82b5.jpg

Далее отдельные поля мы будем редактировать в зависимости от того, какая служба прислала сообщения: например firewall, AntiVirus, или системные сообщения.

Для примера возьмём разбор событий Antivirus:

c66dc855a869fb46409757f2c01b0188.jpg

И затем отдельно разберем строку ссылки, по которой будет проведена потенциальная попытка скачать антивирус:

165d792f8b3e8f5ff11dd77824815a16.jpg

Абсолютно весь конфиг мы показывать не будем, но рассмотрим то, что получилось в сумме:

На нем представлена блок-схема по парсингу и нормализации информации и отдельно настройки по событиям IPS, Antivirus, Firewall и системные события.

Для системных событий можно добавить дополнительные парсеры в зависимости от входящих событий, но это уже будет избыточно. Если потребуется в будущем: дополнительный парсер можно добавить в любой момент.

8899e3d25be42b02ff53a9e224ea78aa.jpg

После этого взглянем на нормализованные события Континент.Видим, что события разобраны и необходимые поля нормализованы:

8f74b01f776184ebbe8b55a6fdd61dd2.jpg

Настройка корреляции и оповещения в Telegram

Ключевое, что нам важно понимать при настройке и создании правил:

  1. Что мы хотим получать на выходе от системы

  2. Какие инциденты должны создаваться

  3. Что нам необходимо мониторить

Это мы можем знать еще до того, как заведем систему в SIEM, либо поймём в процессе аналитики событий, которые будут «валиться» в систему.

В случае Континента это довольно просто: нас интересуют события IPS, AntiVirus, блокировки приложения, аутентификация администратора в системе.

Необходим мониторинг и обнаружение вышеупомянутых событий и оповещение специалистов ИБ, которые будут разбирать появившиеся алерты далее:

  1. Задачу обнаружения инцидентов мы решим через создание правил корреляции

  2. Второй пункт будет решаться через настройку оповещения в телеграмм

Создадим 5 правил корреляции:

  • обнаружение вирусов

  • блокировка приложения для пользователя

  • аутентификация пользователя на Континенте

  • Установка политики

  • события IPS

  1. Блокировка приложения:

46228b04eef045e72c940c3ee89c4534.jpg

2. Аутентификация пользователя:

ab98e0c7aee5692a95ee6b278decbd5a.jpg

3. Обнаружение вирусов:

4d7b0935f5662e92f31b5f733b30e23c.jpg

4. Установка политики: Задаем фильтр для поиска событий аутентификации администратора системы:

15021f9a2d0e060b3a8aa870e93209b0.jpg

5. Сработки IPS: Здесь мы настраиваем пороги.Алертим, если у нас с одного и того же IP адреса (SourceAddress) прилетело за 300 секунд от 3 событий:

30811973bbe7bf3a32deac8ea7f634d0.jpg21ac412af130c1dd3a667c1e5fab78b1.jpg

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

Ниже проиллюстрированы некоторые сработки алертов:

  1. Сработка обнаружения вируса:

f37c9a9e278cd0c8f3a6f1adf8a12a27.jpg

2. Сработки IPS:

be169e9a6dd71c3a2b0b715891600b50.jpg

Для оповещений о событии в Telegram настраивается автоматическая реакция скриптом при создании алерта.

Документацию по настройке и сам скрипт можно найти на сайте комьюнити продукта KUMA. Мы лишь добавим, что для этого обязательно нужно будет создать своего бота в Telegram, собрать общий чат и получить ID этого чата.

Всю эту информацию добавляем в виде параметров в скрипт и проверяем работу. В результате в тг нам приходит информация о сработке и ссылка на Web-интерфейс.

Пример сообщений вы можете увидеть на изображении:

5044f5028ed62ee59890a56a2f11ece8.png

Также можно добавить дополнительный текст в тело алерта: для этого надо модернизировать скрипт.

В идеале: в данном чате должны состоять ваши инженеры по ИБ проекта и при поступлении событий сразу проводить анализ инцидента и его проверку.

Разумеется, если у вас есть система IRP,  можно отправлять события туда вместо Telegram.

Дашборды

Перейдём к последней части: настроим красивый дашборд для отображения статистики по событиям Континента. Настраивается визуализация через select-запросы.

Приведем пример настройки визуализации отображения обнаруженных сигнатур вирусных файлов и IPS сигнатур:

633eeddd33a4ef711aaab7412d2904da.jpg

В итоге у нас получается дашборд с различной статистикой:

  • количество логов по функционалу

  • общее количество логов

  • количество обнаруженных алертов/инцидентов

  • таблица по событиям ИБ и временная статистика по обнаруженным вирусным файлам

2f5ae1b87ab8a6a953520a214e8b78c3.jpg

В текущем приложении больше всего внимания мы уделили событиям ИБ, как в случае разбора трафика, так и в написании алертов и дашборде. В итоге полученным можно пользоваться и в текущей версии, разумеется, подстраивая приложение под себя.

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

Спасибо за уделенное время и до встречи в следующих статьях!

Авторы статьи: Ряскин Глеб, Инженер отдела интеграций в TS Solution и Кобяков Антон, Руководитель проектов группы «Код Безопасности» и «UserGate» в TS Solution

© Habrahabr.ru