Шаг 3. Парсинг событий
Это обязательный шаг мастера установки. В закладке мастера установки Парсинг событий следует выбрать или создать ресурс нормализатора, в параметрах которого будут определены правила преобразования "сырых" событий в нормализованные. Можно добавить несколько нормализаторов и реализовать сложную логику обработки событий.
При создании нового нормализатора в мастере установки по умолчанию он будет сохранен в наборе ресурсов для коллектора и не сможет быть использован в других коллекторах. С помощью флажка Сохранить нормализатор вы можете создать отдельный ресурс.
Если вы, меняя параметры набора ресурсов коллектора, измените или удалите преобразования в подключенном к нему нормализаторе, правки не сохранятся, а сам ресурс нормализатора может быть поврежден. При необходимости изменить преобразования в нормализаторе, который уже является частью сервиса, вносите правки непосредственно в ресурс нормализатора в разделе веб-интерфейса Ресурсы → Нормализаторы.
Добавление нормализатора
Чтобы добавить в набор ресурсов существующий нормализатор:
- Нажмите на кнопку Добавить парсинг событий.
Откроется окно Парсинг событий с параметрами нормализатора и активной закладкой Схема нормализации.
- В раскрывающемся списке Нормализатор выберите нужный нормализатор.
В окне Парсинг событий отобразятся параметры выбранного нормализатора. Выбранный ресурс можно открыть для редактирования в новой вкладке браузера с помощью кнопки .
- Нажмите ОК.
В закладке мастера установки Парсинг событий отображается нормализатор в виде темного кружка. Можно нажать на кружок, чтобы открыть параметры нормализатора для редактирования. При наведении на кружок отображается значок плюса: при нажатии на него можно добавить дополнительные нормализаторы (см. ниже).
Чтобы создать новый нормализатор:
- Выберите в раскрывающемся списке Нормализатор пункт Создать.
Откроется окно Парсинг событий с параметрами нормализатора и активной закладкой Схема нормализации.
- Если хотите сохранить нормализатор в качестве отдельного ресурса, установите флажок Сохранить нормализатор. По умолчанию флажок снят.
- Введите в поле Название уникальное имя для нормализатора. Название должно содержать от 1 до 128 символов Юникода.
- В раскрывающемся списке Метод парсинга выберите тип получаемых событий. В зависимости от выбора можно будет воспользоваться преднастроенными правилами сопоставления полей событий или же задать свои собственные правила. При выборе некоторых методов парсинга могут стать доступны дополнительные параметры, требуемые для заполнения.
Доступные методы парсинга:
- json
Этот метод парсинга используется для обработки данных в формате JSON.
При обработке файлов с иерархически выстроенными данными можно обращаться к полям вложенных объектов, поочередно через точку указывая названия параметров. Например, к параметру username
из строки "user":{"username":"system:node:example-01"}
можно обратиться с помощью запроса user.username
.
- cef
Этот метод парсинга используется для обработки данных в формате CEF.
При выборе этого метода можно воспользоваться преднастроенными правилами преобразования событий в формат KUMA, нажав на кнопку Применить сопоставление по умолчанию.
- regexp
Этот метод парсинга используется для создания собственных правил обработки данных в формате JSON.
В поле блока параметров Нормализация необходимо добавить регулярное выражение (синтаксис RE2) c именованными группами захвата: имя группы и ее значение будут считаться полем и значением "сырого" события, которое можно будет преобразовать в поле события формата KUMA.
Чтобы добавить правила обработки событий:
- Скопируйте в поле Примеры событий пример данных, которые вы хотите обработать. Это необязательный, но рекомендуемый шаг.
- В поле блока параметров Нормализация добавьте регулярное выражение c именованными группами захвата в синтаксисе RE2, например "(?P<name>regexp)".
Можно добавить несколько регулярных выражений с помощью кнопки Добавить регулярное выражение. При необходимости удалить регулярное выражение, воспользуйтесь кнопкой .
- Нажмите на кнопку Перенести названия полей в таблицу.
Имена групп захвата отображаются в столбце Поле KUMA таблицы Сопоставление. Теперь в столбце напротив каждой группы захвата можно выбрать соответствующее ей поле KUMA или, если вы именовали группы захвата в соответствии с форматом CEF, можно воспользоваться автоматическим сопоставлением CEF, поставив флажок Использовать синтаксис CEF при нормализации.
Правила обработки событий добавлены.
- syslog
Этот метод парсинга используется для обработки данных в формате syslog.
При выборе этого метода можно воспользоваться преднастроенными правилами преобразования событий в формат KUMA, нажав на кнопку Применить сопоставление по умолчанию.
- csv
Этот метод парсинга используется для создания собственных правил обработки данных в формате CSV.
При выборе этого метода необходимо в поле Разделитель указать разделитель значений в строке. В качестве разделителя допускается использовать любой однобайтовый символ ASCII.
- kv
Этот метод парсинга используется для обработки данных в формате ключ-значение.
При выборе этого метода необходимо указать значения в следующих обязательных полях:
- Разделитель пар – укажите символ, которые будет служит разделителем пар ключ-значение. Допускается указать любое односимвольное (1 байт) значение при условии, что символ не будет совпадать с разделителем значений.
- Разделитель значений – укажите символ, который будет служить разделителем между ключом и значением. Допускается указать любое односимвольное (1 байт) значение при условии, что символ не будет совпадать с разделителем пар ключ-значение.
- xml
Этот метод парсинга используется для обработки данных в формате XML.
При выборе этого метода в блоке параметров Атрибуты XML можно указать ключевые атрибуты, которые следует извлекать из тегов. Если в структуре XML в одном теге есть атрибуты с разными значениями, можно определить нужное значение, указав ключ к нему в столбце Исходные данные таблицы Сопоставление.
Чтобы добавить ключевые атрибуты XML,
Нажмите на кнопку Добавить поле и в появившемся окне укажите путь к нужному атрибуту.
Можно добавить несколько атрибутов. Атрибуты можно удалить по одному с помощью значка с крестиком или все сразу с помощью кнопки Сбросить.
Если ключевые атрибуты XML не указаны, при сопоставлении полей уникальный путь к значению XML будет представлен последовательностью тегов.
- netflow5
Этот метод парсинга используется для обработки данных в формате NetFlow v5.
При выборе этого метода можно воспользоваться преднастроенными правилами преобразования событий в формат KUMA, нажав на кнопку Применить сопоставление по умолчанию.
В правилах сопоставления по умолчанию для типа netflow5 тип протокола не указывается в полях событий KUMA. При парсинге данных в формате NetFlow в закладке нормализатора Обогащение следует создать правило обогащения данных типа constant, добавляющее значение netflow
в целевое поле DeviceProduct
.
- netflow9
Этот метод парсинга используется для обработки данных в формате NetFlow v9.
При выборе этого метода можно воспользоваться преднастроенными правилами преобразования событий в формат KUMA, нажав на кнопку Применить сопоставление по умолчанию.
В правилах сопоставления по умолчанию для типа netflow9 тип протокола не указывается в полях событий KUMA. При парсинге данных в формате NetFlow в закладке нормализатора Обогащение следует создать правило обогащения данных типа constant, добавляющее значение netflow
в целевое поле DeviceProduct
.
- ipfix
Этот метод парсинга используется для обработки данных в формате IPFIX.
При выборе этого метода можно воспользоваться преднастроенными правилами преобразования событий в формат KUMA, нажав на кнопку Применить сопоставление по умолчанию.
В правилах сопоставления по умолчанию для типа ipfix тип протокола не указывается в полях событий KUMA. При парсинге данных в формате NetFlow в закладке нормализатора Обогащение следует создать правило обогащения данных типа constant, добавляющее значение netflow
в целевое поле DeviceProduct
.
- sql – этот метод становится доступным, только при использовании коннектора типа sql
Этот метод парсинга используется для обработки данных в формате SQL.
- В раскрывающемся списке Хранить исходное событие укажите, надо ли сохранять исходное "сырое" событие во вновь созданном нормализованном событии. Доступные значения:
- Не хранить – не сохранять исходное событие. Это значение используется по умолчанию.
- При возникновении ошибок – сохранять исходное событие в поле
Raw
нормализованного события, если в процессе парсинга возникли ошибки. Это значение удобно использовать при отладке сервиса: в этом случае появление у событий непустого поля Raw
будет являться признаком неполадок. - Всегда – сохранять сырое событие в поле
Raw
нормализованного события.
- В раскрывающемся списке Сохранить дополнительные поля выберите, требуется ли сохранять поля исходного события в нормализованном событии, если для них не были настроены правила сопоставления (см. ниже). Данные сохраняются в поле события Extra. По умолчанию поля не сохраняются.
- Скопируйте в поле Примеры событий пример данных, которые вы хотите обработать. Это необязательный, но рекомендуемый шаг.
Пример событий можно также загрузить из файла формата tsv, csv или txt с помощью кнопки Загрузить из файла.
- В таблице Сопоставление настройте сопоставление полей исходного события с полями события в формате KUMA:
- В столбце Исходные данные укажите название поля исходного события, которое вы хотите преобразовать в поле события KUMA.
Если рядом с названиями полей в столбце Исходные данные нажать на кнопку , откроется окно Преобразование, в котором с помощью кнопки Добавить преобразование можно создать правила изменения исходных данных перед тем, как они будут записаны в поля событий KUMA.
Доступные преобразования
Преобразования – это изменения, которые можно применить к значению до того, как оно будет записано в поле события. Тип преобразования выбирается в раскрывающемся списке.
Доступные преобразования:
- lower – используется для перевода всех символов значения в нижний регистр
- upper – используется для перевода всех символов значения в верхний регистр
- regexp – используется для преобразования значения с помощью регулярного выражения RE2. Поле, в которое следует добавить регулярное выражение, появляется, когда выбран этот тип преобразования.
- substring – используется для извлечения символов в диапазоне позиций, указанном в полях Начало и Конец. Эти поля появляются, когда выбран данный тип преобразования.
- replace – используется для замены указанной последовательности символов на другую последовательность символов. Когда выбран этот тип преобразования, появляются новые поля:
- Символы на замену – в этом поле вы можете указать последовательность символов, которую следует заменить.
- Чем заменить – в этом поле вы можете указать последовательность символов, которая должна использоваться вместо заменяемой последовательности символов.
- trim – используется для удаления одновременно с начала и с конца значения поля события символов, указанных в поле Символы. Это поле появляется при выборе данного типа преобразования. Например, если для значения
Microsoft-Windows-Sysmon
выполнить преобразование trim со значением Micromon
, то получается значение soft-Windows-Sys
. - append – используется для добавления в конец значения поля события символов, указанных в поле Константа. Это поле появляется при выборе данного типа преобразования.
- prepend – используется для добавления к началу значения поля события символов, указанных в поле Константа. Это поле появляется при выборе данного типа преобразования.
- replace with regexp – используется для замены результатов регулярного выражения RE2 на последовательность символов.
- Выражение – в этом поле вы можете указать регулярное выражение, результаты которого следует заменить.
- Чем заменить – в этом поле вы можете указать последовательность символов, которая должна использоваться вместо заменяемой последовательности символов.
- В столбце Поле KUMA в раскрывающемся списке выберите требуемое поле события KUMA. Поля можно искать, вводя в поле их названия.
- Если название поля события KUMA, выбранного на предыдущем шаге, начинается с DeviceCustom*, при необходимости в поле Подпись можно добавить уникальную пользовательскую метку.
Новые строки таблицы можно добавлять с помощью кнопки Добавить строку. Строки можно удалять по отдельности с помощью кнопки или все сразу с помощью кнопки Очистить все.
Если вы загрузили данные в поле Примеры событий, в таблице отобразится столбец Примеры с примерами значений, переносимых из поля исходного события в поле события KUMA.
- Нажмите ОК.
В закладке мастера установки Парсинг событий отображается нормализатор в виде темного кружка. Можно нажать на кружок, чтобы открыть параметры нормализатора для редактирования. При наведении на кружок отображается значок плюса: при нажатии на него можно добавить дополнительные нормализаторы (см. ниже).
Обогащение нормализованного события дополнительными данными
В только что созданные нормализованные события можно добавлять дополнительные данные, создавая в нормализаторе правила обогащения, аналогичные правилам в ресурсах правил обогащения. Эти правила хранятся в ресурсе нормализатора, в котором они были созданы. Правил обогащения может быть несколько.
Чтобы добавить правила обогащения в нормализатор:
- Выберите нормализатор и в окне Парсинг событий перейдите на закладку Обогащение.
- Нажмите на кнопку Добавить обогащение.
Появится блок параметров правила обогащения. Блок параметров можно закрыть с помощью кнопки .
- В раскрывающемся списке Тип источника выберите тип обогащения. В зависимости от выбранного типа отобразятся дополнительные параметры, которые также потребуется заполнить.
Доступные типы источников обогащения:
- константа
Этот тип обогащения используется, если в поле события необходимо добавить константу. Параметры этого типа обогащения:
- В поле Константа укажите значение, которое следует добавить в поле события. Значение должно состоять не более чем из 255 символов Юникода. Если оставить это поле пустым, существующее значение поля события будет удалено.
- В раскрывающемся списке Целевое поле выберите поле события KUMA, в которое следует поместить данные.
- словарь
Этот тип обогащения используется, если в поле события необходимо добавить значение из словаря.
При выборе этого типа в раскрывающемся списке Название словаря необходимо выбрать словарь, из которого будут браться значения, а в блоке параметров Ключевые поля с помощью кнопки Добавить поле требуется выбрать поля события, значения которых будут использоваться для выбора записи словаря.
- событие
Этот тип обогащения используется, если в поле события необходимо записать значение другого поля события. Параметры этого типа обогащения:
- В раскрывающемся списке Целевое поле выберите поле события KUMA, в которое следует поместить данные.
- В раскрывающемся списке Исходное поле выберите поле события, значение которого будет записано в целевое поле.
- Если нажать на кнопку , откроется окно Преобразование, в котором с помощью кнопки Добавить преобразование можно создать правила изменения исходных данных перед тем, как они будут записаны в поля событий KUMA.
Доступные преобразования
Преобразования – это изменения, которые можно применить к значению до того, как оно будет записано в поле события. Тип преобразования выбирается в раскрывающемся списке.
Доступные преобразования:
- lower – используется для перевода всех символов значения в нижний регистр
- upper – используется для перевода всех символов значения в верхний регистр
- regexp – используется для преобразования значения с помощью регулярного выражения RE2. Поле, в которое следует добавить регулярное выражение, появляется, когда выбран этот тип преобразования.
- substring – используется для извлечения символов в диапазоне позиций, указанном в полях Начало и Конец. Эти поля появляются, когда выбран данный тип преобразования.
- replace – используется для замены указанной последовательности символов на другую последовательность символов. Когда выбран этот тип преобразования, появляются новые поля:
- Символы на замену – в этом поле вы можете указать последовательность символов, которую следует заменить.
- Чем заменить – в этом поле вы можете указать последовательность символов, которая должна использоваться вместо заменяемой последовательности символов.
- trim – используется для удаления одновременно с начала и с конца значения поля события символов, указанных в поле Символы. Это поле появляется при выборе данного типа преобразования. Например, если для значения
Microsoft-Windows-Sysmon
выполнить преобразование trim со значением Micromon
, то получается значение soft-Windows-Sys
. - append – используется для добавления в конец значения поля события символов, указанных в поле Константа. Это поле появляется при выборе данного типа преобразования.
- prepend – используется для добавления к началу значения поля события символов, указанных в поле Константа. Это поле появляется при выборе данного типа преобразования.
- replace with regexp – используется для замены результатов регулярного выражения RE2 на последовательность символов.
- Выражение – в этом поле вы можете указать регулярное выражение, результаты которого следует заменить.
- Чем заменить – в этом поле вы можете указать последовательность символов, которая должна использоваться вместо заменяемой последовательности символов.
- шаблон
Этот тип обогащения используется, если в поле события необходимо записать значение, полученное при обработке шаблонов Go. Параметры этого типа обогащения:
- В поле Шаблон поместите шаблон Go.
Имена полей событий передаются в формате {{.EventField}}
, где EventField
– это название поля события, значение которого должно быть передано в скрипт.
Пример: Атака на {{.DestinationAddress}} со стороны {{.SourceAddress}}
.
- В раскрывающемся списке Целевое поле выберите поле события KUMA, в которое следует поместить данные.
- Нажмите ОК.
В нормализатор добавлены правила обогащения и окно Парсинг событий закрыто.
Создание структуры нормализаторов
Внутри нормализатора можно создать несколько дополнительных нормализаторов. Это позволяет настроить сложную логику обработки событий.
Последовательность создания нормализаторов имеет значение: события обрабатываются последовательно и их путь отображается в виде стрелочек.
Чтобы создать дополнительный нормализатор:
- Создайте начальный нормализатор (см. выше).
Созданный нормализатор отобразится в окне в виде темного кружка.
- Наведите указатель мыши на начальный нормализатор и нажмите на появившуюся кнопку со значком плюса.
- В открывшемся окне Добавление дополнительного нормализатора укажите условия, при которых данные будут попадать в дополнительный нормализатор:
- Если вы хотите отправлять в дополнительный нормализатор только события с определенными полями, перечислите их в поле Поля, которые следует передать в нормализатор.
- Если вы хотите отправлять в дополнительный нормализатор только события, в которых определенным полям присвоены определенные значения, задайте название поля события в поле Нормализовать, если поле события имеет определенное значение, а значение, которое должно ему соответствовать, – в поле Значение условия.
Обрабатываемые этими условиями данные можно предварительно преобразовать, если нажать на кнопку : откроется окно Преобразование, в котором с помощью кнопки Добавить преобразование можно создать правила изменения исходных данных перед тем, как они будут записаны в поля событий KUMA.
Доступные преобразования
Преобразования – это изменения, которые можно применить к значению до того, как оно будет записано в поле события. Тип преобразования выбирается в раскрывающемся списке.
Доступные преобразования:
- lower – используется для перевода всех символов значения в нижний регистр
- upper – используется для перевода всех символов значения в верхний регистр
- regexp – используется для преобразования значения с помощью регулярного выражения RE2. Поле, в которое следует добавить регулярное выражение, появляется, когда выбран этот тип преобразования.
- substring – используется для извлечения символов в диапазоне позиций, указанном в полях Начало и Конец. Эти поля появляются, когда выбран данный тип преобразования.
- replace – используется для замены указанной последовательности символов на другую последовательность символов. Когда выбран этот тип преобразования, появляются новые поля:
- Символы на замену – в этом поле вы можете указать последовательность символов, которую следует заменить.
- Чем заменить – в этом поле вы можете указать последовательность символов, которая должна использоваться вместо заменяемой последовательности символов.
- trim – используется для удаления одновременно с начала и с конца значения поля события символов, указанных в поле Символы. Это поле появляется при выборе данного типа преобразования. Например, если для значения
Microsoft-Windows-Sysmon
выполнить преобразование trim со значением Micromon
, то получается значение soft-Windows-Sys
. - append – используется для добавления в конец значения поля события символов, указанных в поле Константа. Это поле появляется при выборе данного типа преобразования.
- prepend – используется для добавления к началу значения поля события символов, указанных в поле Константа. Это поле появляется при выборе данного типа преобразования.
- replace with regexp – используется для замены результатов регулярного выражения RE2 на последовательность символов.
- Выражение – в этом поле вы можете указать регулярное выражение, результаты которого следует заменить.
- Чем заменить – в этом поле вы можете указать последовательность символов, которая должна использоваться вместо заменяемой последовательности символов.
- Нажмите ОК.
Откроется окно Парсинг событий, в котором можно настроить правила обработки событий, как в начальном нормализаторе (см. выше). Параметр Хранить исходное событие недоступен. В поле Примеры событий отображаются значения, указанные при создании начального нормализатора.
- Укажите параметры дополнительного нормализатора по аналогии с параметрами начального нормализатора
- Нажмите ОК.
Дополнительный нормализатор отображается в виде темного блока, на котором указаны условия, при котором этот нормализатор будет задействован. Условия можно изменить, наведя указатель мыши на дополнительный нормализатор и нажав кнопку с изображением карандаша. Если навести указатель мыши на дополнительный нормализатор, отобразится кнопка со значком плюса, с помощью которой можно создать новый дополнительный нормализатор. С помощью кнопки со значком корзины нормализатор можно удалить.
Перейдите к следующему шагу мастера установки.
В начало