Создание коллектора
Коллектор состоит из двух частей: одна часть создается внутри веб-интерфейса KUMA, а другая устанавливается на сервере сетевой инфраструктуры, предназначенном для получения событий.
Действия в веб-интерфейсе KUMA
Создание коллектора в веб-интерфейсе KUMA производится с помощью мастера установки, в процессе выполнения которого необходимые ресурсы объединяются в набор ресурсов для коллектора, а по завершении мастера на основе этого набора ресурсов автоматически создается и сам сервис.
Чтобы создать коллектор в веб-интерфейсе KUMA,
Запустите мастер установки коллектора:
- В веб-интерфейсе KUMA в разделе Ресурсы нажмите на кнопку Подключить источник.
- В веб-интерфейсе KUMA в разделе Ресурсы → Коллекторы нажмите на кнопку Добавить коллектор.
В результате выполнения шагов мастера в веб-интерфейсе KUMA создается сервис коллектора.
В набор ресурсов для коллектора объединяются следующие ресурсы:
Эти ресурсы можно подготовить заранее, а можно создать в процессе выполнения мастера установки.
Действия на сервере коллектора KUMA
При установке коллектора на сервер, предназначенный для получения событий, требуется запустить команду, которая отображается на последнем шаге мастера установки. При установке необходимо указать идентификатор, автоматически присвоенный сервису в веб-интерфейсе KUMA, а также используемый для связи порт.
Проверка установки
После создания коллектора рекомендуется убедиться в правильности его работы.
В начало
[Topic 217765]
Запуск мастера установки коллектора
Коллектор состоит из двух частей: одна часть создается внутри веб-интерфейса KUMA, а другая устанавливается на сервере сетевой инфраструктуры, предназначенной для получения событий. В мастере установки создается первая часть коллектора.
Чтобы запустить мастер установки коллектора:
- В веб-интерфейсе KUMA в разделе Ресурсы нажмите Подключить источник.
- В веб-интерфейсе KUMA в разделе Ресурсы → Коллекторы нажмите Добавить коллектор.
Следуйте указаниям мастера.
Шаги мастера, кроме первого и последнего, можно выполнять в произвольном порядке. Переключаться между шагами можно с помощью кнопок Вперед и Назад, а также нажимая на названия шагов в левой части окна.
По завершении мастера в веб-интерфейсе KUMA в разделе Ресурсы → Коллекторы создается набор ресурсов для коллектора, а в разделе Ресурсы → Активные сервисы добавляется сервис коллектора.
В начало
[Topic 220707]
Шаг 1. Подключение источников событий
Это обязательный шаг мастера установки. На этом шаге указываются основные параметры коллектора: название и тенант, которому он будет принадлежать.
Чтобы задать общие параметры коллектора:
- На вкладке Основные параметры заполните следующие поля:
- В поле Название коллектора введите уникальное имя создаваемого сервиса. Название должно содержать от 1 до 128 символов в кодировке Unicode.
При создании некоторых типов коллекторов вместе с ними автоматически создаются агенты, имеющие название "agent: <Название коллектора>, auto created". Если такой агент уже создавался ранее и не был удален, то коллектор с названием <Название коллектора> невозможно будет создать. В такой ситуации необходимо или указать другое название коллектора, или удалить ранее созданный агент.
- В раскрывающемся списке Тенант выберите тенант, которому будет принадлежать коллектор. От выбора тенанта зависит, какие ресурсы будут доступны при его создании.
Если вы с какого-либо последующего шага мастера установки вернетесь в это окно и выберите другой тенант, вам потребуется вручную изменить все ресурсы, которые вы успели добавить в сервис. В сервис можно добавлять только ресурсы из выбранного и общего тенантов.
- В поле Рабочие процессы при необходимости укажите количество процессов, которые может одновременно запускать сервис. По умолчанию количество рабочих процессов соответствует количеству vCPU сервера, на котором установлен сервис.
- В поле Описание можно добавить описание сервиса: до 256 символов в кодировке Unicode.
- На вкладке Дополнительные параметры заполните следующие поля:
- При необходимости с помощью переключателя Отладка включите логирование операций сервиса. Сообщения об ошибках сервиса коллектора помещаются в журнал, даже если режим отладки выключен. Журнал можно просмотреть на машине, где установлен коллектор, в директории /opt/kaspersky/kuma/collector/<идентификатор коллектора>/log/collector.
- Переключатель Периодическое создание дампа используется по запросу Службы технической поддержки для генерации отчетов по потреблению ресурсов (cpu, ram и т.д.) в виде дампов.
- В поле Настройки дампа вы можете указать параметры создания дампа. Порядок заполнения этого поля уточняйте у Службы технической поддержки.
Общие параметры коллектора будут заданы. Перейдите к следующему шагу мастера установки.
В начало
[Topic 220710]
Шаг 2. Транспорт
Это обязательный шаг мастера установки. На вкладке мастера установки Транспорт следует выбрать или создать коннектор, в параметрах которого будет определено, откуда сервис коллектора должен получать события.
Чтобы добавить в набор ресурсов существующий коннектор,
выберите в раскрывающемся списке Коннектор название нужного коннектора.
На вкладке мастера установки Транспорт отобразятся параметры выбранного коннектора. Выбранный коннектор можно открыть для редактирования в новой вкладке браузера с помощью кнопки
.
Чтобы создать новый коннектор:
- Выберите в раскрывающемся списке Коннектор пункт Создать.
- В раскрывающемся списке Тип выберите тип коннектора и укажите его параметры на вкладках Основные параметры и Дополнительные параметры. Набор доступных параметров зависит от выбранного типа коннектора:
При использовании типа коннектора tcp или udp на этапе нормализации в поле событий DeviceAddress, если оно пустое, будут записаны IP-адреса устройств, с которых были получены события.
При использовании типа коннектора wmi, wec или etw будут автоматически созданы агенты для приема событий Windows.
Рекомендуется использовать кодировку по умолчанию (то есть UTF-8) и применять другие параметры только при получении в полях событий битых символов.
Для настройки коллекторов KUMA на прослушивание портов с номерами меньше 1000 сервис нужного коллектора необходимо запускать с правами root. Для этого после установки коллектора в его конфигурационный файл systemd в раздел [Service] требуется дописать строку AmbientCapabilities=CAP_NET_BIND_SERVICE
.
Systemd-файл располагается в директории /usr/lib/systemd/system/kuma-collector-<идентификатор коллектора
>.service.
Коннектор добавлен в набор ресурсов коллектора. Созданный коннектор доступен только в этом наборе ресурсов и не отображается в разделе веб-интерфейса Ресурсы → Коннекторы.
Перейдите к следующему шагу мастера установки.
В начало
[Topic 220711]
Шаг 3. Парсинг событий
Развернуть всё | Свернуть всё
Это обязательный шаг мастера установки. На вкладке мастера установки Парсинг событий вам нужно нажать на кнопку + Добавить парсинг событий, после чего в открывшемся окне Основной парсинг событий в раскрывающемся списке Нормализатор выбрать или создать нормализатор. В параметрах нормализатора необходимо определить правила преобразования сырых событий в нормализованные. В нормализатор можно добавить несколько правил парсинга событий, реализуя таким образом сложную логику обработки событий. Вы можете протестировать работу нормализатора, используя тестовые события.
При создании нового нормализатора в мастере установки нормализатор по умолчанию сохраняется в наборе ресурсов для коллектора. Вы не можете использовать созданный нормализатор в других коллекторах. Вы можете установить флажок Сохранить нормализатор, чтобы создать нормализатор в виде отдельного ресурса. В этом случае нормализатор будет доступен для выбора в других коллекторах тенанта.
Если при изменении параметров набора ресурсов коллектора вы измените или удалите преобразования в подключенном к набору ресурсов коллектора нормализаторе, правки не сохранятся, а сам нормализатор может быть поврежден. При необходимости изменить преобразования в нормализаторе, который уже является частью сервиса, внесите правки непосредственно в нормализатор в разделе веб-интерфейса Ресурсы → Нормализаторы.
Добавление нормализатора в набор ресурсов
Чтобы добавить нормализатор в набор ресурсов:
- Нажмите на кнопку + Добавить парсинг событий.
Откроется окно Основной парсинг событий с параметрами нормализатора. По умолчанию будет выбрана вкладка Схема нормализации.
- В раскрывающемся списке Нормализатор выберите нормализатор. Вы можете выбрать нормализатор, который принадлежит тенанту коллектора или общему тенанту.
Отобразятся параметры нормализатора.
Если вы хотите изменить параметры нормализатора, в раскрывающемся списке Нормализатор нажмите на значок карандаша
рядом с названием нормализатора и в открывшемся окне Редактирование нормализатора нажмите на темный кружок. Откроется окно Основной парсинг событий с параметрами нормализатора. Если вы хотите настроить параметры дополнительного парсинга, в окне Редактирование нормализатора наведите курсор на темный кружок и нажмите на отобразившийся значок плюса. Откроется окно Дополнительный парсинг событий с параметрами дополнительного парсинга. Подробнее о настройке параметров дополнительного парсинга событий см. ниже в разделе Создание структуры правил нормализации событий.
- Нажмите на кнопку ОК.
Нормализатор будет добавлен и отобразится в виде темного кружка на вкладке мастера установки Парсинг событий. Вы можете нажать на темный кружок, чтобы просмотреть параметры нормализатора.
Чтобы создать в коллекторе новый нормализатор:
- Нажмите на кнопку + Добавить парсинг событий.
Откроется окно Основной парсинг событий с параметрами нормализатора. По умолчанию будет выбрана вкладка Схема нормализации.
- Если хотите создать нормализатор в виде отдельного ресурса, установите флажок Сохранить нормализатор. Если флажок установлен, нормализатор будет доступен для выбора в других коллекторах тенанта. По умолчанию флажок снят.
- В поле Название введите уникальное имя нормализатора. Максимальная длина имени: до 128 символов в кодировке Unicode.
- В раскрывающемся списке Метод парсинга выберите тип получаемых событий. В зависимости от выбранного значения вы можете использовать преднастроенные правила сопоставления полей событий или указать правила вручную. При выборе определенных методов парсинга могут стать доступны дополнительные параметры, для которых вам нужно указать значения.
Доступные методы парсинга:
- json.
Этот метод парсинга используется для обработки данных в формате JSON, в которых каждый объект, включая его вложенные объекты, занимает одну строку файла.
При обработке файлов с иерархически выстроенными данными вы можете обращаться к полям вложенных объектов, указывая названия параметров поочередно через точку. Например, к параметру username
из строки "user":{"username":"system:node:example-01"}
можно обратиться с помощью запроса user.username
.
Файлы обрабатываются построчно. Многострочные объекты с вложенными структурами могут быть нормализованы неправильно.
В сложных схемах нормализации, где используются дополнительные нормализаторы, все вложенные объекты обрабатываются на первом уровне нормализации за исключением случаев, когда условия дополнительной нормализации не заданы и обрабатываемое событие целиком передается в дополнительный нормализатор.
В качестве разделителя строк вы можете использовать символы \n
и \r\n
. Строки должны быть в кодировке UTF-8.
Если вы хотите передавать сырое событие для дополнительной нормализации, на каждом уровне вложенности в окне Дополнительный парсинг события в раскрывающемся списке Использовать сырое событие выберите Да.
- cef.
Этот метод парсинга используется для обработки данных в формате CEF.
При выборе этого метода парсинга вы можете использовать преднастроенные правила преобразования событий в формат KUMA, нажав на кнопку Применить сопоставление по умолчанию.
- regexp.
Этот метод парсинга используется для создания собственных правил обработки данных в формате с использованием регулярных выражений.
Вам нужно добавить регулярное выражение (синтаксис RE2) c именованными группами захвата в поле блока параметров Нормализация. Имя группы захвата и ее значение будут считаться полем и значением сырого события, которое можно будет преобразовать в поле события формата KUMA.
Чтобы добавить правила обработки событий:
- При необходимости в поле Примеры событий скопируйте пример данных, которые вы хотите обработать. Мы рекомендуем выполнить этот шаг.
- В поле блока параметров Нормализация добавьте регулярное выражение c именованными группами захвата в синтаксисе RE2, например
"(?P<name>regexp)"
. Регулярное выражение, добавленное в поле блока параметров Нормализация, должно полностью совпадать с событием. При разработке регулярного выражения рекомендуется использовать специальные символы, обозначающие начало и конец текста: ^
, $
.Вы можете добавить несколько регулярных выражений или удалить регулярные выражения. Для добавления регулярного выражения нажмите на кнопку Добавить регулярное выражение. Для удаления регулярного выражения нажмите рядом с ним на значок удаления
.
- Нажмите на кнопку Перенести названия полей в таблицу.
Имена групп захвата отображаются в столбце Поле KUMA таблицы Сопоставление. Вы можете выбрать соответствующее группе захвата поле KUMA в столбце напротив каждой группы захвата. Если вы именовали группы захвата в соответствии с форматом CEF, вы можете использовать автоматическое сопоставление CEF, установив флажок Использовать синтаксис CEF при нормализации.
Правила обработки событий будут добавлены.
- syslog.
Этот метод парсинга используется для обработки данных в формате syslog.
При выборе этого метода парсинга вы можете использовать преднастроенные правила преобразования событий в формат KUMA, нажав на кнопку Применить сопоставление по умолчанию.
Для парсинга событий в формате rfc5424 с секцией structured-data
вам нужно в раскрывающемся списке Сохранить дополнительные поля выбрать Да. В этом случае значения из секции structured-data
станут доступны в полях Extra
.
- csv.
Этот метод парсинга используется для создания собственных правил обработки данных в формате CSV.
При выборе этого метода парсинга вам нужно в поле Разделитель указать разделитель значений в строке. В качестве разделителя значений в строке можно использовать любой однобайтовый символ ASCII.
- kv.
Этот метод парсинга используется для обработки данных в формате ключ-значение. Доступные параметры метода парсинга описаны в таблице ниже.
Доступные параметры метода парсинга
Параметр
|
Описание
|
Разделитель пар
|
Символ для разделения пар ключ-значение. Вы можете указать любое односимвольное (1 байт) значение. Указанное значение не должно совпадать со значением, указанным в поле Разделитель значений.
|
Разделитель значений
|
Символ для разделения ключа и значения. Вы можете указать любое односимвольное (1 байт) значение. Указанное значение не должно совпадать со значением, указанным в поле Разделитель пар.
|
- xml.
Этот метод парсинга используется для обработки данных в формате XML, в которых каждый объект, включая вложенные объекты, занимает одну строку файла. Файлы обрабатываются построчно.
Если вы хотите передавать сырое событие для дополнительной нормализации, на каждом уровне вложенности в окне Дополнительный парсинг события в раскрывающемся списке Использовать сырое событие выберите Да.
При выборе этого метода парсинга вы можете указать ключевые атрибуты XML, которые требуется извлекать из тегов, в блоке параметров Атрибуты XML. Если в структуре XML в одном теге есть атрибуты XML с разными значениями, вы можете определить значение, указав ключ к значению в столбце Исходные данные таблицы Сопоставление.
Чтобы добавить ключевые атрибуты XML:
- Нажмите на кнопку + Добавить поле.
- В открывшемся окне укажите путь к атрибуту XML.
Вы можете добавить несколько атрибутов XML и удалить атрибуты XML. Для удаления отдельного атрибута XML нажмите рядом с ним на значок удаления
. Для удаления всех атрибутов XML нажмите на кнопку Сбросить.
Если ключевые атрибуты XML не указаны, при сопоставлении полей уникальный путь к значению XML будет представлен последовательностью тегов.
Нумерация тегов
Начиная с версии KUMA 2.1.3 доступна автоматическая нумерация тегов в событиях в формате XML. Это позволяет распарсить событие с одинаковыми тегами или неименованными тегами, такими как <Data>
.
В качестве примера мы используем нумерацию тегов атрибута EventData
события Microsoft Windows PowerShell event ID 800.
<Event xmlns="http://schemas .microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Microsoft-Windows-ActiveDirectory_DomainService" Guid="{0e8478c5-3605-4e8c-8497-1e730c959516}" EventSourceName="NTDS" />
<EventID Qualifiers="0000">0000</EventID>
<Version>@</Version>
<Level>4</Level>
<Task>15</Task>
<Opcode>0</Opcode>
<Keywords >0x8080000000000000</Keywords>
<TimeCreated SystemTime="2000-01-01T00:00:00.659495900Z" />
<EventRecordID>55647</EventRecordID>
<Correlation />
<Execution ProcessID="1" ThreadID="1" />
<Channel>service</Channel>
<Computer>computer</Computer>
<Security UserID="0000" />
</System>
<EventData>
<Data>583</Data>
<Data>36</Data>
<Data>192.168.0.1:5084</Data>
<Data>level</Data>
<Data>name, lDAPDisplayName</Data>
<Data />
<Data>5545</Data>
<Data>3</Data>
<Data>0</Data>
<Data>0</Data>
<Data>0</Data>
<Data>15</Data>
<Data>none</Data>
</EventData>
</Event>
Для парсинга событий с одинаковыми тегами или неименованными тегами вам нужно настроить нумерацию тегов и маппинг данных для пронумерованных тегов с полями события KUMA.
KUMA 3.0.x поддерживает одновременное использование атрибутов XML и нумерации тегов в рамках одного экстранормализатора. Если атрибут XML содержит неименованные теги или одинаковые теги, мы рекомендуем использовать нумерацию тегов. Если атрибут XML содержит только именованные теги, мы рекомендуем использовать атрибуты XML.
Для использования атрибутов XML и нумерации тегов в экстранормализаторах вам нужно последовательно включить параметр Использовать сырое событие в каждом экстранормализаторе по пути следования события в целевой экстранормализатор и в целевом экстранормализаторе.
В качестве примера работы нумерации тегов вы можете обратиться к нормализатору MicrosoftProducts. Параметр Использовать сырое событие включен последовательно в экстранормализаторах AD FS и 424.
Чтобы настроить парсинг событий с неименованными или одинаковыми тегами:
- Откройте существующий или создайте новый нормализатор.
- В окне нормализатора Основной парсинг событий в раскрывающемся списке Метод парсинга выберите xml.
- В поле Нумерация тегов нажмите на кнопку + Добавить поле.
- В отобразившемся поле укажите полный путь к тегу, элементам которого требуется присвоить порядковый номер, например
Event.EventData.Data
. Первому тегу будет присвоен номер 0. Если тег пустой, например <Data />
, ему также будет присвоен порядковый номер. - Для настройки маппинга данных в группе параметров Сопоставление нажмите на кнопку + Добавить строку и выполните следующие действия:
- В отобразившейся строке в поле Исходные данные укажите полный путь к тегу и индекс тега. Например, для события Microsoft Windows PowerShell event ID 800 из примера выше полные пути к тегам и индексы тегов будут выглядеть следующим образом:
Event.EventData.Data.0
;Event.EventData.Data.1
;Event.EventData.Data.2
и так далее.
- В раскрывающемся списке Поле KUMA выберите поле в событии KUMA, в которое попадет значение из пронумерованного тега после выполнения парсинга.
- Сохраните изменения одним из следующих способов:
- Если вы создали новый нормализатор, нажмите на кнопку Сохранить.
- Если вы изменили существующий нормализатор, в коллекторе, к которому привязан нормализатор, нажмите на кнопку Обновить параметры.
Настройка парсинга будет завершена.
- netflow.
Этот метод парсинга используется для обработки данных во всех поддерживаемых форматах на основе протокола NetFlow: NetFlow v5, NetFlow v9 и IPFIX.
При выборе этого метода парсинга вы можете использовать преднастроенные правила преобразования событий в формат KUMA, нажав на кнопку Применить сопоставление по умолчанию. При этом будут учтены исходные поля всех версий NetFlow (NetFlow v5, NetFlow v9 и IPFIX).
Если метод парсинга netflow выбран для основного парсинга, дополнительная нормализация недоступна.
В правилах сопоставления по умолчанию для метода парсинга netflow в полях событий KUMA не указывается тип протокола. При парсинге данных в формате NetFlow на вкладке нормализатора Обогащение вам нужно создать правило обогащения данных типа constant, добавляющее значение netflow
в целевое поле DeviceProduct
.
- netflow5.
Этот метод парсинга используется для обработки данных в формате NetFlow v5.
При выборе этого метода парсинга вы можете использовать преднастроенные правила преобразования событий в формат KUMA, нажав на кнопку Применить сопоставление по умолчанию. Если метод парсинга netflow5 выбран для основного парсинга, дополнительная нормализация недоступна.
В правилах сопоставления по умолчанию для метода парсинга netflow5 в полях событий KUMA не указывается тип протокола. При парсинге данных в формате NetFlow на вкладке нормализатора Обогащение вам нужно создать правило обогащения данных типа constant, добавляющее значение netflow
в целевое поле DeviceProduct
.
- netflow9.
Этот метод парсинга используется для обработки данных в формате NetFlow v9.
При выборе этого метода парсинга вы можете использовать преднастроенные правила преобразования событий в формат KUMA, нажав на кнопку Применить сопоставление по умолчанию. Если метод парсинга netflow9 выбран для основного парсинга, дополнительная нормализация недоступна.
В правилах сопоставления по умолчанию для метода парсинга netflow9 в полях событий KUMA не указывается тип протокола. При парсинге данных в формате NetFlow на вкладке нормализатора Обогащение вам нужно создать правило обогащения данных типа constant, добавляющее значение netflow
в целевое поле DeviceProduct
.
- sflow5.
Этот метод парсинга используется для обработки данных в формате sflow5.
При выборе этого метода парсинга вы можете использовать преднастроенные правила преобразования событий в формат KUMA, нажав на кнопку Применить сопоставление по умолчанию. Если метод парсинга sflow5 выбран для основного парсинга, дополнительная нормализация недоступна.
- ipfix.
Этот метод парсинга используется для обработки данных в формате IPFIX.
При выборе этого метода парсинга вы можете использовать преднастроенные правила преобразования событий в формат KUMA, нажав на кнопку Применить сопоставление по умолчанию. Если метод парсинга ipfix выбран для основного парсинга, дополнительная нормализация недоступна.
В правилах сопоставления по умолчанию для метода парсинга ipfix в полях событий KUMA не указывается тип протокола. При парсинге данных в формате NetFlow на вкладке нормализатора Обогащение вам нужно создать правило обогащения данных типа constant, добавляющее значение netflow
в целевое поле DeviceProduct
.
- sql – этот метод парсинга становится доступным, только если на шаге Транспорт мастера установки вы указали коннектор с типом sql.
Нормализатор использует этот метод парсинга для обработки данных, полученных с помощью выборки из базы данных.
- В раскрывающемся списке Сохранить исходное событие выберите, требуется ли сохранять исходное сырое событие в повторно созданном нормализованном событии:
- Не сохранять – не сохранять исходное событие. Это значение выбрано по умолчанию.
- При возникновении ошибок – сохранять исходное событие в поле
Raw
нормализованного события, если в процессе парсинга возникли ошибки. Вы можете использовать это значение при отладке сервиса. В этом случае появление у событий непустого поля Raw
будет являться признаком неполадок. - Всегда – сохранять сырое событие в поле
Raw
нормализованного события.
- В раскрывающемся списке Сохранить дополнительные поля выберите, требуется ли сохранять поля исходного события в нормализованном событии, если для них не было настроено сопоставление (см. шаг 8 этой инструкции):
- Нет. Это значение выбрано по умолчанию.
- Да. Поля исходного события сохраняются в поле
Extra
нормализованного события.
- При необходимости в поле Примеры событий укажите пример данных, которые вы хотите обработать. Мы рекомендуем выполнить этот шаг.
- В таблице Сопоставление настройте сопоставление полей исходного события с полями событий KUMA:
- Нажмите на кнопку + Добавить строку.
Вы можете добавить несколько строк таблицы или удалить строки таблицы. Для удаления строки таблицы установите рядом с ней флажок и нажмите на кнопку Удалить.
- В столбце Исходные данные укажите название поля исходного события, которое вы хотите сопоставить с полем события KUMA.
Подробнее о формате названий полей см. в статье Модель данных нормализованного события. Описание сопоставления см. в статье Сопоставление полей предустановленных нормализаторов.
Если вы хотите создать правила изменения полей исходного события перед записью в поля событий KUMA, нажмите на значок настройки
рядом с названием поля и в открывшемся окне Преобразование нажмите на кнопку + Добавить преобразование. Вы можете изменить порядок правил и удалить правила. Для изменения порядка правил используйте значки изменения порядка
. Для удаления правила нажмите рядом с ним на значок удаления
.
Доступные преобразования
Преобразования – это изменения, которые можно применить к значению до того, как оно будет записано в поле события. Тип преобразования выбирается в раскрывающемся списке.
Доступные преобразования:
- lower – используется для перевода всех символов значения в нижний регистр
- upper – используется для перевода всех символов значения в верхний регистр
- regexp – используется для преобразования значения с помощью регулярного выражения RE2. Поле, в которое следует добавить регулярное выражение, появляется, когда выбран этот тип преобразования.
- substring – используется для извлечения символов в диапазоне позиций, указанном в полях Начало и Конец. Эти поля появляются, когда выбран данный тип преобразования.
- replace – используется для замены указанной последовательности символов на другую последовательность символов. Когда выбран этот тип преобразования, появляются новые поля:
- Символы на замену – в этом поле вы можете указать последовательность символов, которую следует заменить.
- Чем заменить – в этом поле вы можете указать последовательность символов, которая должна использоваться вместо заменяемой последовательности символов.
- trim – используется для удаления одновременно с начала и с конца значения поля события символов, указанных в поле Символы. Это поле появляется при выборе данного типа преобразования. Например, если для значения
Microsoft-Windows-Sysmon
выполнить преобразование trim со значением Micromon
, то получается значение soft-Windows-Sys
. - append – используется для добавления в конец значения поля события символов, указанных в поле Константа. Это поле появляется при выборе данного типа преобразования.
- prepend – используется для добавления к началу значения поля события символов, указанных в поле Константа. Это поле появляется при выборе данного типа преобразования.
- replace with regexp – используется для замены результатов регулярного выражения RE2 на последовательность символов.
- Выражение – в этом поле вы можете указать регулярное выражение, результаты которого следует заменить.
- Чем заменить – в этом поле вы можете указать последовательность символов, которая должна использоваться вместо заменяемой последовательности символов.
- Конвертация закодированных строк в текст:
- decodeHexString – используется для конвертации HEX-строки в текст.
- decodeBase64String – используется для конвертации Base64-строки в текст.
- decodeBase64URLString – используется для конвертации Base64url-строки в текст.
При конвертации поврежденной строки или при ошибках конвертации в поле события могут быть записаны поврежденные данные.
При обогащении событий, если длина закодированной строки превышает размер поля нормализованного события, такая строка будет обрезана и не будет раскодирована.
Если длина раскодированной строки превышает размер поля события, в которое должно быть помещено раскодированное значение, такая строка будет обрезана до размера этого поля события.
Преобразования при использовании расширенной схемы событий
Возможность использования преобразования зависит от типа используемого поля расширенной схемы событий:
- для дополнительное поле с типом «Строка» доступны все типы преобразований.
- для полей с типами «Число», «Число с плавающей точкой» доступны следующие виды преобразований: regexp, substring, replace, trim, append, prepend, replaceWithRegexp, decodeHexString, decodeBase64String, decodeBase64URLString.
- для полей с типами «Массив строк», «Массив чисел» и «Массив чисел с плавающей точкой» доступны следующие виды преобразований: append, prepend.
Если на шаге Транспорт мастера установки вы указали коннектор с типом file, вы можете передать в поле события KUMA название обрабатываемого коллектором файла или путь к файлу. Для этого в столбце Исходные данные укажите одно из следующих значений:
$kuma_fileSourceName
– передать в поле события KUMA название обрабатываемого коллектором файла.$kuma_fileSourcePath
– передать в поле события KUMA путь к обрабатываемому коллектором файлу.
Когда вы используете коннектор с типом file, новые переменные в нормализаторе будут работать только с точками назначения с типом internal.
- В столбце Поле KUMA в раскрывающемся списке выберите поле события KUMA. Вы можете найти поле события KUMA, введя его названия. Если название поля события KUMA начинается с
DeviceCustom*
и Flex*
, при необходимости в поле Подпись укажите уникальную пользовательскую метку.
Если вы хотите, чтобы KUMA могла выполнить обогащение событий данными об активах и данные об активах были доступны в карточке алерта при срабатывании корреляционного правила, в таблице Сопоставление вам нужно настроить сопоставление полей для адреса хоста и имени хоста в зависимости от назначения актива. Например, вы можете настроить сопоставление для полей событий KUMA SourceAddress и SourceHostName, или DestinationAddress и DestinationHostName. В результате обогащения в карточке события появится поле события KUMA SourceAssetID или DestinationAssetID и ссылка, по которой можно будет перейти в карточку актива. В результате обогащения сведения об активе также будут доступны в карточке алерта.
Если вы загрузили данные в поле Примеры событий, в таблице отобразится столбец Примеры с примерами значений, переносимых из поля исходного события в поле события KUMA.
- Нажмите на кнопку ОК.
Нормализатор будет создан и отобразится в виде темного кружка на вкладке мастера установки Парсинг событий. Вы можете нажать на темный кружок, чтобы просмотреть параметры нормализатора. Если вы хотите настроить параметры дополнительного парсинга наведите курсор на темный кружок и нажмите на отобразившийся значок плюса. Откроется окно Дополнительный парсинг событий с параметрами дополнительного парсинга. Подробнее о настройке параметров дополнительного парсинга событий см. ниже в разделе Создание структуры правил нормализации событий.
Обогащение нормализованного события дополнительными данными
Вы можете создавать в нормализаторе правила обогащения, чтобы добавлять дополнительные данные в созданные нормализованные события. Правила обогащения хранятся в нормализаторе, в котором они были созданы.
Чтобы добавить правила обогащения в нормализатор:
- Выберите основное или дополнительное правило нормализации и в открывшемся окне выберите вкладку Обогащение.
- Нажмите на кнопку + Добавить обогащение.
Отобразится блок параметров правила обогащения. Вы можете добавить несколько правил обогащения или удалить правила обогащения. Для удаления правила обогащения нажмите рядом с ним на значок удаления
.
- В раскрывающемся списке Исходный тип выберите тип источника обогащения. При выборе определенных типов источника обогащения могут стать доступны дополнительные параметры, для которых вам нужно указать значения.
Доступные типы источников обогащения:
- константа
Этот тип обогащения используется, если в поле события необходимо добавить константу. Доступные параметры типа обогащения описаны в таблице ниже.
Доступные параметры типа обогащения
Параметр
|
Описание
|
Константа
|
Значение, которое требуется добавить в поле события. Максимальная длина значения: до 255 символов в кодировке Unicode. Если оставить поле пустым, существующее значение поля события будет удалено.
|
Целевое поле
|
Поле события KUMA, в которое требуется поместить данные.
|
Если вы используете функции обогащения событий для полей расширенной схемы с типом «Строка», «Число» или «Число с плавающей точкой» с помощью константы, в поле будет добавлена константа.
Если вы используете функции обогащения событий для полей расширенной схемы с типом «Массив строк», «Массив чисел» или «Массив чисел с плавающей точкой» с помощью константы, константа будет добавлена к элементам массива.
- словарь
Этот тип обогащения используется, если в поле события необходимо добавить значение из словаря типа Словарь. Доступные параметры типа обогащения описаны в таблице ниже.
Доступные параметры типа обогащения
Параметр
|
Описание
|
Название словаря
|
Словарь, из которого будут браться значения.
|
Ключевые поля
|
Поля событий, значения которых будут использоваться для выбора записи словаря. Для добавления поля события нажмите на кнопку Добавить поле. Вы можете добавить несколько полей событий.
|
Если вы используете обогащение событий, у которого в качестве параметра Тип источника данных выбрано значение словарь, а в параметре Ключевые поля обогащения указано поле-массив, при передаче массива в качестве ключа словаря массив будет сериализован в строку согласно правилам сериализации одного значения в формате TSV.
Пример: в параметре Ключевые поля обогащения используется поле расширенной схемы SA.StringArrayOne
. В поле расширенной схемы SA.StringArrayOne
находятся значения "a"
, "b"
, "c"
. В качестве ключа в словарь будут переданы значения ['a','b','c']
.
Если в параметре Ключевые поля обогащения используется поле-массив расширенной схемы и обычное поле схемы событий, значения полей при обращении в словарь будут разделены символом «|
».
Пример: в параметре Ключевые поля обогащения используется поле расширенной схемы SA.StringArrayOne
и строковое поле Code
. В поле расширенной схемы SA.StringArrayOne
находятся значения "a"
, "b"
, "c"
, а строковое поле Code
содержит последовательность символов myCode
. В качестве ключа в словарь будут переданы значения ['a','b','c']|myCode
.
- таблица
Этот тип обогащения используется, если в поле события необходимо добавить значение из словаря типа Таблица.
При выборе этого типа обогащения в раскрывающемся списке Название словаря необходимо выбрать словарь, из которого будут браться значения, а в блоке параметров Ключевые поля с помощью кнопки Добавить поле требуется выбрать поля события, значения которых будут использоваться для выбора записи словаря.
Также в таблице Сопоставление необходимо настроить, из каких полей словаря и в какие поля события будут передаваться данные:
- В столбце Поле словаря необходимо выбрать поле словаря. Доступные поля зависят от выбранного ресурса словаря.
- В столбце Поле KUMA необходимо выбрать поле события, в которое следует записать значение. Для некоторых выбранных полей (
*custom*
и *flex*
) в столбце Подпись можно задать название для помещаемых в них данных.
Новые строки в таблицу можно добавлять с помощью кнопки Добавить элемент. Столбцы можно удалить с помощью кнопки
.
- событие
Этот тип обогащения используется, если в поле события необходимо записать значение другого поля события. Доступные параметры типа обогащения описаны в таблице ниже.
Доступные параметры типа обогащения
Параметр
|
Описание
|
Целевое поле
|
Поле события KUMA, в которое требуется поместить данные.
|
Исходное поле
|
Поле события, значение которого будет записано в целевое поле.
|
Если нажать на кнопку
, откроется окно Преобразование, в котором вы можете с помощью кнопки Добавить преобразование создавать правила для изменения исходных данных перед записью в поля событий KUMA. Вы можете менять местами и удалять созданные правила. Для изменения места правила используйте значок
рядом с ним. Для удаления правила нажмите рядом с ним на значок
.
Доступные преобразования
Преобразования – это изменения, которые можно применить к значению до того, как оно будет записано в поле события. Тип преобразования выбирается в раскрывающемся списке.
Доступные преобразования:
- lower – используется для перевода всех символов значения в нижний регистр
- upper – используется для перевода всех символов значения в верхний регистр
- regexp – используется для преобразования значения с помощью регулярного выражения RE2. Поле, в которое следует добавить регулярное выражение, появляется, когда выбран этот тип преобразования.
- substring – используется для извлечения символов в диапазоне позиций, указанном в полях Начало и Конец. Эти поля появляются, когда выбран данный тип преобразования.
- replace – используется для замены указанной последовательности символов на другую последовательность символов. Когда выбран этот тип преобразования, появляются новые поля:
- Символы на замену – в этом поле вы можете указать последовательность символов, которую следует заменить.
- Чем заменить – в этом поле вы можете указать последовательность символов, которая должна использоваться вместо заменяемой последовательности символов.
- trim – используется для удаления одновременно с начала и с конца значения поля события символов, указанных в поле Символы. Это поле появляется при выборе данного типа преобразования. Например, если для значения
Microsoft-Windows-Sysmon
выполнить преобразование trim со значением Micromon
, то получается значение soft-Windows-Sys
. - append – используется для добавления в конец значения поля события символов, указанных в поле Константа. Это поле появляется при выборе данного типа преобразования.
- prepend – используется для добавления к началу значения поля события символов, указанных в поле Константа. Это поле появляется при выборе данного типа преобразования.
- replace with regexp – используется для замены результатов регулярного выражения RE2 на последовательность символов.
- Выражение – в этом поле вы можете указать регулярное выражение, результаты которого следует заменить.
- Чем заменить – в этом поле вы можете указать последовательность символов, которая должна использоваться вместо заменяемой последовательности символов.
- Конвертация закодированных строк в текст:
- decodeHexString – используется для конвертации HEX-строки в текст.
- decodeBase64String – используется для конвертации Base64-строки в текст.
- decodeBase64URLString – используется для конвертации Base64url-строки в текст.
При конвертации поврежденной строки или при ошибках конвертации в поле события могут быть записаны поврежденные данные.
При обогащении событий, если длина закодированной строки превышает размер поля нормализованного события, такая строка будет обрезана и не будет раскодирована.
Если длина раскодированной строки превышает размер поля события, в которое должно быть помещено раскодированное значение, такая строка будет обрезана до размера этого поля события.
Преобразования при использовании расширенной схемы событий
Возможность использования преобразования зависит от типа используемого поля расширенной схемы событий:
- для дополнительное поле с типом «Строка» доступны все типы преобразований.
- для полей с типами «Число», «Число с плавающей точкой» доступны следующие виды преобразований: regexp, substring, replace, trim, append, prepend, replaceWithRegexp, decodeHexString, decodeBase64String, decodeBase64URLString.
- для полей с типами «Массив строк», «Массив чисел» и «Массив чисел с плавающей точкой» доступны следующие виды преобразований: append, prepend.
При использовании обогащения событий, у которых в качестве параметра Тип источника данных выбрано значение событие, а в качестве аргументов используются поля расширенной схемы событий, необходимо учесть следующие особенности:
- Если исходное поле расширенной схемы событий имеет тип «Массив строк», а целевое поле расширенной схемы событий имеет тип «Строка», значения будут размещены в целевом поле расширенной схемы событий в формате TSV.
Пример: в поле расширенной схемы событий SA.StringArray
, находятся значения «string1»
, «string2»
, «string3»
. Выполняется операция обогащения событий. Результат выполнения операции обогащения событий заносится в поле расширенной схемы событий DeviceCustomString1
. В поле расширенной схемы событий DeviceCustomString1
будут находиться значения [«string1», «string2», «string3»]
.
- Если исходное и целевое поля расширенной схемы событий имеют тип «Массив строк», значения целевого поля расширенной схемы событий будут дополнены значениями исходного поля расширенной схемы событий, а качестве символа-разделителя будет использован символ «
,
».Пример: в поле расширенной схемы событий SA.StringArrayOne
, находятся значения [«string1»
, «string2»
, «string3»]
, а в поле расширенной схемы событий SA.StringArrayTwo
находятся значения [«string4», «string5», «string6»]
. Выполняется операция обогащения событий. Результат выполнения операции обогащения событий заносится в поле расширенной схемы событий SA.StringArrayTwo
. В поле расширенной схемы событий SA.StringArrayTwo
будут находиться значения[«string4», «string5», «string6», «string1», «string2», «string3»]
.
- шаблон
Этот тип обогащения используется, если в поле события необходимо записать значение, полученное при обработке шаблонов Go. Мы рекомендуем сопоставлять значение и размер поля. Доступные параметры типа обогащения описаны в таблице ниже.
Доступные параметры типа обогащения
Параметр
|
Описание
|
Шаблон
|
Шаблон Go. Имена полей событий передаются в формате {{.EventField}} , где EventField – это название поля события, значение которого должно быть передано в скрипт, например Атака на {{.DestinationAddress}} со стороны {{.SourceAddress}} .
|
Целевое поле
|
Поле события KUMA, в которое требуется поместить данные.
|
Если вы используете обогащение событий, у которого в качестве параметра Тип источника данных выбрано значение шаблон, целевым полем является поле с типом «Строка», а исходным полем является поле расширенной схемы событий, содержащее массив строк, в шаблоне может быть использован один из следующих примеров:
Для преобразования в шаблоне данных поля массива в формат TSV необходимо использовать функцию toString
, например:
template {{toString .SA.StringArray}}
- В раскрывающемся списке Целевое поле выберите поле события KUMA, в которое требуется поместить данные. Вы не можете выбрать значение, если в раскрывающемся списке Исходный тип вы выбрали таблица.
- Если вы хотите включить детализацию в журнале нормализатора, включите переключатель Отладка. По умолчанию переключатель выключен.
- Нажмите на кнопку ОК.
Правила обогащения событий событий дополнительными данными будут добавлены в нормализатор в выбранное правило парсинга.
Настройка парсинга с привязкой к IPv4-адресам
Если на шаге Транспорт мастера установки вы указали коннектор с типом udp, tcp или http, вы можете направить события с нескольких IPv4-адресов от источников разных типов в один коллектор, и коллектор применит указанные нормализаторы. Для этого вам нужно указать несколько IPv4-адресов и выбрать нормализатор, который требуется использовать для событий, поступающих с указанных IPv4-адресов. Доступны следующие типы нормализаторов: json, cef, regexp, syslog, csv, kv и xml.
Если в коллекторе с настроенными нормализаторами и привязкой к IPv4-адресам вы выберите тип коннектора, отличный от upd, tcp или http, вкладка Настройки парсинга перестанет отображаться и на вкладке мастера установки Парсинг событий будет указан только первый из ранее указанных нормализаторов. Вкладка Настройки парсинга перестанет отображаться сразу, изменения будут применены после сохранения ресурса. Если вы хотите вернуться к прежним параметрам, выйдите из мастера установки без сохранения.
Для нормализаторов с типом Syslog и regexp допускается использование цепочки нормализаторов. В этом случае вы можете указать дополнительные условия нормализации в зависимости от значения поля DeviceProcessName. В отличие от дополнительной нормализации вы можете указывать общедоступные нормализаторы.
Чтобы настроить парсинг с привязкой к IPv4-адресам:
- Выберите вкладку Настройки парсинга и нажмите на кнопку + Источник события.
Отобразится блок параметров парсинга. Вы можете добавить несколько парсингов или удалить парсинги. Для удаления парсинга нажмите рядом с ним на значок удаления
.
- В поле IP-адрес(-а) введите IPv4-адрес, с которого будут поступать события. Вы можете ввести несколько IPv4-адресов через запятую. Длина списка IPv4-адресов не ограничена, но мы рекомендуем указывать ограниченное количество IPv4-адресов для соблюдения баланса нагрузки на коллектор. Вам нужно указать значение в этом поле, если вы хотите применять несколько нормализаторов в одном коллекторе.
IPv4-адрес должен быть уникальным для каждого нормализатора. KUMA выполняет проверку уникальности IPv4-адресов и если вы укажете одинаковый IPv4-адрес для разных нормализаторов, отобразится сообщение Поле должно быть уникальным
.
Если вы планируете отправлять все события в один нормализатор без указания IPv4-адресов, мы рекомендуем создать отдельный коллектор. Для повышения производительности мы рекомендуем создать отдельный коллектор с одним нормализатором, если вы хотите применить один нормализатор к событиям с большого количества IPv4-адресов.
- В раскрывающемся списке Нормализатор создайте или выберите нормализатор. Вы можете нажать на значок стрелки рядом с раскрывающимся списком, чтобы выбрать вкладку Схемы парсинга.
Нормализация будет срабатывать, если на шаге Транспорт мастера установки вы указали коннектор с типом udp, tcp или http. При этом для коннектора с типом http должен быть указан заголовок (англ. header) источника событий. С учетом доступных коннекторов, следующие типы нормализатора доступны для автоматического распознавания источников: json, cef, regexp, syslog, csv, kv и xml.
- Если вы выбрали нормализатор с типом Syslog или regexp и вы хотите добавить условную нормализацию, нажмите на кнопку + Добавить условную нормализацию. Условная нормализация будет доступна, если в основном нормализаторе в таблице Сопоставление вы настроили сопоставление поля исходного события с полем события KUMA DeviceProcessName. В группе параметров Условие в поле DeviceProcessName укажите имя процесса и в раскрывающемся списке создайте или выберите нормализатор. Вы можете указать несколько комбинаций поля события KUMA DeviceProcessName и нормализатора. Нормализация будет выполняться до первого совпадения.
Парсинг с привязкой к IPv4-адресам будет настроен.
Создание структуры правил нормализации событий
Для реализации сложной логики обработки событий вы можете добавить в нормализатор несколько правил парсинга событий. События передаются между правилами парсинга событий в зависимости от указанных условий. События обрабатываются последовательно в соответствии с порядком создания правил парсинга. Путь обработки события отображается в виде стрелочек.
Чтобы создать дополнительное правило парсинга:
- Создайте нормализатор. Подробнее о создании нормализаторов см. выше в разделе Добавление нормализатора в набор ресурсов.
Созданный нормализатор отобразится в виде темного кружка на вкладке мастера установки Парсинг событий.
- Наведите курсор на темный кружок и нажмите на отобразившийся значок плюса.
- В открывшемся окне Дополнительный парсинг события укажите параметры дополнительного правила парсинга события:
- Вкладка Условия дополнительной нормализации:
Если вы хотите передавать сырое событие для дополнительной нормализации, в раскрывающемся списке Использовать сырое событие выберите Да. Значение по умолчанию: Нет. Мы рекомендуем передавать сырое событие в нормализаторы с типами json и xml. Если вы хотите передавать сырое событие для дополнительной нормализации на второй, третий и далее уровень вложенности, последовательно на каждом уровне вложенности в раскрывающемся списке Использовать сырое событие выберите Да.
Если вы хотите отправлять в дополнительный нормализатор только события с определенным полем, в поле Поле, которое следует передать в нормализатор укажите порт.
На этой вкладке вы можете определить другие условия, при выполнении которых событие будет поступать на дополнительный парсинг.
- Вкладка Схема нормализации:
На этой вкладке вы можете настроить правила обработки событий, по аналогии с параметрами основного нормализатора. Параметр Сохранить исходное событие недоступен. В поле Примеры событий отображаются значения, указанные при создании нормализатора.
- Вкладка Обогащение:
На этой вкладке вы можете настроить правила обогащения событий. Подробнее о настройке правил обогащения см. выше в разделе Обогащение нормализованного события дополнительными данными.
- Нажмите на кнопку ОК.
Дополнительное правило парсинга будет добавлено в нормализатор и отобразится в виде темного блока. В темном блоке указаны условия, при которых дополнительное правило парсинга будет задействовано.
Вы можете выполнить следующие действия:
- Изменить параметры дополнительного правила парсинга, нажав на него.
- Найти дополнительное правило парсинга, введя его название в поле в верхней части окна.
- Создать новое дополнительное правило парсинга. Для этого наведите курсор на дополнительное правило парсинга и нажмите на отобразившийся значок плюса.
- Удалить дополнительное правило парсинга. Для этого наведите курсор на дополнительное правило парсинга и нажмите на значок корзины.
Перейдите к следующему шагу мастера установки.
В начало
[Topic 220712]
Шаг 4. Фильтрация событий
Это необязательный шаг мастера установки. На вкладке мастера установки Фильтрация событий можно выбрать или создать фильтр, в параметрах которого будут определены условия отбора событий. В коллектор можно добавить несколько фильтров. Фильтры можно менять местами, перетягивая их мышью за значок
, и удалять. Фильтры объединены оператором И.
Мы рекомендуем придерживаться выбранной схемы нормализации, когда вы указываете фильтры. Используйте в фильтрах только служебные поля KUMA и те поля, которые вы указали в нормализаторе в разделе Сопоставление и Обогащение. Например, если в нормализации не используется поле DeviceAddress, избегайте использования поля DeviceAddress в фильтре - такая фильтрация не сработает.
Чтобы добавить в набор ресурсов коллектора существующий фильтр,
Нажмите на кнопку Добавить фильтр и в раскрывающемся меню Фильтр выберите требуемый фильтр.
Чтобы добавить в набор ресурсов коллектора новый фильтр:
- Нажмите на кнопку Добавить фильтр и в раскрывающемся меню Фильтр выберите пункт Создать.
- Если хотите сохранить фильтр в качестве отдельного ресурса, установите флажок Сохранить фильтр. Это может оказаться полезным, если вы решите использовать один и тот же фильтр в разных сервисах. По умолчанию флажок снят.
- Если вы установили флажок Сохранить фильтр, в поле Название введите название для создаваемого фильтра. Название должно содержать от 1 до 128 символов в кодировке Unicode.
- В разделе Условия задайте условия, которым должны соответствовать отсеиваемые события:
- С помощью кнопки Добавить условие добавляются условия фильтра, можно выбрать два значения (левый и правый операнды) и назначить операцию, которую вы хотите выполнить с выбранными значениями. Результат операции – Истина (True) или Ложь (False).
- В раскрывающемся списке оператор необходимо выбрать функцию, которую должен выполнять фильтр.
В этом же раскрывающемся списке можно установить флажок без учета регистра, если требуется, чтобы оператор игнорировал регистр значений. Флажок игнорируется, если выбраны операторы InSubnet, InActiveList, InCategory, InActiveDirectoryGroup. По умолчанию флажок снят.
Операторы фильтров
- = – левый операнд равен правому операнду.
- < – левый операнд меньше правого операнда.
- <= – левый операнд меньше или равен правому операнду.
- > – левый операнд больше правого операнда.
- >= – левый операнд больше или равен правому операнду.
- inSubnet – левый операнд (IP-адрес) находится в подсети правого операнда (подсети).
- contains – левый операнд содержит значения правого операнда.
- startsWith – левый операнд начинается с одного из значений правого операнда.
- endsWith – левый операнд заканчивается одним из значений правого операнда.
- match – левый операнд соответствует регулярному выражению правого операнда. Используются регулярные выражения RE2.
- hasBit – установлены ли в левом операнде (в строке или числе), биты, позиции которых перечислены в правом операнде (в константе или в списке).
Проверяемое значение переводится в двоичную систему счисления, после чего рассматривается справа налево. Проверяются символы, индекс которых указан в качестве константы или списка.
Если проверяемое значение – это строка, то производится попытка перевести ее в целое число и обработать указанным выше способом. Если перевести строку в число невозможно, фильтр возвращает False
.
- hasVulnerability – находится ли в левом операнде актив с уязвимостью и уровнем важности уязвимости, указанными в правом операнде.
Если идентификатор и значение важности уязвимости не указать, фильтр будет срабатывать при наличии любых уязвимостей у актива в проверяемом событии.
- inActiveList – этот оператор имеет только один операнд. Его значения выбираются в поле Ключевые поля и сравниваются с записями активного листа, выбранного в раскрывающемся списке активных листов.
- inDictionary – присутствует ли в указанном словаре запись, соответствующая ключу, составленному из значений выбранных полей события.
- inCategory – активу в левом операнде назначена по крайней мере одна из категорий активов правого операнда.
- inActiveDirectoryGroup – учетная запись Active Directory в левом операнде принадлежит одной из групп Active Directory в правом операнде.
- TIDetect – этот оператор используется для поиска событий с данными CyberTrace Threat Intelligence (TI). Этот оператор можно использовать только на событиях, прошедших обогащение данными из CyberTrace Threat Intelligence, то есть только в коллекторах на этапе выбора точки назначения и в корреляторах.
- inContextTable – присутствует ли в указанной контекстной таблице запись.
- intersect – находятся ли в левом операнде элементы списка, указанные в списке в правом операнде.
- В раскрывающихся списках Левый операнд и Правый операнд необходимо выбрать, откуда поступят данные, с которыми произведет действие фильтр. В результате выбора появляются дополнительные параметры, с помощью которых необходимо точно определить значение, которое будет передано в фильтр. Например, при выборе варианта активный лист потребуется указать название активного листа, ключ записи и поле ключа записи.
- С помощью раскрывающегося списка Если можно выбрать, требуется ли создать отрицательное условие фильтра.
Условие можно удалить с помощью кнопки
.
- С помощью кнопки Добавить группу добавляются группы условий. Оператор И можно переключать между значениями И, ИЛИ, НЕ.
Группу условий можно удалить с помощью кнопки
.
- С помощью кнопки Добавить фильтр в условия добавляются существующие фильтры, которые выбираются в раскрывающемся списке Выберите фильтр. В параметры вложенного фильтра можно перейти с помощью кнопки
.Вложенный фильтр можно удалить с помощью кнопки
.
Фильтр добавлен.
Перейдите к следующему шагу мастера установки.
В начало
[Topic 220713]
Шаг 5. Агрегация событий
Это необязательный шаг мастера установки. На вкладке мастера установки Агрегация событий можно выбрать или создать правила агрегации, в параметрах которого будут определены условия для объединения однотипных событий. В коллектор можно добавить несколько правил агрегации.
Чтобы добавить в набор ресурсов коллектора существующее правило агрегации,
Нажмите на кнопку Добавить правило агрегации и в раскрывающемся списке выберите Правило агрегации.
Чтобы добавить в набор ресурсов коллектора новое правило агрегации:
- Нажмите на кнопку Добавить правило агрегации и в раскрывающемся меню Правило агрегации выберите пункт Создать.
- В поле Название введите название для создаваемого правила агрегации. Название должно содержать от 1 до 128 символов в кодировке Unicode.
- В поле Предел событий укажите количество событий, которое должно быть получено, чтобы сработало правило агрегации и события были объединены. Значение по умолчанию:
100
. - В поле Время ожидания событий укажите количество секунд, в течение которых коллектор получает события для объединения. По истечении этого срока правило агрегации срабатывает и создается новое агрегационное событие. Значение по умолчанию:
60
. - В разделе Группирующие поля с помощью кнопки Добавить поле выберите поля, по которым будут определяться однотипные события. Вы можете выбрать следующие служебные поля: SourceAssetID, DestinationAssetID, DeviceAssetID, SourceAccountID, DestinationAccountID. Идентификаторы активов добавляются после нормализации события, поэтому по ним можно будет агрегировать события. Остальные служебные поля не используются в агрегации. Выбранные события можно удалять с помощью кнопок со значком крестика.
- В разделе Уникальные поля с помощью кнопки Добавить поле можно выбрать поля, при наличии которых коллектор исключит событие из процесса агрегации даже при наличии полей, указанных в разделе Группирующие поля. Выбранные события можно удалять с помощью кнопок со значком крестика.
- В разделе Поля суммы с помощью кнопки Добавить поле можно выбрать поля, значения которых будут просуммированы в процессе агрегации. Выбранные события можно удалять с помощью кнопок со значком крестика.
- В разделе Фильтр можно задать условия определения событий, которые будут обрабатываться этим ресурсом. В раскрывающемся списке можно выбрать существующий фильтр или Создать новый фильтр.
Создание фильтра в ресурсах
Чтобы создать фильтр:
- В раскрывающемся списке Фильтр выберите Создать.
- Если вы хотите сохранить фильтр в качестве отдельного ресурса, установите флажок Сохранить фильтр. В этом случае вы сможете использовать созданный фильтр в разных сервисах. По умолчанию флажок снят.
- Если вы установили флажок Сохранить фильтр, в поле Название введите название для создаваемого ресурса фильтра. Максимальная длина названия: до 128 символов в кодировке Unicode.
- В блоке параметров Условия укажите условия, которым должны соответствовать события:
- Нажмите на кнопку Добавить условие.
- В раскрывающихся списках Левый операнд и Правый операнд укажите параметры поиска. В зависимости от источника данных, выбранного в поле Правый операнд, могут отобразиться поля дополнительных параметров для определения значения, которое будет передано в фильтр. Например, при выборе значения активный лист вам нужно указать название активного листа, ключ записи и поле ключа записи.
- В раскрывающемся списке оператор выберите оператор.
Операторы фильтров
- = – левый операнд равен правому операнду.
- < – левый операнд меньше правого операнда.
- <= – левый операнд меньше или равен правому операнду.
- > – левый операнд больше правого операнда.
- >= – левый операнд больше или равен правому операнду.
- inSubnet – левый операнд (IP-адрес) находится в подсети правого операнда (подсети).
- contains – левый операнд содержит значения правого операнда.
- startsWith – левый операнд начинается с одного из значений правого операнда.
- endsWith – левый операнд заканчивается одним из значений правого операнда.
- match – левый операнд соответствует регулярному выражению правого операнда. Используются регулярные выражения RE2.
- hasBit – установлены ли в левом операнде (в строке или числе), биты, позиции которых перечислены в правом операнде (в константе или в списке).
Проверяемое значение переводится в двоичную систему счисления, после чего рассматривается справа налево. Проверяются символы, индекс которых указан в качестве константы или списка.
Если проверяемое значение – это строка, то производится попытка перевести ее в целое число и обработать указанным выше способом. Если перевести строку в число невозможно, фильтр возвращает False
.
- hasVulnerability – находится ли в левом операнде актив с уязвимостью и уровнем важности уязвимости, указанными в правом операнде.
Если идентификатор и значение важности уязвимости не указать, фильтр будет срабатывать при наличии любых уязвимостей у актива в проверяемом событии.
- inActiveList – этот оператор имеет только один операнд. Его значения выбираются в поле Ключевые поля и сравниваются с записями активного листа, выбранного в раскрывающемся списке активных листов.
- inDictionary – присутствует ли в указанном словаре запись, соответствующая ключу, составленному из значений выбранных полей события.
- inCategory – активу в левом операнде назначена по крайней мере одна из категорий активов правого операнда.
- inActiveDirectoryGroup – учетная запись Active Directory в левом операнде принадлежит одной из групп Active Directory в правом операнде.
- TIDetect – этот оператор используется для поиска событий с данными CyberTrace Threat Intelligence (TI). Этот оператор можно использовать только на событиях, прошедших обогащение данными из CyberTrace Threat Intelligence, то есть только в коллекторах на этапе выбора точки назначения и в корреляторах.
- inContextTable – присутствует ли в указанной контекстной таблице запись.
- intersect – находятся ли в левом операнде элементы списка, указанные в списке в правом операнде.
- Если вы хотите, чтобы оператор игнорировал регистр значений, установите флажок без учета регистра. Действие флажка не распространяется на операторы InSubnet, InActiveList, InCategory, InActiveDirectoryGroup. По умолчанию флажок снят.
- Если вы хотите добавить отрицательное условие, в раскрывающемся списке Если выберите Если не.
Вы можете добавить несколько условий или группу условий.
- Если вы добавили несколько условий или групп условий, выберите условие отбора (и, или, не), нажав на кнопку И.
- Если вы хотите добавить уже существующие фильтры, которые выбираются в раскрывающемся списке Выберите фильтр, нажмите на кнопку Добавить фильтр. Вы можете просмотреть параметры вложенного фильтра, нажав на кнопку
.
Правило агрегации добавлено. Его можно удалить с помощью кнопки
.
Перейдите к следующему шагу мастера установки.
В начало
[Topic 220714]
Шаг 6. Обогащение событий
Это необязательный шаг мастера установки. На вкладке мастера установки Обогащение событий можно указать, какими данными и из каких источников следует дополнить обрабатываемые коллектором события. События можно обогащать данными, полученными с помощью правил обогащения или с помощью LDAP.
Обогащение с помощью правил обогащения
Правил обогащения может быть несколько. Их можно добавить с помощью кнопки Добавить обогащение или удалить с помощью кнопки
. Можно использовать существующие правила обогащения или же создать правила непосредственно в мастере установки.
Чтобы добавить в набор ресурсов существующее правило обогащения:
- Нажмите Добавить обогащение.
Откроется блок параметров правил обогащения.
- В раскрывающемся списке Правило обогащения выберите нужный ресурс.
Правило обогащения добавлено в набор ресурсов для коллектора.
Чтобы создать в наборе ресурсов новое правило обогащения:
- Нажмите Добавить обогащение.
Откроется блок параметров правил обогащения.
- В раскрывающемся списке Правило обогащения выберите Создать.
- В раскрывающемся списке Тип источника данных выберите, откуда будут поступать данные для обогащения, и заполните относящиеся к нему параметры:
- константа
Этот тип обогащения используется, если в поле события необходимо добавить константу. Доступные параметры типа обогащения описаны в таблице ниже.
Доступные параметры типа обогащения
Параметр
|
Описание
|
Константа
|
Значение, которое требуется добавить в поле события. Максимальная длина значения: до 255 символов в кодировке Unicode. Если оставить поле пустым, существующее значение поля события будет удалено.
|
Целевое поле
|
Поле события KUMA, в которое требуется поместить данные.
|
Если вы используете функции обогащения событий для полей расширенной схемы с типом «Строка», «Число» или «Число с плавающей точкой» с помощью константы, в поле будет добавлена константа.
Если вы используете функции обогащения событий для полей расширенной схемы с типом «Массив строк», «Массив чисел» или «Массив чисел с плавающей точкой» с помощью константы, константа будет добавлена к элементам массива.
- словарь
Этот тип обогащения используется, если в поле события необходимо добавить значение из словаря типа Словарь. Доступные параметры типа обогащения описаны в таблице ниже.
Доступные параметры типа обогащения
Параметр
|
Описание
|
Название словаря
|
Словарь, из которого будут браться значения.
|
Ключевые поля
|
Поля событий, значения которых будут использоваться для выбора записи словаря. Для добавления поля события нажмите на кнопку Добавить поле. Вы можете добавить несколько полей событий.
|
Если вы используете обогащение событий, у которого в качестве параметра Тип источника данных выбрано значение словарь, а в параметре Ключевые поля обогащения указано поле-массив, при передаче массива в качестве ключа словаря массив будет сериализован в строку согласно правилам сериализации одного значения в формате TSV.
Пример: в параметре Ключевые поля обогащения используется поле расширенной схемы SA.StringArrayOne
. В поле расширенной схемы SA.StringArrayOne
находятся значения "a"
, "b"
, "c"
. В качестве ключа в словарь будут переданы значения ['a','b','c']
.
Если в параметре Ключевые поля обогащения используется поле-массив расширенной схемы и обычное поле схемы событий, значения полей при обращении в словарь будут разделены символом «|
».
Пример: в параметре Ключевые поля обогащения используется поле расширенной схемы SA.StringArrayOne
и строковое поле Code
. В поле расширенной схемы SA.StringArrayOne
находятся значения "a"
, "b"
, "c"
, а строковое поле Code
содержит последовательность символов myCode
. В качестве ключа в словарь будут переданы значения ['a','b','c']|myCode
.
- событие
Этот тип обогащения используется, если в поле события необходимо записать значение другого поля события. Параметры этого типа обогащения:
- В раскрывающемся списке Целевое поле выберите поле события KUMA, в которое следует поместить данные.
- В раскрывающемся списке Исходное поле выберите поле события, значение которого будет записано в целевое поле.
- В блоке параметров Преобразование можно создать правила изменения исходных данных перед тем, как они будут записаны в поля событий KUMA. Тип преобразования можно выбрать в раскрывающемся списке. С помощью кнопок Добавить преобразование и Удалить можно добавить или удалить преобразование. Порядок преобразований имеет значение.
Доступные преобразования
Преобразования – это изменения, которые можно применить к значению до того, как оно будет записано в поле события. Тип преобразования выбирается в раскрывающемся списке.
Доступные преобразования:
- lower – используется для перевода всех символов значения в нижний регистр
- upper – используется для перевода всех символов значения в верхний регистр
- regexp – используется для преобразования значения с помощью регулярного выражения RE2. Поле, в которое следует добавить регулярное выражение, появляется, когда выбран этот тип преобразования.
- substring – используется для извлечения символов в диапазоне позиций, указанном в полях Начало и Конец. Эти поля появляются, когда выбран данный тип преобразования.
- replace – используется для замены указанной последовательности символов на другую последовательность символов. Когда выбран этот тип преобразования, появляются новые поля:
- Символы на замену – в этом поле вы можете указать последовательность символов, которую следует заменить.
- Чем заменить – в этом поле вы можете указать последовательность символов, которая должна использоваться вместо заменяемой последовательности символов.
- trim – используется для удаления одновременно с начала и с конца значения поля события символов, указанных в поле Символы. Это поле появляется при выборе данного типа преобразования. Например, если для значения
Microsoft-Windows-Sysmon
выполнить преобразование trim со значением Micromon
, то получается значение soft-Windows-Sys
. - append – используется для добавления в конец значения поля события символов, указанных в поле Константа. Это поле появляется при выборе данного типа преобразования.
- prepend – используется для добавления к началу значения поля события символов, указанных в поле Константа. Это поле появляется при выборе данного типа преобразования.
- replace with regexp – используется для замены результатов регулярного выражения RE2 на последовательность символов.
- Выражение – в этом поле вы можете указать регулярное выражение, результаты которого следует заменить.
- Чем заменить – в этом поле вы можете указать последовательность символов, которая должна использоваться вместо заменяемой последовательности символов.
- Конвертация закодированных строк в текст:
- decodeHexString – используется для конвертации HEX-строки в текст.
- decodeBase64String – используется для конвертации Base64-строки в текст.
- decodeBase64URLString – используется для конвертации Base64url-строки в текст.
При конвертации поврежденной строки или при ошибках конвертации в поле события могут быть записаны поврежденные данные.
При обогащении событий, если длина закодированной строки превышает размер поля нормализованного события, такая строка будет обрезана и не будет раскодирована.
Если длина раскодированной строки превышает размер поля события, в которое должно быть помещено раскодированное значение, такая строка будет обрезана до размера этого поля события.
Преобразования при использовании расширенной схемы событий
Возможность использования преобразования зависит от типа используемого поля расширенной схемы событий:
- для дополнительное поле с типом «Строка» доступны все типы преобразований.
- для полей с типами «Число», «Число с плавающей точкой» доступны следующие виды преобразований: regexp, substring, replace, trim, append, prepend, replaceWithRegexp, decodeHexString, decodeBase64String, decodeBase64URLString.
- для полей с типами «Массив строк», «Массив чисел» и «Массив чисел с плавающей точкой» доступны следующие виды преобразований: append, prepend.
- шаблон
Этот тип обогащения используется, если в поле события необходимо записать значение, полученное при обработке шаблонов Go. Мы рекомендуем сопоставлять значение и размер поля. Доступные параметры типа обогащения описаны в таблице ниже.
Доступные параметры типа обогащения
Параметр
|
Описание
|
Шаблон
|
Шаблон Go. Имена полей событий передаются в формате {{.EventField}} , где EventField – это название поля события, значение которого должно быть передано в скрипт, например Атака на {{.DestinationAddress}} со стороны {{.SourceAddress}} .
|
Целевое поле
|
Поле события KUMA, в которое требуется поместить данные.
|
Если вы используете обогащение событий, у которого в качестве параметра Тип источника данных выбрано значение шаблон, целевым полем является поле с типом «Строка», а исходным полем является поле расширенной схемы событий, содержащее массив строк, в шаблоне может быть использован один из следующих примеров:
Для преобразования в шаблоне данных поля массива в формат TSV необходимо использовать функцию toString
, например:
template {{toString .SA.StringArray}}
- dns
Этот тип обогащения используется для отправки запросов на DNS-сервер частной сети для преобразования IP-адресов в доменные имена или наоборот. Преобразование IP-адресов в DNS-имена происходит только для частных адресов: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10.
Доступные параметры:
- URL – в этом поле можно указать URL DNS-сервера, которому вы хотите отправлять запросы. С помощью кнопки Добавить URL можно указать несколько URL.
- Запросов в секунду – максимальное количество запросов к серверу в секунду. Значение по умолчанию:
1000
. - Рабочие процессы – максимальное количество запросов в один момент времени. Значение по умолчанию:
1
. - Количество задач – максимальное количество одновременно выполняемых запросов. Значение по умолчанию равно количеству vCPU сервера, на котором установлено Ядро KUMA.
- Срок жизни кеша – время жизни значений, хранящихся в кеше. Значение по умолчанию:
60
. - Кеш отключен – с помощью этого раскрывающегося списка можно включить или отключить кеширование. По умолчанию кеширование включено.
- Требуется рекурсия - параметр доступен начиная с KUMA 3.4.1. С помощью переключателя можно включить отправку коллектором KUMA рекурсивных запросов к авторитативным DNS-серверам для выполнения обогащения. Значение по умолчанию: Выключено.
- cybertrace
Этот тип обогащения является устаревшим, вместо него рекомендуется использовать тип обогащения cybertrace-http.
Этот тип обогащения используется для добавления в поля события сведений из потоков данных CyberTrace.
Доступные параметры:
- URL (обязательно) – в этом поле можно указать URL сервера CyberTrace, которому вы хотите отправлять запросы. Порт CyberTrace по умолчанию 9999.
- Количество подключений – максимальное количество подключений к серверу CyberTrace, которые может одновременно установить KUMA. Значение по умолчанию равно количеству vCPU сервера, на котором установлено Ядро KUMA.
- Запросов в секунду – максимальное количество запросов к серверу в секунду. Значение по умолчанию:
1000
. - Время ожидания – время ожидания отклика от сервера CyberTrace в секундах. Значение по умолчанию:
30
. - Максимальное кол-во событий в очереди обогащения – максимальное количество событий, сохраняемое в очереди для переотправки. Значение по умолчанию: 1000000000.
- Сопоставление (обязательно) – этот блок параметров содержит таблицу сопоставления полей событий KUMA с типами индикаторов CyberTrace. В столбце Поле KUMA указаны названия полей событий KUMA, а в столбце Индикатор CyberTrace указаны типы индикаторов CyberTrace.
Доступные типы индикаторов CyberTrace:
В таблице сопоставления требуется указать как минимум одну строку. С помощью кнопки Добавить строку можно добавить строку, а с помощью кнопки
– удалить.
- cybertrace-http
Это новый тип потокового обогащения событий в CyberTrace, который позволяет отправлять большое количество событий одним запросом на API-интерфейс CyberTrace. Мы рекомендуем применять в системах с большим потоком событий. Производительность cybertrace-http превосходит показатели прежнего типа cybertrace, который по-прежнему доступен в KUMA для обеспечения обратной совместимости.
Ограничения:
- Тип обогащения cybertrace-http неприменим для ретроспективного сканирования в KUMA.
- В случае использования типа обогащения cybertrace-http обнаружения киберугроз не сохраняются в истории CyberTrace в окне Detections.
Доступные параметры:
- URL (обязательно) – в этом поле можно указать URL сервера CyberTrace, которому вы хотите отправлять запросы и порт, который использует API CyberTrace. Порт по умолчанию 443.
- Секрет (обязательно) – раскрывающийся список для выбора секрета, в котором хранятся учетные данные для подключения.
- Время ожидания – время ожидания отклика от сервера CyberTrace в секундах. Значение по умолчанию:
30
. - Ключевые поля (обязательно) – список полей событий, используемых для обогащения событий данными из CyberTrace.
- Максимальное кол-во событий в очереди обогащения – максимальное количество событий, сохраняемое в очереди для переотправки. Значение по умолчанию: 1000000000. По достижении 1 млн получаемых событий от сервера CyberTrace события перестают обогащаться, пока число получаемых событий не станет меньше 500 тыс.
- часовой пояс
Этот тип обогащения используется в коллекторах и корреляторах для присваивания событию определенного часового пояса. Сведения о часовом поясе могут пригодиться при поиске событий, случившихся в нетипичное время, например ночью.
При выборе этого типа обогащения в раскрывающемся списке Часовой пояс необходимо выбрать требуемую временную зону.
Убедитесь, что требуемый часовой пояс установлен на сервере сервиса, использующего обогащение. Например, это можно сделать с помощью команды timedatectl list-timezones
, которая показывает все установленные на сервере часовые пояса. Подробнее об установке часовых поясов смотрите в документации используемой вами операционной системы.
При обогащении события в поле события DeviceTimeZone записывается смещение времени выбранного часового пояса относительно всемирного координированного времени (UTC) в формате +-чч:мм
. Например, если выбрать временную зону Asia/Yekaterinburg в поле DeviceTimeZone будет записано значение +05:00
. Если в обогащаемом событии есть значение поля DeviceTimeZone, оно будет перезаписано.
По умолчанию, если в обрабатываемом событии не указан часовой пояс и не настроены правила обогащения по часовому поясу, событию присваивается часовой пояс сервера, на котором установлен сервис (коллектор или коррелятор), обрабатывающий событие. При изменении времени сервера сервис необходимо перезапустить.
Допустимые форматы времени при обогащении поля DeviceTimeZone
При обработке в коллекторе поступающих "сырых" событий следующие форматы времени могут быть автоматически приведены к формату +-чч:мм:
Формат времени в обрабатываемом событии
|
Пример
|
+-чч:мм
|
-07:00
|
+-ччмм
|
-0700
|
+-чч
|
-07
|
Если формат даты в поле DeviceTimeZone
отличается от указанных выше, при обогащении события сведениями о часовом поясе в поле записывается часовой пояс серверного времени коллектора. Вы можете создать особые правила нормализации для нестандартных форматов времени.
- геоданные
Этот тип обогащения используется для добавления в поля событий сведений о географическом расположении IP-адресов. Подробнее о привязке IP-адресов к географическим данным.
При выборе этого типа в блоке параметров Сопоставление геоданных с полями события необходимо указать, из какого поля события будет считан IP-адрес, а также выбрать требуемые атрибуты геоданных и определить поля событий, в которые геоданные будут записаны:
- В раскрывающемся списке Поле события с IP-адресом выберите поле события, из которого считывается IP-адрес. По этому IP-адресу будет произведен поиск соответствий по загруженным в KUMA геоданным.
С помощью кнопки Добавить поле события с IP-адресом можно указать несколько полей события с IP-адресами, по которым требуется обогащение геоданными. Удалить добавленные таким образом поля событий можно с помощью кнопки Удалить поле события с IP-адресом.
При выборе полей события SourceAddress
, DestinationAddress
и DeviceAddress
становится доступна кнопка Применить сопоставление по умолчанию. С ее помощью можно добавить преднастроенные пары соответствий атрибутов геоданных и полей события.
- Для каждого поля события, откуда требуется считать IP-адрес, выберите тип геоданных и поле события, в которое следует записать геоданные.
С помощью кнопки Добавить атрибут геоданных вы можете добавить пары полей Атрибут геоданных – Поле события для записи. Так вы можете настроить запись разных типов геоданных одного IP-адреса в разные поля события. Пары полей можно удалить с помощью значка
.
- В поле Атрибут геоданных выберите, какие географические сведения, соответствующие считанному IP-адресу, необходимо записать в событие. Доступные атрибуты геоданных: Страна, Регион, Город, Долгота, Широта.
- В поле Поле события для записи выберите поле события, в которое необходимо записать выбранный атрибут геоданных.
Вы можете записать одинаковые атрибуты геоданных в разные поля событий. Если вы настроите запись нескольких атрибутов геоданных в одно поле события, событие будет обогащено последним по очереди сопоставлением.
- С помощью переключателя Отладка укажите, следует ли включить логирование операций сервиса. По умолчанию логирование выключено.
- В разделе Фильтр можно задать условия определения событий, которые будут обрабатываться ресурсом правила обогащения. В раскрывающемся списке можно выбрать существующий фильтр или Создать новый фильтр.
Создание фильтра в ресурсах
Чтобы создать фильтр:
- В раскрывающемся списке Фильтр выберите Создать.
- Если вы хотите сохранить фильтр в качестве отдельного ресурса, установите флажок Сохранить фильтр. В этом случае вы сможете использовать созданный фильтр в разных сервисах. По умолчанию флажок снят.
- Если вы установили флажок Сохранить фильтр, в поле Название введите название для создаваемого ресурса фильтра. Максимальная длина названия: до 128 символов в кодировке Unicode.
- В блоке параметров Условия укажите условия, которым должны соответствовать события:
- Нажмите на кнопку Добавить условие.
- В раскрывающихся списках Левый операнд и Правый операнд укажите параметры поиска. В зависимости от источника данных, выбранного в поле Правый операнд, могут отобразиться поля дополнительных параметров для определения значения, которое будет передано в фильтр. Например, при выборе значения активный лист вам нужно указать название активного листа, ключ записи и поле ключа записи.
- В раскрывающемся списке оператор выберите оператор.
Операторы фильтров
- = – левый операнд равен правому операнду.
- < – левый операнд меньше правого операнда.
- <= – левый операнд меньше или равен правому операнду.
- > – левый операнд больше правого операнда.
- >= – левый операнд больше или равен правому операнду.
- inSubnet – левый операнд (IP-адрес) находится в подсети правого операнда (подсети).
- contains – левый операнд содержит значения правого операнда.
- startsWith – левый операнд начинается с одного из значений правого операнда.
- endsWith – левый операнд заканчивается одним из значений правого операнда.
- match – левый операнд соответствует регулярному выражению правого операнда. Используются регулярные выражения RE2.
- hasBit – установлены ли в левом операнде (в строке или числе), биты, позиции которых перечислены в правом операнде (в константе или в списке).
Проверяемое значение переводится в двоичную систему счисления, после чего рассматривается справа налево. Проверяются символы, индекс которых указан в качестве константы или списка.
Если проверяемое значение – это строка, то производится попытка перевести ее в целое число и обработать указанным выше способом. Если перевести строку в число невозможно, фильтр возвращает False
.
- hasVulnerability – находится ли в левом операнде актив с уязвимостью и уровнем важности уязвимости, указанными в правом операнде.
Если идентификатор и значение важности уязвимости не указать, фильтр будет срабатывать при наличии любых уязвимостей у актива в проверяемом событии.
- inActiveList – этот оператор имеет только один операнд. Его значения выбираются в поле Ключевые поля и сравниваются с записями активного листа, выбранного в раскрывающемся списке активных листов.
- inDictionary – присутствует ли в указанном словаре запись, соответствующая ключу, составленному из значений выбранных полей события.
- inCategory – активу в левом операнде назначена по крайней мере одна из категорий активов правого операнда.
- inActiveDirectoryGroup – учетная запись Active Directory в левом операнде принадлежит одной из групп Active Directory в правом операнде.
- TIDetect – этот оператор используется для поиска событий с данными CyberTrace Threat Intelligence (TI). Этот оператор можно использовать только на событиях, прошедших обогащение данными из CyberTrace Threat Intelligence, то есть только в коллекторах на этапе выбора точки назначения и в корреляторах.
- inContextTable – присутствует ли в указанной контекстной таблице запись.
- intersect – находятся ли в левом операнде элементы списка, указанные в списке в правом операнде.
- Если вы хотите, чтобы оператор игнорировал регистр значений, установите флажок без учета регистра. Действие флажка не распространяется на операторы InSubnet, InActiveList, InCategory, InActiveDirectoryGroup. По умолчанию флажок снят.
- Если вы хотите добавить отрицательное условие, в раскрывающемся списке Если выберите Если не.
Вы можете добавить несколько условий или группу условий.
- Если вы добавили несколько условий или групп условий, выберите условие отбора (и, или, не), нажав на кнопку И.
- Если вы хотите добавить уже существующие фильтры, которые выбираются в раскрывающемся списке Выберите фильтр, нажмите на кнопку Добавить фильтр. Вы можете просмотреть параметры вложенного фильтра, нажав на кнопку
.
В набор ресурсов для коллектора добавлено новое правило обогащения.
Обогащение с помощью LDAP
Чтобы включить обогащение с помощью LDAP:
- Нажмите Добавить сопоставление с учетными записями LDAP.
Откроется блок параметров обогащения с помощью LDAP.
- В блоке параметров Сопоставление с учетными записями LDAP с помощью кнопки Добавить домен укажите домен учетных записей. Доменов можно указать несколько.
- В таблице Обогащение полей KUMA задайте правила сопоставления полей KUMA с атрибутами LDAP:
- В столбце Поле KUMA укажите поле события KUMA, данные из которого следует сравнить с атрибутом LDAP.
- В столбце LDAP-атрибут, укажите атрибут, с которым необходимо сравнить поле события KUMA. Раскрывающийся список содержит стандартные атрибуты и может быть дополнен пользовательскими атрибутами.
Перед настройкой обогащения событий с помощью пользовательских атрибутов убедитесь, что пользовательские атрибуты настроены в AD.
Чтобы обогащать события учетными записями с помощью пользовательских атрибутов:
- Добавьте Пользовательские атрибуты учетных записей AD в Параметрах подключения к LDAP.
Невозможно добавить стандартные Импортируемые атрибуты из AD в качестве пользовательских. Например, если вы захотите добавить стандартный атрибут accountExpires
в качестве пользовательского атрибута, при сохранении параметров подключения KUMA вернет ошибку.
Из Active Directory можно запросить следующие атрибуты учетных записей:
accountExpires
badPasswordTime
cn
company
department
displayName
distinguishedName
division
employeeID
ipaUniqueID
l
mail
mailNickname
managedObjects
manager
memberOf
(по этому атрибуту события можно искать при корреляции)mobile
objectGUID
(этот атрибут запрашивается из Active Directory всегда)objectSid
physicalDeliveryOfficeName
sAMAccountName
sAMAccountType
sn
streetAddress
telephoneNumber
title
userAccountControl
userPrincipalName
whenChanged
whenCreated
После того, как вы добавите пользовательские атрибуты в Параметрах подключения к LDAP, раскрывающийся список LDAP-атрибуты в коллекторе будет автоматически дополнен. Пользовательские атрибуты можно отличить по знаку вопроса рядом с именем атрибута. Если для нескольких доменов вы добавили один и тот же атрибут, в раскрывающемся списке атрибут будет указан один раз, а домены можно просмотреть, если навести курсор на знак вопроса. Названия доменов отображаются в виде ссылок: если вы нажмете на ссылку, домен автоматически добавится в Сопоставление с учетными записями LDAP, если прежде он не был добавлен.
Если вы удалили пользовательский атрибут в Параметрах подключения к LDAP, удалите вручную строку с атрибутом из таблицы сопоставления в коллекторе. Информация об атрибутах учетных записей в KUMA обновляется каждый раз после того, как вы выполните импорт учетных записей.
- Импортируйте учетные записи.
- В коллекторе в таблице Обогащение полей KUMA задайте правила сопоставления полей KUMA с атрибутами LDAP.
- Перезапустите коллектор.
После перезапуска коллектора KUMA начнет обогащать события учётными записями.
- В столбце Поле для записи данных укажите, в какое поле события KUMA следует поместить идентификатор пользовательской учетной записи, импортированной из LDAP, если сопоставление было успешно.
С помощью кнопки Добавить строку в таблицу можно добавить строку, а с помощью кнопки
– удалить. С помощью кнопки Применить сопоставление по умолчанию можно заполнить таблицу сопоставления стандартными значениями.
В блок ресурсов для коллектора добавлены правила обогащения события данными, полученными из LDAP.
При добавлении в существующий коллектор обогащения с помощью LDAP или изменении параметров обогащения требуется остановить и запустить сервис снова.
Перейдите к следующему шагу мастера установки.
В начало
[Topic 220715]
Шаг 7. Маршрутизация
Это необязательный шаг мастера установки. На вкладке мастера установки Маршрутизация можно выбрать или создать точки назначения, в параметрах которых будут определено, куда следует перенаправлять обработанные коллектором события. Обычно события от коллектора перенаправляются в две точки: в коррелятор для анализа и поиска угроз; в хранилище для хранения, а также чтобы обработанные события можно было просматривать позднее. При необходимости события можно отправлять в другие места. Точек назначения может быть несколько.
Чтобы добавить в набор ресурсов коллектора существующую точку назначения:
- В раскрывающемся списке Добавить точку назначения выберите тип точки назначения, которую вы хотите добавить:
Открывается окно Добавить точку назначения, где можно указать параметры пересылки событий.
- В раскрывающемся списке Точка назначения выберите нужную точку назначения.
Название окна меняется на Изменить точку назначения, параметры выбранного ресурса отображаются в окне. Параметры точки назначения можно открыть для редактирования в новой вкладке браузера с помощью кнопки
.
- Нажмите Сохранить.
Выбранная точка назначения отображается на вкладке мастера установки. Точку назначения можно удалить из набора ресурсов, выбрав ее и в открывшемся окне нажав Удалить.
Чтобы добавить в набор ресурсов коллектора новую точку назначения:
- В раскрывающемся списке Добавить точку назначения выберите тип точки назначения, которую вы хотите добавить:
Открывается окно Добавить точку назначения, где можно указать параметры пересылки событий.
- Укажите параметры на вкладке Основные параметры:
- При необходимости укажите параметры на вкладке Дополнительные параметры. Доступные параметры зависят от выбранного типа точки назначения:
- Сжатие – раскрывающийся список, в котором можно включить сжатие Snappy. По умолчанию сжатие Выключено.
- Прокси-сервер – раскрывающийся список для выбора прокси-сервера.
- Размер буфера – поле, в котором можно указать размер буфера (в байтах) для точки назначения. Значение по умолчанию: 1 МБ; максимальное: 64 МБ.
- Время ожидания – поле, в котором можно указать время ожидания (в секундах) ответа другого сервиса или компонента. Значение по умолчанию:
30
. - Размер дискового буфера – поле, в котором можно указать размер дискового буфера в байтах. По умолчанию размер равен 10 ГБ.
- Идентификатор кластера – идентификатор кластера NATS.
- Режим TLS – раскрывающийся список, в котором можно указать условия использование шифрования TLS:
- Выключено (по умолчанию) – не использовать шифрование TLS.
- Включено – использовать шифрование, но без верификации.
- С верификацией – использовать шифрование с верификацией сертификата, подписанного корневым сертификатом KUMA. Корневой сертификат и ключ KUMA создаются автоматически при установке программы и располагаются на сервере Ядра KUMA в папке /opt/kaspersky/kuma/core/certificates/.
При использовании TLS невозможно указать IP-адрес в качестве URL.
- Политика выбора URL – раскрывающийся список, в котором можно выбрать способ определения, на какой URL следует отправлять события, если URL было указано несколько:
- Любой – события отправляются в один из доступных URL до тех пор, пока этот URL принимает события. При разрыве связи (например, при отключении принимающего узла) для отправки событий будет выбран другой URL.
- Сначала первый – события отправляются в первый URL из списка добавленных адресов. Если он становится недоступен, события отправляются в следующий по очереди доступный узел. Когда первый URL снова становится доступен, события снова начинаются отправляться в него.
- Сбалансированный – пакеты с событиями будут равномерно распределены по доступным URL из списка. Поскольку пакеты отправляются или при переполнении буфера точки назначения, или при срабатывании таймера очистки буфера, эта политика выбора URL не гарантирует равное распределение событий по точкам назначения.
- Разделитель – этот раскрывающийся список используется для указания символа, определяющего границу между событиями. По умолчанию используется
\n
. - Путь – путь к файлу, если выбран тип точки назначения file.
- Интервал очистки буфера – это поле используется для установки времени (в секундах) между отправкой данных в точку назначения. Значение по умолчанию:
100
. - Рабочие процессы – это поле используется для установки количества служб, обрабатывающих очередь. Значение по умолчанию равно количеству vCPU сервера, на котором установлено Ядро KUMA.
- Вы можете установить проверки работоспособности, используя поля Путь проверки работоспособности и Ожидание проверки работоспособности. Вы также можете отключить проверку работоспособности, установив флажок Проверка работоспособности отключена.
- Отладка – переключатель, с помощью которого можно указать, будет ли включено логирование ресурса. По умолчанию положение Выключено.
- С помощью раскрывающегося списка Дисковый буфер можно включить или выключить использование дискового буфера. По умолчанию дисковый буфер отключен.
Дисковый буфер используется, если коллектор не может направить в точку назначения нормализованные события. Объём выделенного дискового пространства ограничен значением параметра Размер дискового буфера.
Если выделенное под дисковый буфер дисковое пространство исчерпано, события ротируются по следующему принципу: новые события замещают самые старые события, записанные в буфер.
- В разделе Фильтр можно задать условия определения событий, которые будут обрабатываться этим ресурсом. В раскрывающемся списке можно выбрать существующий фильтр или Создать новый фильтр.
Создание фильтра в ресурсах
Чтобы создать фильтр:
- В раскрывающемся списке Фильтр выберите Создать.
- Если вы хотите сохранить фильтр в качестве отдельного ресурса, установите флажок Сохранить фильтр. В этом случае вы сможете использовать созданный фильтр в разных сервисах. По умолчанию флажок снят.
- Если вы установили флажок Сохранить фильтр, в поле Название введите название для создаваемого ресурса фильтра. Максимальная длина названия: до 128 символов в кодировке Unicode.
- В блоке параметров Условия укажите условия, которым должны соответствовать события:
- Нажмите на кнопку Добавить условие.
- В раскрывающихся списках Левый операнд и Правый операнд укажите параметры поиска. В зависимости от источника данных, выбранного в поле Правый операнд, могут отобразиться поля дополнительных параметров для определения значения, которое будет передано в фильтр. Например, при выборе значения активный лист вам нужно указать название активного листа, ключ записи и поле ключа записи.
- В раскрывающемся списке оператор выберите оператор.
Операторы фильтров
- = – левый операнд равен правому операнду.
- < – левый операнд меньше правого операнда.
- <= – левый операнд меньше или равен правому операнду.
- > – левый операнд больше правого операнда.
- >= – левый операнд больше или равен правому операнду.
- inSubnet – левый операнд (IP-адрес) находится в подсети правого операнда (подсети).
- contains – левый операнд содержит значения правого операнда.
- startsWith – левый операнд начинается с одного из значений правого операнда.
- endsWith – левый операнд заканчивается одним из значений правого операнда.
- match – левый операнд соответствует регулярному выражению правого операнда. Используются регулярные выражения RE2.
- hasBit – установлены ли в левом операнде (в строке или числе), биты, позиции которых перечислены в правом операнде (в константе или в списке).
Проверяемое значение переводится в двоичную систему счисления, после чего рассматривается справа налево. Проверяются символы, индекс которых указан в качестве константы или списка.
Если проверяемое значение – это строка, то производится попытка перевести ее в целое число и обработать указанным выше способом. Если перевести строку в число невозможно, фильтр возвращает False
.
- hasVulnerability – находится ли в левом операнде актив с уязвимостью и уровнем важности уязвимости, указанными в правом операнде.
Если идентификатор и значение важности уязвимости не указать, фильтр будет срабатывать при наличии любых уязвимостей у актива в проверяемом событии.
- inActiveList – этот оператор имеет только один операнд. Его значения выбираются в поле Ключевые поля и сравниваются с записями активного листа, выбранного в раскрывающемся списке активных листов.
- inDictionary – присутствует ли в указанном словаре запись, соответствующая ключу, составленному из значений выбранных полей события.
- inCategory – активу в левом операнде назначена по крайней мере одна из категорий активов правого операнда.
- inActiveDirectoryGroup – учетная запись Active Directory в левом операнде принадлежит одной из групп Active Directory в правом операнде.
- TIDetect – этот оператор используется для поиска событий с данными CyberTrace Threat Intelligence (TI). Этот оператор можно использовать только на событиях, прошедших обогащение данными из CyberTrace Threat Intelligence, то есть только в коллекторах на этапе выбора точки назначения и в корреляторах.
- inContextTable – присутствует ли в указанной контекстной таблице запись.
- intersect – находятся ли в левом операнде элементы списка, указанные в списке в правом операнде.
- Если вы хотите, чтобы оператор игнорировал регистр значений, установите флажок без учета регистра. Действие флажка не распространяется на операторы InSubnet, InActiveList, InCategory, InActiveDirectoryGroup. По умолчанию флажок снят.
- Если вы хотите добавить отрицательное условие, в раскрывающемся списке Если выберите Если не.
Вы можете добавить несколько условий или группу условий.
- Если вы добавили несколько условий или групп условий, выберите условие отбора (и, или, не), нажав на кнопку И.
- Если вы хотите добавить уже существующие фильтры, которые выбираются в раскрывающемся списке Выберите фильтр, нажмите на кнопку Добавить фильтр. Вы можете просмотреть параметры вложенного фильтра, нажав на кнопку
.
- Нажмите Сохранить.
Созданная точка назначения отображается на вкладке мастера установки. Точку назначения можно удалить из набора ресурсов, выбрав ее и в открывшемся окне нажав Удалить.
Перейдите к следующему шагу мастера установки.
В начало
[Topic 220716]
Шаг 8. Проверка параметров
Это обязательный и заключительный шаг мастера установки. На этом шаге в KUMA создается набор ресурсов для сервиса и на основе этого набора автоматически создаются сервисы:
- Набор ресурсов для коллектора отображается в разделе Ресурсы → Коллекторы. Его можно использовать для создания новых сервисов коллектора. При изменении этого набора ресурсов все сервисы, которые работают на его основе, будут использовать новые параметры, если сервисы перезапустить: для этого можно использовать кнопки Сохранить и перезапустить сервисы и Сохранить и обновить параметры сервисов.
Набор ресурсов можно изменять, копировать, переносить из папки в папку, удалять, импортировать и экспортировать, как другие ресурсы.
- Сервисы отображаются в разделе Ресурсы → Активные сервисы. Созданные с помощью мастера установки сервисы выполняют функции внутри программы KUMA – для связи с внешними частями сетевой инфраструктуры необходимо установить аналогичные внешние сервисы на предназначенных для них серверах и устройствах. Например, внешний сервис коллектора следует установить на сервере, предназначенном для получения событий; внешние сервисы хранилища – на серверах с развернутой службой ClickHouse; внешние сервисы агентов – на тех устройствах Windows, где требуется получать и откуда необходимо пересылать события Windows.
Чтобы завершить мастер установки:
- Нажмите Сохранить и создать сервис.
На вкладке мастера установки Проверка параметров отображается таблица сервисов, созданных на основе набора ресурсов, выбранных в мастере установки. В нижней части окна отображаются примеры команд, с помощью которых необходимо установить внешние аналоги этих сервисов на предназначенные для них серверы и устройства.
Например:
/opt/kaspersky/kuma/kuma collector --core https://kuma-example:<порт, используемый для связи с Ядром KUMA> --id <идентификатор сервиса> --api.port <порт, используемый для связи с сервисом> --install
Файл kuma можно найти внутри установщика в директории /kuma-ansible-installer/roles/kuma/files/.
Порт для связи с Ядром KUMA, идентификатор сервиса и порт для связи с сервисом добавляются в команду автоматически. Также следует убедиться в сетевой связности системы KUMA и при необходимости открыть используемые ее компонентами порты.
- Закройте мастер, нажав Сохранить коллектор.
Сервис коллектора создан в KUMA. Теперь сервис необходимо установить на сервере, предназначенном для получения событий.
Если в коллекторы был выбран коннектор типа wmi или wec, потребуется также установить автоматически созданные агенты KUMA.
В начало
[Topic 220717]
Установка коллектора в сетевой инфраструктуре KUMA
Коллектор состоит из двух частей: одна часть создается в веб-интерфейсе KUMA, а другая устанавливается на сервере сетевой инфраструктуры, предназначенной для получения событий. В сетевой инфраструктуре устанавливается вторая часть коллектора.
Чтобы установить коллектор:
- Войдите на сервер, на котором вы хотите установить сервис.
- Выполните следующую команду:
sudo /opt/kaspersky/kuma/kuma collector --core https://<
FQDN сервера Ядра KUMA
>:<
порт, используемый Ядром KUMA для внутренних коммуникаций (по умолчанию используется порт 7210)
> --id <идентификатор сервиса, скопированный из веб-интерфейса KUMA> --api.port <
порт, используемый для связи с устанавливаемым компонентом
>
Пример: sudo /opt/kaspersky/kuma/kuma collector --core https://test.kuma.com:7210 --id XXXX --api.port YYYY
Если в результате выполнения команды были выявлены ошибки, проверьте корректность параметров. Например, наличие требуемого уровня доступа, сетевой доступности между сервисом коллектора и Ядром, уникальность выбранного API-порта. После устранения ошибок продолжите установку коллектора.
Если ошибки не выявлены, а статус коллектора в веб-интерфейсе KUMA изменился на зеленый, остановите выполнение команды и перейдите к следующему шагу.
Команду можно скопировать на последнем шаге мастера установщика. В команде автоматически указывается адрес и порт сервера Ядра KUMA, идентификатор устанавливаемого коллектора, а также порт, который этот коллектор использует для связи.
При развертывании нескольких сервисов KUMA на одном хосте в процессе установки необходимо указать уникальные порты для каждого компонента с помощью параметра --api.port <порт>
. По умолчанию используется значение --api.port 7221
.
Перед установкой необходимо убедиться в сетевой связности компонентов KUMA.
- Выполните команду повторно, добавив ключ
--install
:sudo /opt/kaspersky/kuma/kuma collector --core https://<
FQDN сервера Ядра KUMA
>:<
порт, используемый Ядром KUMA для внутренних коммуникаций (по умолчанию используется порт 7210)
> --id <идентификатор сервиса, скопированный из веб-интерфейса KUMA> --api.port <
порт, используемый для связи с устанавливаемым компонентом
> --install
Пример: sudo /opt/kaspersky/kuma/kuma collector --core https://kuma.example.com:7210 --id XXXX --api.port YYYY --install
- Добавьте порт коллектора KUMA в исключения брандмауэра.
Для правильной работы программы убедитесь, что компоненты KUMA могут взаимодействовать с другими компонентами и программами по сети через протоколы и порты, указанные во время установки компонентов KUMA.
Коллектор установлен. С его помощью можно получать и передавать на обработку данные из источника события.
В начало
[Topic 220708]
Проверка правильности установки коллектора
Проверить готовность коллектора к получению событий можно следующим образом:
- В веб-интерфейсе KUMA откройте раздел Ресурсы → Активные сервисы.
- Убедитесь, что у установленного вами коллектора зеленый статус.
Если статус коллектора отличается от зеленого, просмотрите журнал этого сервиса на машине, где он установлен, в директории /opt/kaspersky/kuma/collector/<идентификатор корректора>/log/collector. Ошибки записываются в журнал вне зависимости от того, включен или выключен режим отладки.
Если коллектор установлен правильно и вы уверены, что из источника событий приходят данные, то при поиске связанных с ним событий в таблице должны отображаться события.
Чтобы проверить наличие ошибок нормализации с помощью раздела События веб-интерфейса KUMA:
- Убедитесь, что запущен сервис коллектора.
- Убедитесь, что источник событий передает события в KUMA.
- Убедитесь, что в разделе Ресурсы веб-интерфейса KUMA в раскрывающемся списке Хранить исходное событие ресурса Нормализатор выбрано значение При возникновении ошибок.
- В разделе События в KUMA выполните поиск событий со следующими параметрами:
Если при этом поиске будут обнаружены какие-либо события, это означает, что есть ошибки нормализации, и их необходимо исследовать.
Чтобы проверить наличие ошибок нормализации с помощью панели мониторинга Grafana:
- Убедитесь, что запущен сервис коллектора.
- Убедитесь, что источник событий передает события в KUMA.
- Откройте раздел Метрики и перейдите по ссылке KUMA Collectors.
- Проверьте, отображаются ли ошибки в разделе Errors (Ошибки) виджета Normalization (Нормализация).
Если в результате обнаружены ошибки нормализации, их необходимо исследовать.
В коллекторах типа WEC и WMI необходимо убедиться, что для подключения к агенту используется уникальный порт. Этот порт указывается в разделе Транспорт мастера установки коллектора.
В начало
[Topic 221402]
Обеспечение бесперебойной работы коллекторов
Бесперебойное поступление событий от источника событий в KUMA является важным условием защиты сетевой инфраструктуры. Бесперебойность можно обеспечить автоматическим перенаправлением потока событий на большее число коллекторов:
- На стороне KUMA необходимо установить два или больше одинаковых коллекторов.
- На стороне источника событий необходимо настроить управление потоками событий между коллекторами с помощью сторонних средств управления нагрузкой серверов, например rsyslog или nginx.
При такой конфигурации коллекторов поступающие события не будут теряться, когда сервер коллектора по какой-либо причине недоступен.
Необходимо учитывать, что при переключении потока событий между коллекторами агрегация событий будет происходить на каждом коллекторе отдельно.
Если коллектор KUMA не удается запустить, а в его журнале выявлена ошибка "panic: runtime error: slice bounds out of range [8:0]":
- Остановите коллектор.
sudo systemctl stop kuma-collector-<
идентификатор коллектора
>
- Удалите файлы с кешем DNS-обогащения.
sudo rm -rf /opt/kaspersky/kuma/collector/<
идентификатор коллектора
>/cache/enrichment/DNS-*
- Удалите файлы с кешем событий (дисковый буфер). Выполняйте команду, только если можно пожертвовать событиями, находящимися в дисковых буферах коллектора.
sudo rm -rf /opt/kaspersky/kuma/collector/<
идентификатор коллектора
>/buffers/*
- Запустите сервис коллектора.
sudo systemctl start kuma-collector-<
идентификатор коллектора
>
В начало
[Topic 238522]
Управление потоком событий с помощью rsyslog
Чтобы включить управление потоками событий на сервере источника событий с помощью rsyslog:
- Создайте два или более одинаковых коллекторов, с помощью которых вы хотите обеспечить бесперебойный прием событий.
- Установите на сервере источника событий rsyslog (см. документацию rsyslog).
- Добавьте в конфигурационный файл /etc/rsyslog.conf правила перенаправления потока событий между коллекторами:
*.* @@<FQDN основного сервера коллектора>:<порт, на который коллектор принимает события>
$ActionExecOnlyWhenPreviousIsSuspended on
& @@<FQDN резервного сервера коллектора>:<порт, на который коллектор принимает события>
$ActionExecOnlyWhenPreviousIsSuspended off
|
Пример конфигурационного файла
Пример конфигурационного файла, где указан один основной коллектор и два резервных. Коллекторы настроены на принятие событий на порт TCP 5140.
*.* @@kuma-collector-01.example.com:5140
$ActionExecOnlyWhenPreviousIsSuspended on
& @@kuma-collector-02.example.com:5140
& @@kuma-collector-03.example.com:5140
$ActionExecOnlyWhenPreviousIsSuspended off
|
- Перезапустите rsyslog, выполнив команду:
systemctl restart rsyslog
.
Управление потоками событий на сервере источника событий включено.
В начало
[Topic 238527]
Управление потоком событий с помощью nginx
Для управления потоком событий средствами nginx необходимо создать и настроить nginx-сервер, который будет принимать события от источника событий, а затем перенаправлять их на коллекторы.
Чтобы включить управление потоками событий на сервере источника событий с помощью nginx:
- Создайте два или более одинаковых коллекторов, с помощью которых вы хотите обеспечить бесперебойный прием событий.
- Установите nginx на сервере, предназначенном для управления потоком событий.
- Команда для установки в Oracle Linux 8.6:
$sudo dnf install nginx
- Команда для установки в Ubuntu 20.4:
$sudo apt-get install nginx
При установке из sources, необходимо собрать с параметром -with-stream
:
$sudo ./configure -with-stream -without-http_rewrite_module -without-http_gzip_module
- На nginx-сервере в конфигурационный файл nginx.conf добавьте модуль stream с правилами перенаправления потока событий между коллекторами.
Пример модуля stream
Пример модуля, в котором поток событий распределяется между коллекторами kuma-collector-01.example.com и kuma-collector-02.example.com, которые принимают события по протоколу TCP на порт 5140 и по протоколу UDP на порт 5141. Для балансировки используется ngnix-сервер nginx.example.com.
stream {
upstream syslog_tcp {
server kuma-collector-1.example.com:5140;
server kuma-collector-2.example.com:5140;
}
upstream syslog_udp {
server kuma-collector-1.example.com:5141;
server kuma-collector-2.example.com:5141;
}
server {
listen nginx.example.com:5140;
proxy_pass syslog_tcp;
}
server {
listen nginx.example.com:5141 udp;
proxy_pass syslog_udp;
proxy_responses 0;
}
}
worker_rlimit_nofile 1000000;
events {
worker_connections 20000;
}
# worker_rlimit_nofile – ограничение на максимальное число открытых файлов (RLIMIT_NOFILE) для рабочих процессов. Используется для увеличения ограничения без перезапуска главного процесса.
# worker_connections – максимальное число соединений, которые одновременно может открыть рабочий процесс.
|
При большом количестве активных сервисов и пользователей может понадобиться увеличить лимит открытых файлов в параметрах nginx.conf. Например:
worker_rlimit_nofile 1000000;
events {
worker_connections 20000;
}
# worker_rlimit_nofile – ограничение на максимальное число открытых файлов (RLIMIT_NOFILE) для рабочих процессов. Используется для увеличения ограничения без перезапуска главного процесса.
# worker_connections – максимальное число соединений, которые одновременно может открыть рабочий процесс.
- Перезапустите nginx, выполнив команду:
systemctl restart nginx
- На сервере источника событий перенаправьте события на nginx-сервер.
Управление потоками событий на сервере источника событий включено.
Для тонкой настройки балансировки может потребоваться nginx Plus, однако некоторые методы балансировки, например Round Robin и Least Connections, доступны в базовой версии ngnix.
Подробнее о настройке nginx см. в документации nginx.
В начало
[Topic 238530]