Поделиться через


Мониторинг работоспособности и аудит целостности правил аналитики

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

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

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

Сведения о аналитике правил и повторном выполнении правил вручную см. в статье "Мониторинг и оптимизация выполнения запланированных правил аналитики".

Итоги

  • Журналы работоспособности правил аналитики Microsoft Sentinel:

    • Этот журнал записывает события, записывающие выполнение правил аналитики, и конечный результат этих запусков, если они успешно или завершились сбоем, и если они завершились ошибкой, почему.
    • Журнал также записывает записи для каждого запуска правила аналитики:
      • Сколько событий записано в запросе правила.
      • Указывает, передается ли количество событий, определенных в правиле, что приводит к возникновению предупреждения.

    Эти журналы собираются в таблице SentinelHealth в Log Analytics.

  • Журналы аудита правил аналитики Microsoft Sentinel:

    • Этот журнал записывает события, которые записывают изменения, внесенные в любое правило аналитики, включая следующие сведения:
      • Имя измененного правила.
      • Какие свойства правила были изменены.
      • Состояние параметров правила до и после изменения.
      • Пользователь или удостоверение, вносящее изменения.
      • Исходный IP-адрес и дата и время изменения.
      • и многое другое.

    Эти журналы собираются в таблице SentinelAudit в Log Analytics.

Использование таблиц данных SentinelHealth и SentinelAudit

Чтобы получить данные аудита и работоспособности из таблиц, описанных ранее, необходимо сначала включить функцию проверок работоспособности Microsoft Sentinel для рабочей области. Дополнительные сведения см. в разделе "Включение аудита и мониторинга работоспособности" для Microsoft Sentinel.

После включения функции работоспособности таблица данных SentinelHealth создается при первом успешном или неудачном событии, созданном для правил автоматизации и сборников схем.

Общие сведения о событиях таблицы SentinelHealth и SentinelAudit

Таблица SentinelHealth регистрирует следующие типы событий, относящиеся к работоспособности правил аналитики:

  • Запланированное выполнение правила аналитики.
  • Запуск правила аналитики NRT.

Дополнительные сведения см. в разделе Схема столбцов таблицы SentinelHealth.

Таблица SentinelAudit регистрирует следующие типы событий аудита правил аналитики:

  • Создание или обновление правила аналитики.
  • Удалено правило аналитики.

Дополнительные сведения см. в схеме столбцов таблицы SentinelAudit.

Выполнение запросов для обнаружения проблем работоспособности и целостности

Для получения наилучших результатов создайте запросы на предварительно созданные функции для этих таблиц, _SentinelHealth() и _SentinelAudit(), а не напрямую запрашивать таблицы. Эти функции поддерживают обратную совместимость запросов, если изменения внесены в схему таблиц.

На первом шаге отфильтруйте таблицы для данных, связанных с правилами аналитики. Используйте параметр SentinelResourceType.

_SentinelHealth()
| where SentinelResourceType == "Analytics Rule"

Если вы хотите, можно дополнительно отфильтровать список для определенного типа правила аналитики. SentinelResourceKind Используйте для этого параметр.

| where SentinelResourceKind == "Scheduled"

# OR

| where SentinelResourceKind == "NRT"

Ниже приведены некоторые примеры запросов, которые помогут вам приступить к работе:

  • Найдите правила, которые «автоматически отключены»:

    _SentinelHealth()
    | where SentinelResourceType == "Analytics Rule"
    | where Reason == "The analytics rule is disabled and was not executed."
    
  • Подсчитывайте правила и запуски, которые успешно или завершилися ошибкой, по причине:

    _SentinelHealth()
    | where SentinelResourceType == "Analytics Rule"
    | summarize Occurrence=count(), Unique_rule=dcount(SentinelResourceId) by Status, Reason
    
  • Поиск действия по удалению правил:

    _SentinelAudit()
    | where SentinelResourceType =="Analytic Rule"
    | where Description =="Analytics rule deleted"
    
  • Поиск действий в правилах по имени правила и имени действия:

    _SentinelAudit()
    | where SentinelResourceType =="Analytic Rule"
    | summarize Count= count() by RuleName=SentinelResourceName, Activity=Description
    
  • Найдите действие в правилах, по имени вызывающего объекта (удостоверение, выполняющее действие):

    _SentinelAudit()
    | where SentinelResourceType =="Analytic Rule"
    | extend Caller= tostring(ExtendedProperties.CallerName)
    | summarize Count = count() by Caller, Activity=Description
    

Дополнительные сведения о следующих элементах, используемых в предыдущих примерах, см. в документации Kusto:

Дополнительные сведения о KQL см. в обзоре язык запросов Kusto (KQL).

Другие ресурсы:

Запланированные правила

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

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

_SentinelHealth()
| where SentinelResourceType == @"Analytics Rule" 
| where SentinelResourceKind == "Scheduled"
| extend startTime = todatetime(ExtendedProperties["QueryStartTimeUTC"]), executionStart = todatetime(ExtendedProperties["executionStart"])
| extend delay = datetime_diff('minute', startTime, executionStart)

Чтобы найти полные сбои (т. е. окно, пропущенное), используйте следующий запрос:

_SentinelHealth()| where SentinelResourceType == @"Analytics Rule" 
| where SentinelResourceKind == "Scheduled"
| where Status != "Success"
| extend startTime = tostring(ExtendedProperties["QueryStartTimeUTC"])
| summarize failuresByStartTime = count() by startTime, SentinelResourceId
| where failuresByStartTime == 6
| summarize count() by SentinelResourceId

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

Правила NRT

Механизм повторных попыток для правил NRT работает по-разному от запланированных правил. Если правило не удается запустить, система также рассматривает сбой окна в следующем запуске (через одну минуту). Продолжительность этого поведения составляет до 60 сбоев (в течение одного часа).

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

_SentinelHealth()
| where SentinelResourceKind == "NRT"
| extend startTime = todatetime(ExtendedProperties["QueryStartTimeUTC"]), endTime = todatetime(ExtendedProperties["QueryEndTimeUTC"]), alertsCreated = toint(ExtendedProperties["AlertsGeneratedAmount"])
| where alertsCreated == 0 
| extend ruleDelay = datetime_diff('minute', endTime, startTime)
| project TimeGenerated, ruleDelay, SentinelResourceId
| render timechart

Можно также определить правило аналитики для активации оповещений о значительных задержках (например, если правило NRT имеет задержку более 10 минут).

Состояния, ошибки и предлагаемые действия

Для выполнения правила запланированной аналитики или выполнения правила NRT analytics может появиться любое из следующих состояний и описаний:

  • Успех: правило выполнено успешно, создавая <n> оповещения.

  • Успех: правило выполнено успешно, но не достигло порогового значения (<n>), необходимого для создания оповещения.

  • Сбой: эти описания объясняют сбой правила и то, что можно сделать с ними.

    Description Серверы
    При выполнении запроса произошла внутренняя ошибка сервера.
    Время ожидания выполнения запроса.
    Таблица, на которую ссылается запрос, не найдена. Убедитесь, что подключен соответствующий источник данных.
    При выполнении запроса произошла семантическая ошибка. Попробуйте сбросить правило аналитики, изменив и сохранив его (без изменения параметров).
    Функция, вызываемая запросом, называется зарезервированным словом. Удалите или переименуйте функцию.
    При выполнении запроса произошла ошибка синтаксиса. Попробуйте сбросить правило аналитики, изменив и сохранив его (без изменения параметров).
    Рабочая область не существует.
    Этот запрос использует слишком много системных ресурсов и не был запущен. Просмотрите и настройте правило аналитики. Ознакомьтесь с нашей язык запросов Kusto обзором и документацией по рекомендациям.
    Функция, вызываемая запросом, не найдена. Проверьте существование в рабочей области всех функций, вызываемых запросом.
    Рабочая область, используемая в запросе, не найдена. Убедитесь, что все рабочие области в запросе существуют.
    У вас нет разрешений на выполнение этого запроса. Попробуйте сбросить правило аналитики, изменив и сохранив его (без изменения параметров).
    У вас нет разрешений на доступ к одному или нескольким ресурсам в запросе.
    Запрос ссылается на путь к хранилищу, который не найден.
    Запрос был отказано в доступе к пути к хранилищу.
    В этой рабочей области определены несколько функций с одинаковым именем. Удалите или переименуйте избыточные функции и сбросите правило, изменив и сохранив его.
    Этот запрос не вернул какой-либо результат.
    Несколько результирующих наборов в этом запросе не допускается.
    Результаты запроса содержат несогласованные числа полей на строку.
    Выполнение правила было отложено из-за длительного приема данных.
    Выполнение правила было отложено из-за временных проблем.
    Уведомление не было дополнено из-за временных проблем.
    Оповещение не было обогащено из-за проблем сопоставления сущностей.
    < число> сущностей было удалено в имени<32 КБ.
    < число> сущностей было удалено в имени<из-за проблем сопоставления сущностей.
    Запрос привел к <числовых> событиям, превышающим максимальное ограничение<>< правила правила с конфигурацией группирования событий оповещений на строку. Для первых <событий ограничения 1> создается оповещение на строку, а для всех событий создается дополнительное агрегированное оповещение.
    - <число> = количество событий, возвращаемых запросом
    - <limit> = в настоящее время 150 оповещений для запланированных правил, 30 для правил NRT
    — <тип> правила = Scheduled или NRT

Использование книги аудита и мониторинга работоспособности

  1. Чтобы сделать книгу доступной в вашей рабочей области, установите решение для рабочей книги из хаба контента Microsoft Sentinel.

    1. На портале Microsoft Sentinel выберите центр контента (предварительная версия) в меню управления содержимым.

    2. В центре контента введите работоспособности в строке поиска и выберите "Аналитика работоспособности и аудита" из списков решений книг в разделе "Автономный" в результатах.

      Снимок экрана: выбор книги работоспособности аналитики из концентратора содержимого.

    3. Выберите " Установить" в области сведений и нажмите кнопку "Сохранить ", которая отображается на его месте.

  2. Когда решение указывает, что оно установлено, выберите книги в меню управления угрозами.

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

  3. В коллекции книг выберите вкладку "Шаблоны", введите работоспособности в строке поиска и выберите "Аналитика работоспособности" и "Аудит" из результатов.

    Снимок экрана: выбор книги работоспособности аналитики из коллекции шаблонов.

  4. Нажмите кнопку "Сохранить " в области сведений, чтобы создать редактируемую и доступную копию книги. После создания копии выберите Просмотр сохраненной книги.

  5. Как только вы окажетесь в книге, сначала выберите подписку и рабочую область, которую вы хотите просмотреть (возможно, они уже выбраны), затем определите TimeRange, чтобы отфильтровать данные в соответствии с вашими потребностями. Используйте переключатель Показать справку для отображения контекстных подсказок книги.

    Снимок экрана: вкладка обзора книги работоспособности правил аналитики.

В этой книге есть три раздела с вкладками:

Вкладка «Обзор»

На вкладке "Обзор" отображаются сводки о работоспособности и аудите:

  • Сводки о состоянии правила аналитики выполняются в выбранной рабочей области: количество запусков, успехов и сбоев, а также сведения о событии сбоя.
  • Сводки действий по правилам аналитики в выбранной рабочей области: количество действий с течением времени, количество действий по типу и количеству действий разных типов по правилу.

Вкладка "Работоспособность"

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

Снимок экрана: выбор вкладки работоспособности в книге работоспособности аналитики.

  • Отфильтруйте все данные страницы по состоянию (успешно или сбой) и типу правила (планируемый или NRT).
  • Просмотрите тенденции успешных и неудачных запусков правил (в зависимости от фильтра состояния) за выбранный период времени. Вы можете "кисть времени" граф тренда увидеть подмножество исходного диапазона времени. Снимок экрана: правило аналитики выполняется со временем в книге работоспособности аналитики.
  • Отфильтруйте остальную часть страницы по причине.
  • См. общее количество запусков для всех правил аналитики, отображаемое пропорционально по состоянию на круговой диаграмме.
  • Ниже приведена таблица, показывающая количество правил уникальной аналитики, которые выполнялись, разбитые по типу правила и состоянию.
    • Выберите состояние, чтобы отфильтровать оставшиеся диаграммы для этого состояния.
    • Снимите фильтр, выбрав значок "Очистить выделение" (он выглядит как значок "Отменить" в правом верхнем углу диаграммы. Снимок экрана: количество правил, выполняемых по состоянию и типу в книге работоспособности аналитики.
  • Просмотрите каждое состояние с количеством возможных причин для этого состояния. (Показаны только причины, представленные в выполнениях в выбранном интервале времени.)
    • Выберите состояние, чтобы отфильтровать оставшиеся диаграммы для этого состояния.
    • Снимите фильтр, выбрав значок "Очистить выделение" (он выглядит как значок "Отменить" в правом верхнем углу диаграммы. Снимок экрана: количество уникальных причин по состоянию в книге работоспособности аналитики.
  • Затем ознакомьтесь со списком этих причин, при этом общее количество запусков правил в сочетании и количество уникальных правил, выполняемых.
    • Выберите причину, чтобы отфильтровать следующие диаграммы по этой причине.
    • Снимите фильтр, выбрав значок "Очистить выделение" (он выглядит как значок "Отменить" в правом верхнем углу диаграммы. Снимок экрана: правило выполняется по уникальной причине в книге работоспособности аналитики.
  • После этого приводится список уникальных правил аналитики, которые выполнялись, с самыми свежими результатами и графиками изменений их успешности и неудач (в зависимости от выбранного состояния для фильтрации списка).
    • Выберите правило для детализации и отображения новой таблицы со всеми запусками этого правила (в выбранном интервале времени).
    • Снимите таблицу, выбрав значок "Очистить выделение" (он выглядит как значок "Отменить" в правом верхнем углу диаграммы. Снимок экрана: список уникальных правил выполнения с строками состояния и трендами в книге работоспособности аналитики.
  • Если в списке выбрано правило, появится новая таблица с данными о состоянии выбранного правила. Снимок экрана: список запусков выбранного правила аналитики в книге работоспособности аналитики.

Вкладка "Аудит"

Вкладка "Аудит" позволяет выполнить детализацию до определенных событий аудита.

Снимок экрана: выбор вкладки аудита в книге работоспособности аналитики.

  • Фильтрация данных всей страницы по типу правила аудита (scheduled/Fusion).
  • См. тенденции аудита активности в правилах аналитики за выбранный период времени. Вы можете "кисть времени" граф тренда увидеть подмножество исходного диапазона времени. Снимок экрана: тенденция к активности аудита в книге работоспособности аналитики.
  • Ознакомьтесь с числами событий аудита, разделенными по типу действия и правила.
    • Выберите действие, чтобы отфильтровать следующие диаграммы для этого действия.
    • Снимите фильтр, выбрав значок "Очистить выделение" (он выглядит как значок "Отменить" в правом верхнем углу диаграммы. Снимок экрана: количество событий аудита по действиям и типу книги работоспособности аналитики.
  • Просмотрите количество событий аудита по имени правила.
    • Выберите имя правила, чтобы отфильтровать следующую таблицу для этого правила, а также для детализации и отображения новой таблицы со всеми действиями в этом правиле (в выбранном интервале времени). (См. после следующего снимка экрана.)
    • Снимите фильтр, выбрав значок "Очистить выделение" (он выглядит как значок "Отменить" в правом верхнем углу диаграммы. Снимок экрана: аудит событий по имени правила и вызывающей службе в книге работоспособности аналитики.
  • Просмотрите количество аудита событий вызывающим оператором (удостоверение, выполняющее действие).
  • Если вы выбрали имя правила на предыдущей диаграмме, появится другая таблица, показывающая проверенные действия в этом правиле. Выберите значение, которое отображается как ссылка в столбце ExtendedProperties, чтобы открыть боковую панель, отображающую изменения, внесенные в правило. Снимок экрана: действие аудита для выбранного правила в книге работоспособности аналитики.

Следующие шаги