Freigeben über


Untersuchen der Empfehlung zur Betriebssystembaseline (basierend auf CIS-Benchmark)

Ausführen grundlegender und erweiterter Untersuchungen basierend auf Empfehlungen zur Betriebssystembaseline

Untersuchen grundlegender Sicherheitsempfehlungen zur Betriebssystembaseline

Sie können die Empfehlungen zur Betriebssystembaseline im Azure-Portal unter „IoT Hub“ untersuchen. Weitere Informationen finden Sie unter Untersuchen von Sicherheitsempfehlungen.

Untersuchen erweiterter Sicherheitsempfehlungen zur Betriebssystembaseline

In diesem Abschnitt wird beschrieben, wie Sie die Testergebnisse zur Betriebssystembaseline besser verstehen und Ereignisse in Azure Log Analytics abfragen.

Voraussetzungen:

Die erweiterte Sicherheitsempfehlungen für das erweiterte Betriebssystem werden nur mithilfe von Azure Log Analytics unterstützt und Sie müssen Defender für IoT mit einem Log Analytics-Arbeitsbereich verbinden, bevor Sie fortfahren.

Weitere Informationen finden Sie unter Konfigurieren einer Agent-basierten Lösung für Microsoft Defender für IoT.

So fragen Sie IoT-Sicherheitsereignisse in Log Analytics für Warnungen ab:

  1. Wechseln Sie in Ihrem Log Analytics-Arbeitsbereich zu Logs>AzureSecurityOfThings>SecurityAlert.

  2. Geben Sie im Abfrage-Editor rechts eine KQL-Abfrage ein, um die Warnungen anzuzeigen, die angezeigt werden sollen.

  3. Wählen Sie Ausführen aus, um die Warnungen anzuzeigen, die Ihrer Abfrage entsprechen.

Beispiel:

Screenshot: der Log Analytics-Arbeitsbereich mit einer Warnungsabfrage von Defender für IoT.

Hinweis

Zusätzlich zu Warnungen können Sie diese Prozedur auch verwenden, um Empfehlungen oder rohe Ereignisdaten abzufragen.

Hilfreiche Abfragen zum Untersuchen der Ressourcen der Betriebssystembaseline

Hinweis

Ersetzen Sie in den folgenden Abfragen <device-id> durch den/die Namen, die Sie Ihrem Gerät gegeben haben.

Abrufen der aktuellsten Informationen

  • Fehler der Geräteflotte: Führen Sie diese Abfrage aus, um die neuesten Informationen zu fehlerhaften Überprüfungen abzurufen, die in der Geräteflotte aufgetreten sind:

    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
    
  • Gerätespezifische Ausfälle: Führen Sie die folgende Abfrage aus, um die neuesten Informationen zu fehlerhaften Überprüfungen bei einem bestimmten Gerät abzurufen:

    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
    
  • Gerätespezifische Fehler: Führen Sie die folgende Abfrage aus, um die neuesten Informationen zu Überprüfungen abzurufen, bei denen ein Fehler bei einem bestimmten Gerät erkannt wurde:

    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
    
  • Aktualisieren der Geräteliste für die Geräteflotte mit einer bestimmten fehlerhaften Überprüfung: Führen Sie diese Abfrage aus, um eine aktualisierte Liste der Geräte (in der Geräteflotte) abzurufen, bei denen eine bestimmte Überprüfung fehlerhaft war:

    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;
    

Nächste Schritte

Untersuchen von Sicherheitsempfehlungen