Агрегирование данных Microsoft Sentinel с помощью правил суммирования

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

  • Анализ и отчеты, особенно по большим наборам данных и диапазонам времени, необходимые для анализа безопасности и инцидентов, ежемесячных или ежегодных бизнес-отчетов и т. д.
  • Снижение затрат на подробные журналы, которые можно хранить в менее дорогом уровне хранения журналов столько, сколько необходимо, и отправлять только сводные данные в таблицу Analytics для анализа и подготовки отчетов.
  • Безопасность и конфиденциальность данных путем удаления или скрытия сведений о конфиденциальности в обобщенных общих данных и ограничения доступа к таблицам с необработанными данными.

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

В этой статье объясняется, как создавать сводные правила, внедрять готовые шаблоны и анализировать распространённые сценарии использования в Microsoft Sentinel.

Важно!

После 31 марта 2027 г. Microsoft Sentinel больше не будет поддерживаться в портале Azure и будет доступен только в портале Microsoft Defender. Все клиенты, использующие Microsoft Sentinel в портал Azure, будут перенаправлены на портал Defender и будут использовать Microsoft Sentinel только на портале Defender. Начиная с июля 2025 г. многие новые клиенты автоматически подключены и перенаправляются на портал Defender.

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

Предварительные условия

Чтобы создать правила суммирования в Microsoft Sentinel:

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

Создание нового сводного правила

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

  1. Откройте мастер сводных правил:

    • На портале Defender выберите Microsoft Sentinel > сводные правила конфигурации>.

    • В портал Azure в меню навигации Microsoft Sentinel в разделе Конфигурация выберите Сводные правила. Например, вы можете:

      Снимок экрана страницы

  2. Выберите + Создать и введите следующие сведения:

    • Имя. Введите осмысленное имя для правила.

    • Описание. Введите необязательное описание.

    • Целевая таблица. Определите настраиваемую таблицу журналов, в которой собираются данные:

      • Если выбран вариант Существующая настраиваемая таблица журнала, выберите нужную таблицу.

      • Если вы выберете Создать настраиваемую таблицу журнала, введите понятное имя для таблицы. Полное имя таблицы использует следующий синтаксис: <tableName>_CL.

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

    Если параметры диагностики SummaryLogs уже включены, но вы хотите изменить параметры, выберите Настроить дополнительные параметры диагностики. Когда вы вернетесь на страницу мастера сводного правила , обязательно выберите Обновить , чтобы обновить сведения о параметрах.

    Важно!

    Параметр диагностики SummaryLogs влечёт дополнительные расходы. Дополнительные сведения см. в разделе Параметры диагностики в Azure Monitor.

  4. Выберите Далее: настройка логики >сводных данных для продолжения.

  5. На странице Задать логику сводки введите сводный запрос. Например, чтобы свести данные из Google Cloud Platform, можно ввести следующее:

    GCPAuditLogs
    | where ServiceName == 'pubsub.googleapis.com'
    | summarize count() by Severity
    

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

  6. Выберите Предварительный просмотр результатов , чтобы отобразить пример данных, собираемых с помощью настроенного запроса.

  7. В области Планирование запросов определите следующие сведения:

    • Как часто должно выполняться правило
    • Нужно ли, чтобы правило выполнялось с какой-либо задержкой, выраженной в минутах
    • Когда вы хотите, чтобы правило запускалось

    Время, определенное в расписании, основано на столбце timegenerated в данных

  8. Нажмите кнопку Далее: проверка и создание >>сохранить , чтобы завершить сводное правило.

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

  • Просмотрите текущие данные правила на странице Журналы , как если бы вы должны были немедленно выполнить запрос.
  • Просмотр журнала выполнения для выбранного правила
  • Отключите или включите правило.
  • Изменение конфигурации правила

Предупреждение

Удаление сводного правила необратимо.

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

Примечание.

Монитор Azure также поддерживает создание правил сводки с помощью API или шаблона монитора ресурсов Azure (ARM). Дополнительные сведения см. в статье Создание или обновление сводного правила.

Развертывание готовых шаблонов сводных правил

Шаблоны сводных правил — это предварительно созданные сводные правила, которые можно развертывать как есть или настраивать в соответствии со своими потребностями.

Чтобы развернуть шаблон сводного правила, выполните приведенные ниже действия.

  1. Откройте центр содержимого и отфильтруйте тип контента по сводным правилам , чтобы просмотреть доступные шаблоны правил сводки.

    Снимок экрана: страница

  2. Выберите шаблон сводного правила.

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

    Снимок экрана: панель сведений о шаблоне сводного правила в Microsoft Sentinel, включая такие поля, как описание, сводный запрос и целевая таблица.

  3. Выберите Установить , чтобы установить шаблон.

  4. Перейдите на вкладку Шаблоны на странице Сводные правила и выберите установленное сводный правило.

    Снимок экрана: вкладка

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

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

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

Примеры сценариев сводных правил в Microsoft Sentinel

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

Быстрый поиск вредоносного IP-адреса в сетевом трафике

Сценарий. Вы являетесь охотником за угрозами, и одной из целей вашей команды является выявление всех случаев, когда вредоносный IP-адрес взаимодействовал в журналах сетевого трафика из активного инцидента за последние 90 дней.

Проблема: Microsoft Sentinel в настоящее время ежедневно принимает несколько терабайт сетевых журналов. Чтобы найти совпадения для вредоносного IP-адреса, необходимо быстро перемещаться по ним.

Решение. Рекомендуется использовать правила сводки для выполнения следующих действий:

  1. Создайте сводный набор данных для каждого IP-адреса, связанного с инцидентом, включая SourceIP, DestinationIP, MaliciousIP, RemoteIP, , каждый список важных атрибутов, таких как IPType, FirstTimeSeenи LastTimeSeen.

    Сводный набор данных позволяет быстро найти конкретный IP-адрес и сузить диапазон времени, в котором найден IP-адрес. Это можно сделать, даже если искомые события произошли более 90 дней назад, то есть за пределами срока хранения данных в рабочей области.

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

  2. Создайте правило аналитики , которое выполняется менее чем в течение двух минут для сводного набора данных, быстро детализирует определенный диапазон времени, когда вредоносный IP-адрес взаимодействовал с сетью компании.

    Убедитесь, что интервалы запуска настроены не чаще чем раз в пять минут, чтобы учесть разные размеры полезной нагрузки сводок. Это гарантирует отсутствие потерь даже при задержке приема событий.

    Например, вы можете:

    let csl_columnmatch=(column_name: string) {
    summarized_CommonSecurityLog
    | where isnotempty(column_name)
    | extend
        Date = format_datetime(TimeGenerated, "yyyy-MM-dd"),
        IPaddress = column_ifexists(column_name, ""),
        FieldName = column_name
    | extend IPType = iff(ipv4_is_private(IPaddress) == true, "Private", "Public")
    | where isnotempty(IPaddress)
    | project Date, TimeGenerated, IPaddress, FieldName, IPType, DeviceVendor
    | summarize count(), FirstTimeSeen = min(TimeGenerated), LastTimeSeen = min(TimeGenerated) by Date, IPaddress, FieldName, IPType, DeviceVendor
    };
    union csl_columnmatch("SourceIP")
        , csl_columnmatch("DestinationIP") 
        , csl_columnmatch("MaliciousIP")
        , csl_columnmatch("RemoteIP")
    // Further summarization can be done per IPaddress to remove duplicates per day on larger timeframe for the first run
    | summarize make_set(FieldName), make_set(DeviceVendor) by IPType, IPaddress
    
  3. Выполните последующий поиск или корреляцию с другими данными , чтобы завершить историю атаки.

Создание оповещений о совпадениях аналитики угроз с сетевыми данными

Создавайте оповещения о совпадениях с данными киберразведки по шумным, высокообъёмным и малозначимым с точки зрения безопасности сетевым данным.

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

Большинство источников данных представляют собой необработанные журналы, которые содержат много шума и имеют большой объём, но представляют меньшую ценность с точки зрения безопасности, включая IP-адреса, трафик Брандмауэр Azure, трафик Fortigate и т. д. Общий объем составляет около 1 ТБ в день.

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

Решение. Рекомендуется использовать правила сводки для выполнения следующих действий:

  1. Создайте сводное правило:

    1. Расширьте запрос, чтобы извлечь ключевые поля, такие как исходный адрес, адрес назначения и порт назначения, из таблицы CommonSecurityLog_CL, то есть CommonSecurityLog с тарифным планом Auxiliary.

    2. Выполните внутренний поиск по активным индикаторам аналитики угроз, чтобы определить совпадения с нашим исходным адресом. Это позволяет сопоставлять ваши данные с известными угрозами.

    3. Сведения, относящиеся к проекту, включая время создания, тип действия и любые IP-адреса вредоносных источников, а также сведения о назначении. Задайте частоту выполнения запроса и целевую таблицу, например MaliciousIPDetection . Результаты в этой таблице находятся на уровне аналитики и оплачиваются соответствующим образом.

  2. Создайте оповещение:

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

Пример сводного правила:

CommonSecurityLog_CL​
| extend sourceAddress = tostring(parse_json(Message).sourceAddress), destinationAddress = tostring(parse_json(Message).destinationAddress), destinationPort = tostring(parse_json(Message).destinationPort)​
| lookup kind=inner (ThreatIntelligenceIndicator | where Active == true ) on $left.sourceAddress == $right.NetworkIP​
| project TimeGenerated, Activity, Message, DeviceVendor, DeviceProduct, sourceMaliciousIP =sourceAddress, destinationAddress, destinationPort