Share via


Aanbeveling voor het onderzoeken van de basislijn van het besturingssysteem (op basis van CIS-benchmark)

Voer basis- en geavanceerde onderzoeken uit op basis van aanbevelingen voor de basislijn van het besturingssysteem.

Basisonderzoek voor beveiligingsaanveling voor besturingssysteembasislijn

U kunt aanbevelingen voor de basislijn van het besturingssysteem onderzoeken door te navigeren naar Defender for IoT in Azure Portal. Zie voor meer informatie hoe u aanbevelingen voor beveiliging onderzoekt.

Onderzoek naar geavanceerde beveiligingsaanveling voor besturingssysteembasislijn

In deze sectie wordt beschreven hoe u de testresultaten van de basislijn van het besturingssysteem beter kunt begrijpen en hoe u query's uitvoert op gebeurtenissen in Azure Log Analytics.

Vereisten:

Het geavanceerde onderzoek naar beveiligingsaanbieding voor de basislijn van het besturingssysteem wordt alleen ondersteund met behulp van Azure Log Analytics. U moet Defender for IoT verbinden met een Log Analytics-werkruimte voordat u doorgaat.

Zie Microsoft Defender for IoT Agent-oplossing configureren voor meer informatie.

Ga als volgende te werk om query's uit te voeren op uw IoT-beveiligingsevenementen in Log Analytics:

  1. Ga in uw Log Analytics-werkruimte naar Logs>AzureSecurityOfThings>SecurityAlert.

  2. Voer in de queryeditor aan de rechterkant een KQL-query in om de waarschuwingen weer te geven die u wilt zien.

  3. Selecteer Uitvoeren om de waarschuwingen weer te geven die overeenkomen met uw query.

Voorbeeld:

Schermopname van de Log Analytics-werkruimte met een Defender for I o T-waarschuwingsquery.

Notitie

Naast waarschuwingen kunt u ook dezelfde procedure gebruiken om query's uit te voeren op aanbevelingen of onbewerkte gebeurtenisgegevens.

Nuttige query's voor het onderzoeken van de basislijnresources van het besturingssysteem

Notitie

Zorg ervoor dat u vervangt door <device-id> de naam(en) die u uw apparaat hebt gegeven in elk van de volgende query's.

De meest recente informatie ophalen

  • Apparaatparkfout: voer deze query uit om de meest recente informatie op te halen over controles die zijn mislukt voor het apparaatpark:

    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
    
  • Specifieke apparaatfout : voer deze query uit om de meest recente informatie op te halen over controles die zijn mislukt op een specifiek apparaat:

    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
    
  • Specifieke apparaatfout : voer deze query uit om de meest recente informatie op te halen over controles met een fout op een specifiek apparaat:

    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
    
  • Apparaatlijst bijwerken voor apparaten die een specifieke controle heeft mislukt: voer deze query uit om een bijgewerkte lijst met apparaten op te halen (in het hele apparaatpark) waarvoor een specifieke controle is mislukt:

    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;
    

Volgende stappen

Beveiligingsaan aanbevelingen onderzoeken.