Prozkoumání standardních hodnot operačního systému (na základě srovnávacího testu CIS)

Proveďte základní a pokročilá šetření na základě doporučení standardních hodnot operačního systému.

Základní šetření doporučení zabezpečení standardních hodnot operačního systému

Základní doporučení operačního systému můžete prozkoumat tak, že přejdete na Defender for IoT na webu Azure Portal. Další informace najdete v tématu Zkoumání doporučení zabezpečení.

Pokročilé šetření doporučení zabezpečení standardních hodnot operačního systému

Tato část popisuje, jak lépe porozumět výsledkům testu podle směrného plánu operačního systému a dotazovat se na události ve službě Azure Log Analytics.

Požadavky:

Pokročilé šetření doporučení zabezpečení standardních hodnot operačního systému je podporováno pouze pomocí Azure Log Analytics a než budete pokračovat, musíte defender for IoT připojit k pracovnímu prostoru služby Log Analytics.

Další informace najdete v tématu Konfigurace řešení založeného na agentech Microsoft Defenderu pro IoT.

Dotazování událostí zabezpečení IoT v Log Analytics na výstrahy:

  1. V pracovním prostoru služby Log Analytics přejděte na Protokoly>AzureSecurityOfThings>SecurityAlert.

  2. V editoru dotazů napravo zadejte dotaz KQL, aby se zobrazila upozornění, která chcete zobrazit.

  3. Výběrem možnosti Spustit zobrazíte výstrahy, které odpovídají vašemu dotazu.

Příklad:

Snímek obrazovky pracovního prostoru služby Log Analytics s dotazem upozornění Defenderu pro I o T

Poznámka:

Kromě upozornění můžete také použít stejný postup k dotazování na doporučení nebo nezpracovaná data událostí.

Užitečné dotazy k prozkoumání základních prostředků operačního systému

Poznámka:

Nezapomeňte nahradit <device-id> názvy, které jste svému zařízení dali v každém z následujících dotazů.

Načtení nejnovějších informací

  • Selhání vozového parku zařízení: Spuštěním tohoto dotazu načtěte nejnovější informace o kontrolách, které selhaly napříč flotilou zařízení:

    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
    
  • Konkrétní selhání zařízení – Spuštěním tohoto dotazu načtěte nejnovější informace o kontrolách, které selhaly na konkrétním zařízení:

    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
    
  • Konkrétní chyba zařízení – Spuštěním tohoto dotazu načtěte nejnovější informace o kontrolách, které mají na konkrétním zařízení chybu:

    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
    
  • Aktualizujte seznam zařízení pro flotilu zařízení, která selhala konkrétní kontrolou – Spuštěním tohoto dotazu načtěte aktualizovaný seznam zařízení (napříč flotilou zařízení), která selhala konkrétní kontrolou:

    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;
    

Další kroky

Prozkoumejte doporučení zabezpečení.