Почтовые интеграции

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

Интеграция с SMTP

Чтобы настроить интеграцию с почтовым сервером SMTP:

  1. Если для подключения к почтовому серверу нужна авторизация, перейдите в раздел Ресурсы → Секреты и создайте секрет типа Учетные данные, поместив в него логин и пароль для авторизации в почтовом сервисе.

  2. Перейдите в раздел Ресурсы → Интеграции. Система отобразит сведения об имеющихся интеграциях.

  3. Нажмите на кнопку Создать (plus) и выберите SMTP из выпадающего меню. Система отобразит окно создания интеграции.

  4. Заполните поля:

    1. Название.

    2. Описание (опционально).

    3. Отправитель.

    4. Адрес сервера.

    5. Порт.

    6. Получатели: введите электронные адреса получателей через запятую.

  5. Если для подключения к почтовому серверу нужна авторизация:

    1. Установите переключатель Требуется авторизация в активное положение. Отобразится поле выбора секрета.

    2. Выберите секрет типа Учетные данные, созданный на шаге 1.

      Чтобы просмотреть выбранный секрет на странице раздела Секреты, нажмите на кнопку Открыть.

  6. Выберите шаблон сообщения, которое будет отправляться на почтовый сервер.

  7. Нажмите на кнопку Проверить подключение. Система проверит доступность подключения к серверу и отобразит его статус: Успешное соединение или Ошибка подключения.

    На данном этапе вы можете отправить тестовое оповещение на почтовый сервер с помощью кнопки Отправить тестовое оповещение. Отправка тестового оповещения доступна только после выбора шаблона и успешной проверки подключения.
  8. Нажмите на кнопку Создать. Система создаст интеграцию и отобразит соответствующее уведомление. Новая интеграция появится в списке раздела Ресурсы → Интеграции.

При отправке оповещений по электронной почте предусмотрены 3 попытки с интервалом в 100 мс, прежде чем отправка завершится с ошибкой.

Работа с шаблонами сообщения

Для отправки сообщений по SMTP-интеграции необходимо использовать шаблоны. Шаблоны позволяют задавать тему и текст отправляемых сообщений.

По умолчанию в списке шаблонов отображаются стандартные шаблоны. Стандартные шаблоны недоступны для изменения или удаления.

Стандартный шаблон для оповещений SMTP-интеграции

Тема сообщения:

Сработало правило корреляции {{alert.correlationRuleName}}

Текст сообщения:

<p><b>Оповещение по правилу корреляции</b></p>
<p>Ссылка на оповещение: {{alert.link}}</p>
<p>System Alert ID: {{alert.id}}</p>
<p>Название правила: {{alert.name}}</p>
<p>Дата первого события: {{alert.firstEventTs}}</p>
<p>Дата последнего события: {{alert.lastEventTs}}</p>
<p>Уровень угрозы: {{#switch alert.severity }}
        {{#case 'SEVERITY_LOW'}} Низкий {{/case}}
        {{#case 'SEVERITY_MEDIUM'}} Средний {{/case}}
        {{#case 'SEVERITY_HIGH'}} Высокий {{/case}}
        {{#case 'SEVERITY_CRITICAL'}} Критический {{/case}}
        {{#default 'Средний' }} {{/default}}
    {{/switch}}</p>
<p>Статус: {{#switch alert.status }}
        {{#case 'STATUS_OPEN'}} Новое {{/case}}
        {{#case 'STATUS_IN_PROGRESS'}} В работе {{/case}}
        {{#case 'STATUS_RESOLVED'}} Закрыто {{/case}}
        {{#case 'STATUS_FALSE_POSITIVE'}} Ложное срабатывание {{/case}}
        {{#default 'Новое' }} {{/default}}
    {{/switch}}</p>
<p>Количество корреляционных событий: {{alert.correlationEventsCount}}</p>
{{#if correlationEvent}}
<p><b>Информация по корреляционному событию</b></p>
{{#each correlationEvent}}
<p>{{@key}}: {{this}}</p>
{{/each }}
{{/if}}
Стандартный шаблон для политики аудита по точкам входа

Тема сообщения:

Сработала политика аудита источников {{monitoringPolicy.name}}

Текст сообщения:

<p>Перестали поступать события с точки входа <b> {{element.name}} (ID {{element.id}}) </b></p>
<p>Коллектор ID: {{collector.id}}</p>
<p>Название коллектора: {{collector.name}}</p>
<p>Конвейер ID: {{eventSource.id}}</p>
<p>Название конвейера: {{eventSource.name}}</p>
<p><a href="{{eventSource.link}}"> Ссылка на конвейер </a></p>
<p>Параметры политики: порог {{monitoringPolicy.threshold}} и интервал {{monitoringPolicy.interval.value}}{{#switch monitoringPolicy.interval.unit }}{{#case 'UNIT_SECOND'}} Секунда {{/case}}{{#case 'UNIT_MINUTE'}} Минута {{/case}}{{#case 'UNIT_HOUR'}} Час {{/case}}{{#case 'UNIT_DAY'}} День {{/case}}{{#case 'UNIT_WEEK'}} Неделя {{/case}}{{#case 'UNIT_MONTH'}} Месяц {{/case}}{{#case 'UNIT_QUARTER'}} Квартал {{/case}}{{#case 'UNIT_YEAR'}} Год {{/case}}{{/switch}} </p>
Стандартный шаблон для политики аудита источников по маске

Тема сообщения:

Сработала политика аудита источников по маске {{monitoringPolicy.name}}

Текст сообщения:

<p>Перестали поступать события с источника <b> {{source.name}} </b></p>

<p>Параметры политики: порог {{monitoringPolicy.threshold}} и интервал {{monitoringPolicy.interval.value}}{{#switch monitoringPolicy.interval.unit }}{{#case 'UNIT_SECOND'}} Секунда {{/case}}{{#case 'UNIT_MINUTE'}} Минута {{/case}}{{#case 'UNIT_HOUR'}} Час {{/case}}{{#case 'UNIT_DAY'}} День {{/case}}{{#case 'UNIT_WEEK'}} Неделя {{/case}}{{#case 'UNIT_MONTH'}} Месяц {{/case}}{{#case 'UNIT_QUARTER'}} Квартал {{/case}}{{#case 'UNIT_YEAR'}} Год {{/case}}{{/switch}} </p>

Вы можете добавлять, изменять и удалять шаблоны сообщений, а также создавать новые шаблоны на основе существующих.

Добавление шаблона сообщения

Чтобы добавить новый шаблон сообщения:

  1. Нажмите на кнопку Добавить шаблон в окне настройки интеграции с SMTP. Отобразится окно добавления шаблона сообщения.

  2. Укажите название шаблона, а также тему и текст сообщения.

    В теме и тексте сообщения можно передавать поля оповещений и корреляционных событий с помощью специальных шаблонов полей.

  3. Нажмите на кнопку Добавить. Система создаст шаблон сообщения и отобразит соответствующее уведомление. Новый шаблон появится в списке.

Изменение шаблона сообщения

Чтобы изменить шаблон сообщения:

  1. Откройте выпадающий список Шаблон в окне настройки интеграции с SMTP.

  2. Нажмите на кнопку edit в строке нужного шаблона. Отобразится окно изменения шаблона сообщения.

  3. Внесите требуемые изменения в шаблон сообщения.

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

Создание шаблона сообщения на основе существующего шаблона

Чтобы добавить новый шаблон сообщения на основе существующего:

  1. Откройте выпадающий список Шаблон в окне настройки интеграции с SMTP.

  2. Нажмите на кнопку plus в строке нужного шаблона. Отобразится окно добавления шаблона сообщения, поля которого будут автоматически заполнены данными из выбранного шаблона.

  3. Измените название шаблона сообщения.

  4. При необходимости измените тему и текст сообщения.

  5. Нажмите на кнопку Добавить. Система создаст шаблон сообщения и отобразит соответствующее уведомление. Новый шаблон появится в выпадающем списке шаблонов.

Удаление шаблона сообщения

Чтобы удалить шаблон сообщения:

  1. Откройте выпадающий список Шаблон в окне настройки интеграции с SMTP.

  2. Нажмите на кнопку trash в строке нужного шаблона. Отобразится окно подтверждения удаления шаблона.

  3. Нажмите на кнопку Удалить. Система удалит шаблон сообщения и отобразит соответствующее уведомление. Удаленный шаблон будет исключен из выпадающего списка шаблонов.

Работа с шаблонами полей

В тексте и теме сообщения SMTP-интеграции можно передавать поля оповещений или корреляционных событий, сгенерировавших оповещения. Для этого поля необходимо указать в двойных фигурных скобках: {{...}}.

Данные для корреляционных событий берутся только из первого корреляционного события, сгенерировавшего оповещение. Все последующие события, поступающие на то же оповещение, не учитываются.
Пример шаблона с полем оповещения
{{alert.link}}

В примере выше шаблон получает данные из поля link оповещения. Например, если поле link содержит значение "https://1.0.0.0/alert/id", то такое значение и будет передаваться в сообщении с этим шаблоном.

Доступные шаблоны системных полей оповещений представлены в таблице ниже.

Доступные шаблоны системных полей оповещений
Поле оповещения Тип данных Шаблон

ID

Строка

{{alert.id}}

Название

Строка

{{alert.name}}

ID тенанта

Строка

{{alert.tenantId}}

Название правила сегментации

Строка

{{alert.segmentation.ruleName}}

ID правила сегментации

Строка

{{alert.segmentation.ruleId}}

Версия правила сегментации

Строка

{{alert.segmentation.ruleVersion}}

Поля группировки

Строка

{{alert.segmentation.groupBy}}

Название правила корреляции

Строка

{{alert.correlationRuleName}}

ID правила корреляции

Строка

{{alert.correlationRuleId}}

Описание правила корреляции

Строка

{{alert.correlationRuleDescription}}

Уровень угрозы

Строка

{{alert.severity}}

Теги

Строка

{{alert.tags}}

Статус

Строка

{{alert.status}}

Количество событий

Целое число

{{alert.correlationEventsCount}}

Дата создания

Строка

{{alert.createdAt}}

Дата изменения

Строка

{{alert.updatedAt}}

Время первого корреляционного события

Строка

{{alert.firstEventTs}}

Время последнего корреляционного события

Строка

{{alert.lastEventTs}}

Идентификаторы корреляционных событий

Массив строк

{{alert.correlationEventsIds}}

Корреляционные события

Массив объектов

{{alert.correlationEvents}}

Идентификатор элемента конвейера, который сгенерировал оповещение. Префикс — идентификатор конвейера

Строка

{{alert.eventSourceTransformId}}

Идентификатор хранилища событий

Строка

{{alert.eventStorageId}}

Пример шаблона с полем корреляционного события
{{correlationEvent.name}}

В примере выше шаблон получает данные из названия корреляционного события. Например, если в качестве названия используется "UsualCorrelationEvent", то такое значение и будет передаваться в сообщении с этим шаблоном.

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

Построение сложных шаблонов полей

При отправке сообщений по SMTP-интеграции может возникнуть необходимость гибкой настройки шаблона, обрабатывающего различные значения одного и того же поля. Для этого, помимо простых шаблонов полей, в системе можно использовать шаблоны с конструкцией ветвления switch.

Общая структура switch-конструкции
{{#switch <поле> }}
    {{#case '<значение 1>'}} <результат 1> {{/case}}
    {{#case '<значение 2>'}} <результат 2> {{/case}}
    ...
    {{#default '<значение по умолчанию>' }} <результат по умолчанию> {{/default}}
{{/switch}}

Конструкция работает следующим образом:

  1. Проверяется поле <поле> оповещения или корреляционного события.

  2. Содержимое поля сравнивается с заданным списком значений: <значение 1>, <значение 2>, …​, <значение по умолчанию>.

  3. В зависимости от значения поля, в сообщении передается одно из следующих значений: <результат 1>, <результат 2>, …​, <результат по умолчанию>.

Рассмотрим пример switch-конструкции, работающей на основе оповещения.

Пример switch-конструкции
{{#switch alert.status }}
    {{#case 'STATUS_OPEN'}} Создан {{/case}}
    {{#case 'STATUS_IN_PROGRESS'}} Создан {{/case}}
    {{#case 'STATUS_RESOLVED'}} Закрыт {{/case}}
    {{#case 'STATUS_FALSE_POSITIVE'}} Закрыт {{/case}}
    {{#default 'Создан' }} {{/default}}
{{/switch}}

Пример выше проверяет поле status оповещения, а затем передает в сообщении значение, отвечающее содержимому поля status. Например, если поступившее оповещение имеет статус STATUS_OPEN, то в сообщении будет передано значение "Создан".

Была ли полезна эта страница?

Обратная связь