Шаг 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. Если вы хотите передавать сырое событие для дополнительной нормализации на второй, третий и далее уровень вложенности, последовательно на каждом уровне вложенности в раскрывающемся списке Использовать сырое событие выберите Да.
Если вы хотите отправлять в дополнительный нормализатор только события с определенным полем, в поле Поле, которое следует передать в нормализатор укажите порт.
На этой вкладке вы можете определить другие условия, при выполнении которых событие будет поступать на дополнительный парсинг.
- Вкладка Схема нормализации:
На этой вкладке вы можете настроить правила обработки событий, по аналогии с параметрами основного нормализатора. Параметр Сохранить исходное событие недоступен. В поле Примеры событий отображаются значения, указанные при создании нормализатора.
- Вкладка Обогащение:
На этой вкладке вы можете настроить правила обогащения событий. Подробнее о настройке правил обогащения см. выше в разделе Обогащение нормализованного события дополнительными данными.
- Нажмите на кнопку ОК.
Дополнительное правило парсинга будет добавлено в нормализатор и отобразится в виде темного блока. В темном блоке указаны условия, при которых дополнительное правило парсинга будет задействовано.
Вы можете выполнить следующие действия:
- Изменить параметры дополнительного правила парсинга, нажав на него.
- Найти дополнительное правило парсинга, введя его название в поле в верхней части окна.
- Создать новое дополнительное правило парсинга. Для этого наведите курсор на дополнительное правило парсинга и нажмите на отобразившийся значок плюса.
- Удалить дополнительное правило парсинга. Для этого наведите курсор на дополнительное правило парсинга и нажмите на значок корзины.
Перейдите к следующему шагу мастера установки.
Идентификатор статьи: 220712, Последнее изменение: 3 апр. 2025 г.