Отправка уведомлений CMA через Webhooks

Обзор

Приложение для управления Cato (CMA) генерирует уведомления для широкого спектра событий безопасности и сети в вашем аккаунте. Вы можете использовать интеграции вебхуков для автоматической доставки этих уведомлений на сторонние платформы, такие как ServiceNow, Jira, Slack или Zendesk. Это позволяет внешним системам в реальном времени использовать данные о событиях Cato и запускать автоматизированные процессы для отслеживания и реагирования на инциденты.

Cato поддерживает два типа интеграций вебхуков:

  • Стандартные вебхуки используют HTTP-запросы для создания или обновления элементов на внешних платформах. 

  • Коррелированные вебхуки интегрируются с сервисом XOps. Они используют корреляционные идентификаторы для создания и обновления элементов, представляющих жизненный цикл историй безопасности и сети XOps в сторонних инструментах. Требуется лицензия XOps.

Интеграции вебхуков полностью настраиваемы. Вы определяете метод HTTP (POST или PUT), целевой URL, метод аутентификации и тело запроса. Шаблоны и переменные полей позволяют адаптировать структуру полезной нагрузки к требованиям сторонней платформы.

Понимание интеграций вебхуков Cato

Типы интеграций вебхуков

Cato поддерживает следующие типы вебхуков для интеграции вашего аккаунта с внешними платформами и создания потоков автоматизации:

  • Стандартные вебхуки поддерживают широкий спектр уведомлений CMA, таких как уведомления на основе предупреждений аккаунта или системы, а также уведомления, управляемые политиками. Они позволяют доставлять эти данные во внешние платформы и настраивать, создаёт ли вебхук новые записи или обновляет существующие.

  • Коррелированные вебхуки разработаны для сервиса XOps. Они расширяют функциональность вебхуков на истории безопасности и сети, чтобы каждая история в CMA сопоставлялась с записью во внешней системе и обновлялась по мере её продвижения. Требуется лицензия XOps.

Потоки вебхуков — Создание или Обновление

Потоки вебхуков определяют, как CMA взаимодействует со сторонней платформой, либо создавая новые записи, либо обновляя существующие:

  • POST (Создание) - Создаёт новый элемент на сторонней платформе каждый раз, когда вебхук запускается. Пример: открытие нового тикета в ServiceNow каждый раз, когда правило Интернет-брандмауэра блокирует поток трафика.

  • PUT (Обновление) – Обновляет существующий элемент на сторонней платформе. Запрос включает действительный идентификатор элемента в URL или теле.

Методы аутентификации

При создании интеграции вебхука доступны различные методы аутентификации на выбор:

  • Basic - Имя пользователя и пароль

  • Bearer - Токен Bearer

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

Примечание: Если доступ к стороннему сервису ограничен определенными IP-адресами, пожалуйста, обратитесь к этой статье для списка IP-адресов Cato, которые необходимо разрешить (требуется авторизация для просмотра этой статьи).

Настройка содержимого уведомлений

Поле content в шаблоне содержит сгенерированное читаемое резюме оповещения, аналогично содержанию оповещения электронной почты. Вы можете выбрать эти форматы для содержимого: contentText, contentMarkdown или contentHTML.

Если вы выбираете настраивать тело, доступно несколько полей данных, которые можно использовать в содержимом сообщения. Таким образом, вы можете определить пользовательское тело (или структуру) и затем встроить поля данных Cato. Когда вы вводите $, отображаются доступные поля данных, а затем вы выбираете необходимое поле. Поля используют автозаполнение для фильтрации списка. Для получения дополнительной информации о полях Cato см. Понимание полей JSON для интеграции оповещений.

Значение по умолчанию для полей Webhook

Вы можете определить пользовательские значения по умолчанию для динамических полей Webhook, чтобы добавить гибкость в случае, когда данные уведомлений не содержат значение. Это позволяет вам перезаписать значение по умолчанию NA в ссылке webhook, заголовке или теле. Используйте формат ${field:defaultValue} для определения значения по умолчанию. Например, вы можете установить ${level:medium}, если поле level не заполнено. В связном потоке вы также можете использовать fallback ID билета в URL webhook, такой как https://EXAMPLE-INSTANCE.service-now.com/api/now/table/incident/${correlationId:12345}, чтобы несвязанные уведомления сохранялись в стандартном тикете ServiceNow.

Стандартные интеграции вебхуков

Стандартные вебхуки позволяют отправлять уведомления CMA на сторонние платформы для широкого круга случаев использования. Сначала определите вебхук для интеграции с платформой. Затем выберите, какие уведомления CMA и правила политики, такие как действия брандмауэра, будут генерировать уведомления с использованием вебхука.

Определение интеграции вебхука

Создайте интеграцию вебхука, которая отправляет уведомления через элементы (тикет, сообщение в Slack и т. д.) в вашем стороннем инструменте. Вы можете настроить вебхук для создания новых элементов с запросом POST или обновления существующих элементов с запросом PUT. Интеграция включает настройки для URL, тела запроса, метода аутентификации и необязательные пользовательские заголовки и текст сообщения.

После определения деталей вы можете протестировать подключение и убедиться, что оно работает.

Для определения интеграции вебхука:

  1. В меню навигации нажмите Аккаунт > Подписки и выберите вкладку Вебхуки.

  2. Нажмите Новый вебхук. Открывается панель Новая Интеграция Webhook.

  3. Настройте детали вебхука:

    1. Введите Имя интеграции.

    2. Щелкните на ползунок, чтобы включить (зеленый) или отключить (серый) интеграцию (по умолчанию включено).

  4. Настройте параметры шаблона JSON для интеграции:

    • В Начать с шаблона выберите стандартный шаблон JSON, который заполняет настройки интеграции.

      Вы можете настроить и изменить поля для Пользовательского тела (см. ниже шаг 7).

    Примечание: Если вы выберете другой шаблон, поля в Пользовательском теле будут сброшены. Для получения дополнительной информации о шаблонах см. ниже Шаблоны и поля.

  5. Настройте Детали соединения:

    1. Введите URL для сервиса, который получает Webhook.

      Вы можете использовать поля в качестве переменных в URL. Введите $, чтобы увидеть доступные поля.

    2. В Методе запроса выберите поток для этого вебхука: POST или PUT.

    3. Если необходимо, настройте Метод аутентификации и параметры для сервиса.

  6. (Опционально) В Пользовательские Заголовки определите Ключ и Значение для каждого дополнительного HTTP заголовка для интеграции.

  7. В Пользовательском теле определите содержимое уведомления вебхука:

    1. (Опционально) Настройте содержимое в Редактировать тело.

      • Введите / как символ экранирования для использования $ в теле

      • Введите $ для встраивания других полей

      Корреляционный идентификатор ответа не используется для стандартных интеграций вебхуков.

    2. Чтобы определить значение по умолчанию, используйте формат ${field:defaultValue}, например ${ID:12345}

  8. Щелкните Тест. CMA отправляет тестовый HTTP-запрос с автоматически сгенерированным содержимым для полей.

    Если интеграция может подключиться к сервису, отображается сообщение Тест успешно пройден.

    Если возникает ошибка соединения, страница отображает код ошибки HTTP и сообщение, предоставленное сервисом.

  9. Нажмите Сохранить. Интеграция вебхука сохраняется и добавляется на вкладку Интеграции на странице Подписки.

Определите триггер для стандартных интеграций Webhook

Стандартные вебхуки активируются уведомлениями от CMA. Вы можете настроить два типа уведомлений:

  1. Уведомления CMA: CMA может активно отправлять уведомления о вашем аккаунте, такие как заблокированные пользователи и администраторы, или обновления лицензии. Эти уведомления могут быть отправлены напрямую через интеграцию вебхуков.

    Для получения дополнительной информации см. Уведомления уровня аккаунта и системные уведомления.

  2. Уведомления правил политики: Вы можете настроить параметр Отслеживание в правиле политики для отправки уведомления на вебхук при совпадении правила.

При определении правил в политиках вы можете использовать область Действия для отправки уведомлений через интеграции вебхуков.

rule_webhook.png

Коррелированные интеграции вебхуков

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

Эти интеграции используют корреляционные поля из историй XOps для сопоставления каждой истории в CMA с тикетом, проблемой или сообщением во внешней платформе. Это обеспечивает, что обновления последовательно применяются к правильному элементу. Требуется лицензия XOps.

Эти интеграции требуют:

  • Стандартная интеграция Webhook

  • Коррелированная интеграция Webhook

  • Два типа триггеров (по одному для каждой интеграции)

Определите стандартный Webhook

Создайте стандартную интеграцию webhook для создания начальных объектов (тикет, сообщение Slack и т.д.) в вашем стороннем инструменте. Затем эти объекты будут обновлены коррелируемой интеграцией webhook.

После определения деталей вы можете протестировать подключение и убедиться, что оно работает.

Чтобы определить стандартную интеграцию Webhook:

  1. В меню навигации нажмите Аккаунт > Подписки и выберите вкладку Webhooks.

  2. Нажмите Новый Webhook. Откроется панель Новая интеграция Webhook.

  3. Настройте Детали Webhook:

    1. Введите Имя интеграции.

    2. Нажмите слайдер, чтобы включить (зеленый) или отключить (серый) интеграцию (по умолчанию включено).

  4. Настройте настройки JSON шаблона для интеграции:

    • В Начать с шаблона выберите шаблон JSON по умолчанию, который заполняет настройки интеграции.

      Вы можете настроить и изменить поля для Пользовательское Тело (см. шаг 7 ниже).

    Примечание: Если вы выберете другой шаблон, поля в Пользовательское Тело будут сброшены. Для получения дополнительной информации, см. Шаблоны и Поля.

  5. Настройте Детали соединения:

    1. Введите URL сервиса, который получает Webhook.

      Вы можете использовать поля в качестве переменных в URL. Введите $, чтобы увидеть доступные поля.

    2. В Метод запроса выберите POST.

    3. При необходимости настройте Метод аутентификации и параметры для сервиса.

  6. (Необязательно) В Пользовательские Заголовки определите Ключ и Значение для каждого дополнительного HTTP заголовка для интеграции.

  7. В Пользовательское Тело определите содержимое уведомления Webhook:

    1. В ID корреляции ответа определите элемент в вашем стороннем инструменте, который вы будете использовать для корреляции в URL. Например, в ServiceNow это может быть result.sys_id, а в Zendesk - ticket.id.

    2. (Необязательно) Настройте содержимое в Редактировать Тело.

      • Введите / как экранирующий символ, чтобы использовать $ в теле

      • Введите $, чтобы встроить другие поля

    3. Чтобы определить значение по умолчанию, используйте формат ${field:defaultValue}, например ${ID:12345}

  8. Нажмите Тест. CMA отправляет тестовый HTTP запрос с автоматически сгенерированным содержимым для полей.

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

    Если возникает ошибка подключения, на странице отображается HTTP код ошибки и сообщение, полученное от сервиса.

  9. Нажмите Сохранить. Интеграция Webhook сохранена и добавлена на вкладку Интеграции на странице Подписки.

Определение коррелированного вебхука

Создайте коррелируемую интеграцию webhook, которая отправляет уведомления через элементы (тикет, сообщение Slack и т.д.) в вашем стороннем инструменте, обновляя существующие элементы, созданные в предыдущей процедуре.

Когда вы настраиваете связанный webhook, URL использует ID корреляции для обновления правильного элемента на платформе стороннего производителя. Если значение ID корреляции пустое, обновление не может быть сопоставлено с существующим элементом и теряется. Чтобы предотвратить это, добавьте элемент ID в Пользовательское Тело стандартного webhook, который создает оригинальный тикет, проблему или сообщение. Это позволяет связанному webhook использовать этот ID как fallback значение для поля корреляции, чтобы последующие обновления продолжали применяться к оригинальному элементу в течение всего жизненного цикла истории.

После определения деталей вы можете протестировать подключение и убедиться, что оно работает.

Чтобы определить коррелируемую интеграцию Webhook:

  1. В меню навигации нажмите Аккаунт > Подписки и выберите вкладку Webhooks.

  2. Нажмите Новый Webhook. Откроется панель Новая интеграция Webhook.

  3. Настройте Детали Webhook:

    1. Введите Имя интеграции.

    2. Нажмите слайдер, чтобы включить (зеленый) или отключить (серый) интеграцию (по умолчанию включено).

  4. Настройте настройки JSON шаблона для интеграции:

    • В Начать с шаблона выберите шаблон JSON по умолчанию, который заполняет настройки интеграции.

      Вы можете настроить и изменить поля для Пользовательское Тело (см. шаг 7 ниже).

    Примечание: Если вы выберете другой шаблон, поля в Пользовательское Тело будут сброшены. Для получения дополнительной информации см. Оповещения на уровне аккаунта и системные уведомления.

  5. Настройте Детали соединения:

    1. Введите URL сервиса, который получает Webhook. Скоррелируйте это с существующим элементом, добавив поле ID коррелируемого элемента.

      Вы можете использовать поля в качестве переменных в URL. Введите $, чтобы увидеть доступные поля.

    2. В Метод запроса выберите PUT.

    3. При необходимости настройте Метод аутентификации и параметры для сервиса.

  6. (Необязательно) В Пользовательские Заголовки определите Ключ и Значение для каждого дополнительного HTTP заголовка для интеграции.

  7. В Пользовательское Тело определите содержимое уведомления Webhook:

    1. (Необязательно) Настройте содержимое в Редактировать Тело.

      • Введите / как экранирующий символ, чтобы использовать $ в теле

      • Введите $, чтобы встроить другие поля

    2. Чтобы определить значение по умолчанию, используйте формат ${field:defaultValue}, например ${ID:12345}

  8. Нажмите Тест. CMA отправляет тестовый HTTP запрос с автоматически сгенерированным содержимым для полей.

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

    Если возникает ошибка подключения, на странице отображается HTTP код ошибки и сообщение, полученное от сервиса.

  9. Нажмите Сохранить. Интеграция Webhook сохранена и добавлена на вкладку Интеграции на странице Подписки.

Определите Триггер для Стандартной Интеграции Webhook

Стандартные webhooks активируются уведомлениями от CMA. Вы можете настроить два типа уведомлений:

  1. Уведомления CMA: CMA может проактивно отправлять уведомления о вашем аккаунте, например, о заблокированных пользователях и администраторах или обновлениях лицензий. Эти уведомления могут быть отправлены напрямую через интеграцию webhook.

    Для получения дополнительной информации см. Оповещения на уровне аккаунта и системные уведомления.

  2. Уведомления по правилам политики: Вы можете настроить параметр Отслеживать в правиле политики, чтобы отправлять уведомление на webhook всякий раз, когда правило срабатывает.

При определении правил в политиках вы можете использовать область Действия для отправки уведомлений через интеграции webhook.

rule_webhook.png

Определить Триггер для Связанной Интеграции, используя Определение Уведомлений по Обнаружению & Реакции

С политиками обнаружения и реагирования вы можете автоматизировать создание и обновление элементов на сторонних платформах для коррелированных историй XOps. Таким образом, ваша внешняя система всегда отражает текущий статус истории.

Вы можете настроить правила в политике для:

  • Создана история: Запуск коррелированного вебхука, который создаёт новый элемент

  • Обновлена история: Запуск коррелированного вебхука, который обновляет тот же элемент по мере её продвижения

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

Для определения триггера для уведомления вебхука:

  1. В меню навигации нажмите Домой > Политика обнаружения и реагирования.

  2. Выберите вкладку Политика реагирования.

  3. Нажмите Новый. Откроется панель Добавление в политику реагирования.

  4. Введите Имя для правила.

  5. В разделе Источник выберите тип (например: Хост, Диапазон IP, Сайт) и выберите один или несколько объектов для источника истории этого правила (или вы можете ввести IP-адрес).

    Значение по умолчанию Источник — это Любой.

  6. (Опционально) Определите Критерии, которые указывают характеристики, которыми должна обладать история для соответствия правилу.

  7. Выберите Триггер для правила. 

    • Создана история для создания новых элементов

    • Обновлена история для обновления существующих элементов

  8. На вкладке Ответ выберите Отправить уведомление.

  9. В разделе Отправить уведомления выберите Интеграция.

  10. В разделе Интеграция выберите интеграцию вебхуков, которая отправляет уведомления.

  11. Нажмите Сохранить. Правило добавлено в политику.

Шаблоны и поля

Каждый вебхук может быть полностью настроен для соответствия формату и поведению вашей сторонней системы. Вебхук предоставляется в формате JSON и может быть адаптирован для соответствия структуре целевой платформы. Используйте переменные полей Cato как для статичной, так и для динамической нагрузки.

После выбора шаблона вы можете отредактировать тело как JSON-данные и сохранить его как Пользовательский шаблон. У вас также есть возможность встроить данные поля в JSON, который поместит соответствующее значение в полезную нагрузку (или NA, если недоступно).

Когда вы вводите $, отображаются доступные поля. Для получения дополнительной информации о полях Cato, см. Понимание полей JSON для интеграции оповещений.

Вы можете выбрать из этих шаблонов при создании webhook:

  • Все поля - включает все доступные поля

  • Основной - шаблон с самыми часто используемыми полями

  • Jira - базовый шаблон для Jira

  • ServiceNow Создать тикет - создает новый тикет в ServiceNow

  • ServiceNow Обновить тикет - обновляет существующий тикет в ServiceNow

  • Slack - отправляет сообщение в канал Slack

  • Zendesk Создать тикет - создает новый тикет в Zendesk

  • Zendesk Обновить тикет - обновляет существующий тикет Zendesk

  • Пользовательский - настройка параметров для шаблона

Вы также можете использовать поля при определении URL-адреса интеграции webhook.

Была ли эта статья полезной?

Пользователи, считающие этот материал полезным: 0 из 1

0 комментариев