Skip to main content

Новая страница

# Простое правило (simple)

**Простое правило (simple)** — срабатывает при обнаружении каждого события, удовлетворяющего условиям в одном селекторе.

Типовой пример правила:

![](https://hackmd.io/_uploads/HJE_NpJon.png)

Наследуемые поля передаются события из исходного в корреляционное. 

:::danger
:bulb: Необходимо указывать все поля и переменные участвующие в селекторах в наследуемых полях.
:::

<br>

# Стандартное правило (standard)

**Стандартное правило (standard)** — срабатывает при достижении определенного порогового значения группы событий, которые удовлетворяют условиям селектора, полей группировки событий (на основе значений поля создается группа) и времени жизни контейнера для группы.

Типовой пример правила:

![](https://hackmd.io/_uploads/ByuMST1sn.png)

Возможные действия правила:
- On first threshold — создавать корреляционное событие только после первого превышения порога, а двукратное, трехкратное и т.д. превышение порога за время жизни группы игнорировать.
- On every threshold — создавать корреляционное событие после каждого превышения порога за время жизни группы. 
- On subsequent threshold — создавать корреляционные событие при всех превышениях порога, кроме первого. 
- On timeout — в стандартных правилах есть еще возможность настройки действий по окончании времени жизни группы. Это действие используется в связке с опцией Recovery (Обнуление) в настройках селектора, в каких случаях это уместно и как именно это работает рассматривается ниже.

<br>

:::danger
:bulb: Необходимо указывать все поля и переменные участвующие в селекторах в группирующих/уникальных полях.
:::

<br>

Можно также использовать **несколько селекторов**. Например, несколько неудачных попыток брутфорса (ловится на основе сработки другого правила корреляции) и успешный вход.

Пример правила с несколькими селекторами:

![](https://hackmd.io/_uploads/S1GsBpys3.png)

Можно также **рекавери правило**. Например, когда событие типа «Вредоносное ПО удалено» не обнаружено в течение 5 минут после получения события «Вредоносное ПО обнаружено».

![](https://hackmd.io/_uploads/SkK6STyih.png)

### Бакет (Окно корреляции)
1. Бакет открывается на событие из любого селектора, не важно в каком они порядке в правиле, порядок проверяется после наполнения бакета!
2. Для каждого набора Identical Fields создается свой бакет.
3. Когда событие подпадает под селектор, коррелятор смотрит, есть ли уже бакет с нужным набором полей Identical Fields, если нет - создает, если есть - событие отправляется в существующий.
4. Когда под селектор с Unique fields подпадает событие, то проверяется, есть ли уже в бакете события с таким же набором значений для Unique Fields, если есть, то событие не учитывается.

### Recovery селектор (Обнуление)
1. Бакет открывается только на событие из обычного селектора, на событие из recovery-селектора бакет не открывается никогда!
2. Место нахождения селектора с recovery не имеет значения, как только в бакет попадут все нужные recovery-события бакет будет закрыт!
3. На recovery-селектор не влияет настройка фильтра Order By.
4. Если нужно, чтобы произошло событие А, и не произошло событие Б, при этом событие Б может произойти раньше А, нужно использовать активные листы, т.к. с помощью recovery-селектора такой логики не достичь (см п.1).

<br>

# Операционное правило (operational)

**Операционное правило (operational)** — наполняют активные листы без создания корреляционного события, механика работы аналогична простому правилу корреляции.
Чтобы просмотреть содержимое списка нужно открыть список активных сервисов (Active services), выбрать службу типа Correlator (поставить галочку слева) и у нее появится активная кнопка Go to active lists (Перейти в активные листы).

![](https://hackmd.io/_uploads/rklfIpyj2.png)

При записи в активный лист, в качестве ключевого поля могут быть несколько занчений полей события, для составления комбинированного ключа, при этом в значении ключа это быдет выглядеть так: _поле1|поле2|поле3_

<br>