Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Задания KQL — это одноразовые или запланированные запросы KQL к данным в Microsoft Sentinel озера данных и федеративных таблицах. Используйте задания для исследовательских и аналитических сценариев, таких как:
- Длительные одноразовые запросы для расследования инцидентов и реагирования на инциденты (IR)
- Задачи агрегирования данных, поддерживающие рабочие процессы обогащения с использованием журналов с низкой точностью
- Исторические проверки аналитики угроз (TI) для ретроспективного анализа
- Сканирование обнаружения аномалий, выявляющее необычные закономерности в нескольких таблицах
Задания KQL особенно эффективны, когда запросы используют соединения или объединения в разных наборах данных.
Используйте задания для повышения уровня озера данных на уровень аналитики. Перейдя на уровень аналитики, используйте расширенный редактор KQL охоты для запроса данных. Повышение уровня данных на уровень аналитики имеет следующие преимущества:
- Объедините текущие и исторические данные на уровне аналитики или из федеративных таблиц для запуска моделей расширенной аналитики и машинного обучения на своих данных.
- Сократите затраты на запросы, выполняя запросы на уровне аналитики.
- Объединение данных из нескольких рабочих областей в одну рабочую область на уровне аналитики.
- Объединение данных Microsoft Entra ID, Microsoft 365 и Microsoft Resource Graph на уровне аналитики для выполнения расширенной аналитики в разных источниках данных.
Примечание.
Для хранилища на уровне аналитики тарификация выставления счетов выше, чем на уровне озера данных. Чтобы снизить затраты, необходимо только повысить уровень данных, которые необходимо проанализировать дальше. Используйте KQL в запросе, чтобы проецировать только необходимые столбцы и отфильтровать данные, чтобы уменьшить объем данных, которые были повышены до уровня аналитики.
Вы можете повысить уровень данных в новую таблицу или добавить результаты в существующую таблицу на уровне аналитики. При создании новой таблицы имя таблицы суффиксируется _KQL_CL , чтобы указать, что таблица была создана заданием KQL.
При необходимости можно записать выходные данные задания KQL в другую таблицу на уровне озера данных, чтобы ускорить исследование или использовать обогащенные данные для охоты на угрозы. При создании новой таблицы имя таблицы суффиксируется _KQL при записи в рабочую область Системные таблицы.
Предварительные условия
Для создания заданий KQL и управления ими в Microsoft Sentinel озера данных необходимо выполнить следующие предварительные требования.
Подключение к озеру данных
Для создания заданий KQL и управления ими в Microsoft Sentinel озера данных необходимо сначала подключиться к озеру данных. Дополнительные сведения о подключении к озеру данных см. в статье Подключение к озеру данных Microsoft Sentinel.
Разрешения
Microsoft Entra ID роли обеспечивают широкий доступ во всех рабочих областях в озере данных. Для чтения таблиц во всех рабочих областях, записи на уровень аналитики и планирования заданий с помощью запросов KQL требуется одна из поддерживаемых ролей Microsoft Entra ID. Дополнительные сведения о ролях и разрешениях см. в разделе Microsoft Sentinel роли и разрешения озера данных.
Чтобы создать новые настраиваемые таблицы на уровне аналитики, назначьте роль Участника Log Analytics в рабочей области Log Analytics управляемому удостоверению озера данных.
Чтобы назначить роль, выполните следующие действия.
- В портал Azure перейдите в рабочую область Log Analytics, которой вы хотите назначить роль.
- Выберите Управление доступом (IAM) в области навигации слева.
- Выберите Добавить назначение ролей.
- В таблице Роли выберите *Участник Log Analytics, а затем нажмите кнопку Далее.
- Выберите Управляемое удостоверение, а затем выберите Выбрать участников.
- Управляемое удостоверение озера данных — это управляемое удостоверение, назначаемое системой, с именем
msg-resources-<guid>. Выберите управляемое удостоверение, а затем выберите Выбрать. - Выберите Проверить и назначить.
Дополнительные сведения о назначении ролей управляемым удостоверениям см. в статье Назначение Azure ролей с помощью портал Azure.
Создание задания
Можно создавать задания для выполнения по расписанию или однократно. При создании задания необходимо указать целевую рабочую область и таблицу для результатов. Вы можете записать результаты в новую таблицу или добавить их в существующую таблицу на уровне аналитики или озера данных. Невозможно записать результаты в федеративные таблицы. Вы можете создать новое задание KQL или задание из шаблона, содержащего запрос и параметры задания. Дополнительные сведения см. в статье Создание задания KQL на основе шаблона.
Запустите процесс создания задания из редактора запросов KQL или со страницы управления заданиями.
Введите имя задания. Имя задания должно быть уникальным для клиента. Имена заданий могут содержать до 256 символов. Нельзя использовать
#или в-имени задания.Введите описание задания , указав контекст и назначение задания.
В раскрывающемся списке Выбор рабочей области выберите целевую рабочую область. Эта рабочая область может быть системной таблицей или Sentinel рабочей областью, в которой требуется записать результаты запроса.
Выберите целевую таблицу:
- Чтобы добавить в существующую таблицу, выберите Добавить в существующую таблицу и выберите имя таблицы из раскрывающегося списка. При добавлении в существующую таблицу результаты запроса должны соответствовать схеме существующей таблицы.
Просмотрите или напишите запрос на панели Подготовка запроса . Убедитесь, что для средства выбора времени задан требуемый диапазон времени для задания, если диапазон дат не указан в запросе.
Выберите рабочие области для выполнения запроса в раскрывающемся списке Выбранные рабочие области . Эти рабочие области являются исходными рабочими областями, таблицы которых требуется запрашивать. В выбранной рабочей области определяются таблицы, доступные для выполнения запросов. Выбранные рабочие области применяются ко всем вкладкам запросов в редакторе запросов. При использовании нескольких рабочих областей
union()оператор по умолчанию применяется к таблицам с одинаковым именем и схемой из разных рабочих областей. Используйте оператор дляworkspace()запроса таблицы из определенной рабочей области, напримерworkspace("MyWorkspace").AuditLogs.Примечание.
При записи в существующую таблицу запрос должен возвращать результаты со схемой, которая соответствует схеме целевой таблицы. Если запрос не возвращает результаты с правильной схемой, задание завершается ошибкой при выполнении.
Запись заданий KQL в системные таблицы в настоящее время доступна в предварительной версии.
Нажмите кнопку Далее.
На странице Планирование задания запроса укажите, нужно ли выполнять задание один раз или по расписанию. Если выбрать один раз, задание выполняется сразу после завершения определения задания. Если выбрать расписание, можно указать дату и время выполнения задания или выполнить задание по повторяющимся расписаниям.
Выберите Однократное или Запланированное задание.
Примечание.
При редактировании одноразового задания немедленно запускается его выполнение.
Если вы выбрали Расписание, введите следующие сведения:
- Выберите частоту повтора в раскрывающемся списке. Вы можете выбрать поминутно, ежечасно, ежедневно, еженедельно или ежемесячно.
- Задайте для параметра Повторять все значения для частоты выполнения задания с учетом выбранной частоты.
- В разделе Задать расписаниевыберите дата от и введите время. Время начала задания в поле From должно составлять не менее 30 минут после создания задания. Задание выполняется с этой даты и времени в соответствии с частотой, выбранной в раскрывающемся списке Запуск каждого .
- Выберите пункт Дата и введите время, чтобы указать, когда завершится расписание задания. Если вы хотите, чтобы расписание продолжалось на неопределенный срок, выберите Задать задание для неограниченного выполнения.
Задания от и до времени задаются для языкового стандарта пользователя.
Примечание.
Если вы планируете выполнение задания с высокой частотой, например каждые 30 минут, необходимо учитывать время, затраченное на то, чтобы данные стали доступными в озере данных. Как правило, задержка составляет до 15 минут, прежде чем новые данные будут доступны для запроса.
Нажмите кнопку Далее , чтобы просмотреть сведения о задании.
Просмотрите сведения о задании и нажмите кнопку Отправить , чтобы создать задание. Если задание является одноразовым, оно выполняется после нажатия кнопки Отправить. Если задание запланировано, оно добавляется в список заданий на странице Задания и выполняется в соответствии с данными о начале и временем.
Задание запланировано, и отобразится следующая страница. Чтобы просмотреть задание, перейдите по ссылке.
Создание задания на основе шаблона
Задание KQL можно создать на основе предопределенного шаблона задания. Шаблоны заданий содержат запрос KQL и параметры задания, такие как целевая рабочая область и таблица, расписание и описание. Вы можете создавать собственные шаблоны заданий или использовать встроенные шаблоны, предоставляемые корпорацией Майкрософт.
Чтобы создать задание на основе шаблона, выполните следующие действия.
На странице Задания или в редакторе запросов KQL выберите Создать задание, а затем выберите Создать из шаблона.
На странице Шаблоны заданий выберите нужный шаблон из списка доступных шаблонов.
Просмотрите описание и запрос KQL из шаблона.
Выберите Создать задание на основе шаблона.
Откроется мастер создания заданий со страницей Создание задания KQL . Сведения о задании, предварительно заполненные из шаблона, за исключением целевой рабочей области.
Выберите целевую рабочую область в раскрывающемся списке Выбор рабочей области .
Просмотрите и измените сведения о задании при необходимости, а затем нажмите кнопку Далее , чтобы продолжить работу с мастером создания заданий.
Остальные действия совпадают с созданием нового задания. Поля предварительно заполнены из шаблона и могут быть изменены по мере необходимости. Дополнительные сведения см. в статье Создание задания.
Доступны следующие шаблоны:
| Имя шаблона | Категория |
|---|---|
Увеличение аномальных расположений входаАнализ тенденций журналов входа с идентификаторами Entra для обнаружения необычных изменений расположения для пользователей в приложениях путем вычисления линий трендов разнообразия расположений. Он выделяет три первые счета с самым резким увеличением вариативности расположения и перечисляет связанные с ними расположения в течение 21-дневного окна. Целевая таблица: UserAppSigninLocationTrend Обратный просмотр запроса: 1 день Расписание: ежедневно Дата начала: Текущая дата + 1 час |
Охота |
Аномальное поведение при входе в систему на основе изменений расположенияОпределите аномальное поведение входа на основе изменений расположения пользователей и приложений с идентификаторами Entra для обнаружения внезапных изменений в поведении. Целевая таблица: UserAppSigninLocationAnomalies Обратный просмотр запроса: 1 день Расписание: ежедневно Дата начала: Текущая дата + 1 час |
Обнаружение аномалий |
Аудит редких действий по приложениямНайдите приложения, выполняющие редкие действия (например, согласие, предоставление), которые могут спокойно создавать привилегии. Сравните текущий день с последними 14 днями аудита, чтобы определить новые действия аудита. Полезно для отслеживания вредоносных действий, связанных с добавлением или удалением пользователей или групп с помощью приложений Azure и автоматических утверждений. Целевая таблица: AppAuditRareActivity Обратный просмотр запроса: 14 дней Расписание: ежедневно Дата начала: Текущая дата + 1 час |
Охота |
Azure редкие операции на уровне подпискиОпределите конфиденциальные события Azure уровня подписки на основе журналов действий Azure. Например, мониторинг основан на имени операции "Создание или обновление моментального снимка", которая используется для создания резервных копий, но может быть использована злоумышленниками для дампа хэшей или извлечения конфиденциальной информации с диска. Целевая таблица: AzureSubscriptionSensitiveOps Обратный просмотр запроса: 14 дней Расписание: ежедневно Дата начала: Текущая дата + 1 час |
Охота |
Тенденции ежедневной активности по приложениям в AuditLogsЗа последние 14 дней определите, что пользователь или приложение выполняет любую операцию "Согласие на приложение". Это может означать, что разрешения на доступ к указанному Приложению Azure были предоставлены злоумышленнику. Согласие на приложение, добавление субъекта-службы и добавление событий Auth2PermissionGrant должно быть редким. При наличии дополнительный контекст добавляется из AuditLogs на основе CorrleationId из той же учетной записи, которая выполнила "Согласие на приложение". Целевая таблица: AppAuditActivityBaseline Обратный просмотр запроса: 14 дней Расписание: ежедневно Дата начала: Текущая дата + 1 час |
Базовый уровень |
Тенденция к ежедневному расположению на пользователя или приложение в SignInLogsСоздавайте ежедневные тенденции для всех входов пользователей, количества расположений и использования приложений. Целевая таблица: UserAppSigninLocationBaseline Обратный просмотр запроса: 1 день Расписание: ежедневно Дата начала: Текущая дата + 1 час |
Базовый уровень |
Тенденция ежедневного сетевого трафика на IP-адрес назначенияСоздайте базовый план, включающий байты и отдельные одноранговые узлы для обнаружения маяка и кражи. Целевая таблица: NetworkTrafficDestinationIPDailyBaseline Обратный просмотр запроса: 1 день Расписание: ежедневно Дата начала: Текущая дата + 1 час |
Базовый уровень |
Тенденция ежедневного сетевого трафика на IP-адрес назначения со статистикой передачи данныхОпределите внутренний узел, который достиг исходящего назначения, включая тенденции томов, оценивая радиус взрыва. Целевая таблица: NetworkTrafficDestinationIPTrend Обратный просмотр запроса: 1 день Расписание: ежедневно Дата начала: Текущая дата + 1 час |
Охота |
Тенденция ежедневного сетевого трафика на IP-адрес источникаСоздайте базовый план, включающий байты и отдельные одноранговые узлы для обнаружения маяка и кражи. Целевая таблица: NetworkTrafficSourceIPDailyBaseline Обратный просмотр запроса: 1 день Расписание: ежедневно Дата начала: Текущая дата + 1 час |
Базовый уровень |
Тенденция ежедневного сетевого трафика на IP-адрес источника со статистикой передачи данныхСегодняшние подключения и байты оцениваются по базовому плану узла по дням, чтобы определить, значительно ли наблюдается отклонение наблюдаемого поведения от установленного шаблона. Целевая таблица: NetworkTrafficSourceIPTrend Обратный просмотр запроса: 1 день Расписание: ежедневно Дата начала: Текущая дата + 1 час |
Охота |
Тенденция к ежедневному расположению входа для каждого пользователя и приложенияСоздайте базовый план входа для каждого пользователя или приложения с типичным географическим и IP-адресом, что позволяет эффективно и экономично обнаруживая аномалии в большом масштабе. Целевая таблица: UserAppSigninLocationDailyBaseline Обратный просмотр запроса: 1 день Расписание: ежедневно Дата начала: Текущая дата + 1 час |
Базовый уровень |
Тенденция к выполнению ежедневного процессаОпределите новые процессы и распространенность, упрощая обнаружение новых редких процессов. Целевая таблица: EndpointProcessExecutionBaseline Обратный просмотр запроса: 1 день Расписание: ежедневно Дата начала: Текущая дата + 1 час |
Базовый уровень |
Entra идентификатор редкого агента пользователя для каждого приложенияУстановите базовый план типа UserAgent (браузер, офисное приложение и т. д.), который обычно используется для определенного приложения, оглядываясь назад на несколько дней. Затем выполняется поиск в текущем дне любых отклонений от этого шаблона, т. е. типов UserAgents, которые не видели ранее в сочетании с этим приложением. Целевая таблица: UserAppRareUserAgentAnomalies Обратный просмотр запроса: 7 дней Расписание: ежедневно Дата начала: Текущая дата + 1 час |
Обнаружение аномалий |
Сопоставление сетевых журналов IOCОпределите все IP-индикаторы компрометации (IOCs) из аналитики угроз (TI), выполнив поиск совпадений в CommonSecurityLog. Целевая таблица: NetworkLogIOCMatches Обратный просмотр запроса: 1 час Расписание: ежечасно Дата начала: Текущая дата + 1 час |
Охота |
Новые процессы, наблюдаемые за последние 24 часаНовые процессы в стабильных средах могут указывать на вредоносные действия. Анализ сеансов входа, в которых выполнялись эти двоичные файлы, может помочь выявить атаки. Целевая таблица: EndpointNewProcessExecutions Обратный просмотр запроса: 14 дней Расписание: ежедневно Дата начала: Текущая дата + 1 час |
Охота |
Операция с файлом SharePoint через ранее невидимые IP-адресаВыявляйте аномалии с помощью поведения пользователей, задав пороговое значение для значительных изменений в действиях отправки и скачивания файлов с новых IP-адресов. Он устанавливает базовый план типичного поведения, сравнивает его с недавним действием и помечает отклонения, превышающие пороговое значение по умолчанию 25. Целевая таблица: SharePointFileOpsNewIPs Обратный просмотр запроса: 14 дней Расписание: ежедневно Дата начала: Текущая дата + 1 час |
Охота |
Пало Альто потенциальный сетевой маякОпределите закономерности маяка из журналов сетевого трафика Palo Alto на основе повторяющихся шаблонов разностий времени. Запрос использует различные функции KQL для вычисления разностных значений времени, а затем сравнивает его с общим числом событий, наблюдаемых за день, чтобы найти процент маяка. Целевая таблица: PaloAltoNetworkBeaconingTrend Обратный просмотр запроса: 1 день Расписание: ежедневно Дата начала: Текущая дата + 1 час |
Охота |
Подозрительный вход Windows в нерабочее времяОпределите необычные события входа в Windows за пределами обычного времени пользователя, сравнивая с действиями входа за последние 14 дней, помечая аномалии на основе исторических шаблонов. Целевая таблица: WindowsLoginOffHoursAnomalies Обратный просмотр запроса: 14 дней Расписание: ежедневно Дата начала: Текущая дата + 1 час |
Обнаружение аномалий |
Рекомендации и ограничения
При создании заданий в Microsoft Sentinel озера данных учитывайте следующие ограничения и рекомендации.
Уровень данных
Задания KQL могут записывать данные на уровень Аналитика или уровень Озера данных в зависимости от уровня целевой таблицы. При создании новой таблицы с помощью мастера создания заданий можно выбрать системные таблицы в качестве целевой рабочей области для записи данных непосредственно в озеро данных. Таблицы, созданные таким образом, создаются и хранятся непосредственно на уровне озера данных и автоматически суффиксируются с _KQL.
KQL
Поддерживаются все операторы и функции KQL, кроме следующих:
adx()arg()externaldata()ingestion_time()
При использовании
stored_query_resultsкоманды укажите диапазон времени в запросе KQL. Селектор времени над редактором запросов не работает с этой командой.Определяемые пользователем функции не поддерживаются.
Рабочих мест
- Имена заданий должны быть уникальными для клиента.
- Имена заданий могут содержать до 256 символов.
- Имена заданий не могут содержать или
#-. - Время начала задания должно быть не менее 30 минут после создания или редактирования задания.
Задержка приема озера данных
Уровень озера данных хранит данные в холодном хранилище. В отличие от горячих уровней аналитики или уровня, близкого к реальному времени, холодное хранилище оптимизировано для долгосрочного хранения и экономии затрат и не обеспечивает немедленный доступ к вновь поданным данным. При добавлении новых строк в существующие таблицы в озере данных или в федеративных таблицах обычно возникает задержка до 15 минут, прежде чем данные будут доступны для запроса. Учитывайте задержку приема при выполнении запросов и планировании заданий KQL, гарантируя, что окна обратного просмотра и расписания заданий настроены таким образом, чтобы избежать данных, которые еще не доступны.
Чтобы избежать запросов к данным, которые могут быть недоступны, включите параметр delay в запросы или задания KQL. Например, при планировании автоматических заданий задайте для параметра время окончания запроса значение now() - delay, где delay соответствует типичной задержке готовности к данным в 15 минут. Такой подход гарантирует, что запросы будут выполнять только целевые данные, которые полностью приемуются и готовы к анализу.
let lookback = 15m;
let delay = 15m;
let endTime = now() - delay;
let startTime = endTime - lookback;
CommonSecurityLog
| where TimeGenerated between (startTime .. endTime)
Этот подход эффективен для заданий с короткими окнами обратного просмотра или частыми интервалами выполнения.
Рассмотрите возможность перекрытия периода обратного просмотра с частотой задания, чтобы снизить риск отсутствия данных, поступающих с опозданием.
Дополнительные сведения см. в разделе Обработка задержки приема в правилах аналитики по расписанию.
Имена столбцов
Имена столбцов должны начинаться с буквы.
Следующие стандартные столбцы не поддерживаются для экспорта. Процесс приема перезаписывает следующие столбцы на целевом уровне:
Идентификатор клиента
_TimeReceived
Тип
SourceSystem
_ResourceId
_SubscriptionId
_Itemid
_BilledSize
_IsBillable
_WorkspaceId
TimeGeneratedперезаписывается, если он старше двух дней. Чтобы сохранить исходное время события, запишите метку времени источника в отдельный столбец.
Сведения об ограничениях служб см. в разделе ограничения службы озера данных Microsoft Sentinel.
Примечание.
Частичные результаты могут быть повышены, если запрос задания превышает ограничение в один час.
Параметры и ограничения службы для заданий KQL
В следующей таблице перечислены параметры службы и ограничения для заданий KQL в озере данных Microsoft Sentinel.
| Категория | Параметр или ограничение |
|---|---|
| Параллельное выполнение задания на клиент | 3 |
| Время ожидания выполнения запроса задания | 1 час |
| Задания на клиент (включенные задания) | 100 |
| Количество выходных таблиц на задание | 1 |
| Область запросов | Несколько рабочих областей |
| Диапазон времени запроса | До 12 лет |
Советы по устранению неполадок и сообщения об ошибках см. в статье Устранение неполадок с запросами KQL для Microsoft Sentinel озера данных.