Анализ базовой (на основе эталона CIS) рекомендации ОС
Выполняйте базовый и расширенный анализ на основе базовых рекомендаций ОС.
Базовый анализ базовой рекомендации по безопасности ОС
Для анализа базовых рекомендаций ОС перейдите в раздел Defender для Интернета вещей на портале Azure. Дополнительные сведения см. в разделе Анализ рекомендаций по безопасности.
Расширенный анализ базовой рекомендации по безопасности ОС
Этот раздел содержит сведения о более глубоком понимании результатов базового теста ОС и запросе событий в Azure Log Analytics.
Необходимые условия:
Расширенный анализ базовых рекомендаций по безопасности ОС поддерживается только с помощью Azure Log Analytics, и для его проведения необходимо подключить Defender для Интернета вещей к рабочей области Log Analytics.
Дополнительные сведения см. в разделе Настройка решения на основе агента Microsoft Defender для Интернета вещей.
Чтобы запросить события безопасности Интернета вещей в Log Analytics для оповещений, выполните следующие действия:
В рабочей области Log Analytics перейдите в раздел Logs>AzureSecurityOfThings>SecurityAlert.
В редакторе запросов справа введите запрос KQL для отображения оповещений, которые вы хотите просмотреть.
Нажмите кнопку Выполнить, чтобы отобразить оповещения, соответствующие вашему запросу.
Например:
Примечание.
Помимо оповещений, эту же процедуру можно использовать для запроса рекомендаций или необработанных данных о событиях.
Полезные запросы для анализа базовых ресурсов ОС
Примечание.
Обязательно замените <device-id>
имена, которые вы предоставили устройству в каждом из следующих запросов.
Получение последних сведений
Сбой парка устройств: выполните этот запрос, чтобы получить последние сведения о проверка, которые завершили сбой в автопарке устройств:
let lastDates = SecurityIoTRawEvent | where RawEventName == "Baseline" | summarize TimeStamp=max(TimeStamp) by DeviceId; lastDates | join kind=inner (SecurityIoTRawEvent) on TimeStamp, DeviceId | extend event = parse_json(EventDetails) | where event.BaselineCheckResult == "FAIL" | project DeviceId, event.BaselineCheckId, event.BaselineCheckDescription
Сбой конкретного устройства. Выполните этот запрос, чтобы получить последние сведения о проверка, которые завершили сбой на определенном устройстве:
let id = SecurityIoTRawEvent | extend IoTRawEventId = extractjson("$.EventId", EventDetails, typeof(string)) | where TimeGenerated <= now() | where RawEventName == "Baseline" | where DeviceId == "<device-id>" | summarize arg_max(TimeGenerated, IoTRawEventId) | project IoTRawEventId; SecurityIoTRawEvent | extend IoTRawEventId = extractjson("$.EventId", EventDetails, typeof(string)), extraDetails = todynamic(EventDetails) | where IoTRawEventId == toscalar(id) | where extraDetails.BaselineCheckResult == "FAIL" | project DeviceId, CceId = extraDetails.BaselineCheckId, Description = extraDetails.BaselineCheckDescription
Ошибка конкретного устройства. Выполните этот запрос, чтобы получить последние сведения о проверках, завершившихся ошибкой на конкретном устройстве:
let id = SecurityIoTRawEvent | extend IoTRawEventId = extractjson("$.EventId", EventDetails, typeof(string)) | where TimeGenerated <= now() | where RawEventName == "Baseline" | where DeviceId == "<device-id>" | summarize arg_max(TimeGenerated, IoTRawEventId) | project IoTRawEventId; SecurityIoTRawEvent | extend IoTRawEventId = extractjson("$.EventId", EventDetails, typeof(string)), extraDetails = todynamic(EventDetails) | where IoTRawEventId == toscalar(id) | where extraDetails.BaselineCheckResult == "ERROR" | project DeviceId, CceId = extraDetails.BaselineCheckId, Description = extraDetails.BaselineCheckDescription
Обновление списка устройств для парка устройств, завершившемся сбоем определенной проверка. Выполните этот запрос, чтобы получить обновленный список устройств (в парке устройств), которые не смогли выполнить определенный проверка:
let lastDates = SecurityIoTRawEvent | where RawEventName == "Baseline" | summarize TimeStamp=max(TimeStamp) by DeviceId; lastDates | join kind=inner (SecurityIoTRawEvent) on TimeStamp, DeviceId | extend event = parse_json(EventDetails) | where event.BaselineCheckResult == "FAIL" | where event.BaselineCheckId contains "6.2.8" | project DeviceId;