Freigeben über


Aggregieren von Microsoft Sentinel-Daten mit Zusammenfassungsregeln (Preview)

Verwenden Sie Zusammenfassungsregeln in Microsoft Sentinel, um große Datenmengen im Hintergrund zusammenzufassen und so einen reibungsloseren Ablauf der Sicherheitsvorgänge auf allen Protokollebenen zu gewährleisten. Die Zusammenfassungsdaten werden in benutzerdefinierten Protokolltabellen vorkompiliert und bieten eine schnelle Abfrageleistung, einschließlich Abfragen, die auf Daten aus kostengünstigen Protokollträgern ausgeführt werden. Zusammenfassungsregeln können Ihnen dabei helfen, Ihre Daten für Folgendes zu optimieren:

  • Analyse und Berichte, insbesondere über große Datensätze und Zeiträume, wie sie für Sicherheits- und Incident-Analysen, monatliche oder jährliche Geschäftsberichte usw. benötigt werden.
  • Kosteneinsparungen bei ausführlichen Protokollen, die Sie so lange oder so wenig wie nötig in einer kostengünstigeren Protokollschicht aufbewahren und nur als zusammengefasste Daten an eine Analysetabelle für Analysen und Berichte senden können.
  • Sicherheit und Datenschutz durch Entfernen oder Verschleiern von Datenschutzdetails in zusammengefassten, gemeinsam nutzbaren Daten und Einschränkung des Zugriffs auf Tabellen mit Rohdaten.

Greifen Sie über die Kusto Query Language (KQL) auf zusammengefasste Regelergebnisse für Erkennung, Untersuchung, Hunting und Berichterstattung zu. Verwenden Sie die Ergebnisse der Zusammenfassungsregel länger für Verlaufsuntersuchungen, Hunting und Complianceaktivitäten.

Ergebnisse von Zusammenfassungsregeln werden in separaten Tabellen unter dem Analytics-Datentarif gespeichert und entsprechend berechnet. Weitere Informationen zu Datentarifen und Speicherkosten finden Sie unter Auswahl eines Tabellenplans basierend auf Nutzungsmustern in einem Log Analytics-Arbeitsbereich.

Wichtig

Zusammenfassungsregeln sind derzeit als PREVIEW verfügbar. Die zusätzlichen Nutzungsbestimmungen für Microsoft Azure-Vorschauen enthalten zusätzliche rechtliche Bedingungen, die für Azure-Features gelten, die sich in der Beta- oder Vorschauversion befinden bzw. anderweitig noch nicht zur allgemeinen Verfügbarkeit freigegeben sind.

Microsoft Sentinel ist in der Unified Security Operations Platform von Microsoft im Microsoft Defender-Portal allgemein verfügbar. Für die Vorschau ist Microsoft Sentinel im Defender-Portal ohne Microsoft Defender XDR oder eine E5-Lizenz verfügbar. Weitere Informationen finden Sie unter Microsoft Sentinel im Microsoft Defender-Portal.

Voraussetzungen

So erstellen Sie Zusammenfassungsregeln in Microsoft Sentinel:

Wir empfehlen Ihnen, mit der Abfrage Ihrer Zusammenfassungsregel auf der Seite Protokolle zu experimentieren, bevor Sie Ihre Regel erstellen. Vergewissern Sie sich, dass die Abfrage den Grenzwert nicht erreicht oder annähernd erreicht, und prüfen Sie, ob die Abfrage das beabsichtigte Schema und die erwarteten Ergebnisse liefert. Wenn die Abfrage nahe an den Abfragegrenzwerten liegt, sollten Sie die Verwendung eines kleineren binSize-Vorgangs in Betracht ziehen, um weniger Daten pro Intervall zu verarbeiten. Sie können die Abfrage auch anpassen, dass sie weniger Datensätze zurückgibt, oder Felder mit höherem Volumen entfernen.

Erstellen einer Zusammenfassungsregel

Erstellen Sie eine neue Zusammenfassungsregel, um eine bestimmte große Menge an Daten in einer dynamischen Tabelle zu aggregieren. Konfigurieren Sie Ihre Regelhäufigkeit, um festzulegen, wie oft Ihr aggregierter Datensatz aus den Rohdaten aktualisiert wird.

  1. Wählen Sie im Azure-Portal im Navigationsmenü von Microsoft Sentinel unter Konfiguration die Option Zusammenfassungsregeln (Preview) aus. Wählen Sie im Defender-Portal die Option Microsoft Sentinel > Konfiguration > Zusammenfassungsregeln (Preview) aus. Zum Beispiel:

    Screenshot der Seite mit den Zusammenfassungsregeln im Azure-Portal.

  2. Wählen Sie + Erstellen aus, oder geben Sie die folgenden Details ein:

    • Name: Geben Sie einen aussagekräftigen Namen für Ihre Regel ein.

    • Beschreibung: Geben Sie optional eine Beschreibung ein.

    • Zieltabelle. Definieren Sie die benutzerdefinierte Protokolltabelle, in der Ihre Daten aggregiert werden:

      • Wenn Sie Vorhandene benutzerdefinierte Protokolltabelle wählen, wählen Sie die Tabelle, die Sie verwenden möchten.

      • Wenn Sie Neue benutzerdefinierte Protokolltabelle wählen, geben Sie einen aussagekräftigen Namen für Ihre Tabelle ein. Ihr vollständiger Tabellenname verwendet die folgende Syntax: <tableName>_CL.

  3. Wir empfehlen Ihnen, die Diagnoseeinstellungen SummaryLogs in Ihrem Arbeitsbereich zu aktivieren, um Einblicke in historische Runen und Fehlschläge zu erhalten. Wenn die Diagnoseeinstellungen SummaryLogs nicht aktiviert sind, werden Sie im Bereich Diagnoseeinstellungen aufgefordert, sie zu aktivieren.

    Wenn die Diagnoseeinstellungen SummaryLogs bereits aktiviert sind, Sie die Einstellungen aber ändern möchten, wählen Sie Erweiterte Diagnoseeinstellungen konfigurieren. Wenn Sie zur Seite des Assistenten für Zusammenfassungsregeln zurückkehren, wählen Sie unbedingt Aktualisieren, um Ihre Einstellungsdetails zu aktualisieren.

    Wichtig

    Die Diagnoseeinstellungen SummaryLogs verursachen zusätzliche Kosten. Weitere Informationen dazu finden Sie unter Diagnoseeinstellungen in Azure Monitor.

  4. Wählen Sie Weiter: Festlegen der Zusammenfassungslogik >, um fortzufahren.

  5. Geben Sie auf der Seite Zusammenfassungslogik festlegen Ihre Zusammenfassungsabfrage ein. Wenn Sie z. B. Inhalte von der Google Cloud Platform abrufen möchten, könnten Sie Folgendes eingeben:

    GCPAuditLogs
    | where ServiceName == 'pubsub.googleapis.com'
    | summarize count() by Severity
    

    Weitere Informationen finden Sie unter Beispielszenarien für Zusammenfassungsregeln und Kusto Query Language (KQL) in Azure Monitor.

  6. Wählen Sie Vorschau der Ergebnisse aus, um sich ein Beispiel für die Daten anzusehen, die Sie mit der konfigurierten Abfrage sammeln möchten.

  7. Definieren Sie im Bereich Abfrageplanung die folgenden Details:

    • Wie oft soll die Regel ausgeführt werden?
    • Gibt an, ob die Regel mit einer beliebigen Verzögerung (in Minuten) ausgeführt werden soll.
    • Gibt an, wann die Regel ausgeführt werden soll.

    Zeiten, die in der Planung definiert sind, basieren auf der Spalte timegenerated in Ihren Daten.

  8. Wählen Sie Weiter: Überprüfen und erstellen >>Speichern aus, um die Zusammenfassungsregel abzuschließen.

Vorhandene Zusammenfassungsregeln werden auf der Seite Zusammenfassungsregeln (Vorschau) aufgelistet. Dort können Sie den Regelstatus überprüfen. Wählen Sie für jede Regel das Optionsmenü am Ende der Zeile aus, um eine der folgenden Aktionen auszuführen:

  • Anzeigen der aktuellen Daten der Regel auf der Seite Protokolle, als ob Sie die Abfrage sofort ausführen würden
  • Anzeigen des Ausführungsverlaufs für die ausgewählte Regel
  • Deaktivieren oder aktivieren Sie die Regel.
  • Bearbeiten der Regelkonfiguration

Um eine Regel zu löschen, wählen Sie die Zeile der Regel aus, und wählen Sie dann Löschen in der Symbolleiste oben auf der Seite aus.

Hinweis

Azure Monitor unterstützt auch das Erstellen von Zusammenfassungsregeln über die API oder eine ARM-Vorlage (Azure Resource Monitor). Weitere Informationen finden Sie unter Erstellen oder Aktualisieren einer Zusammenfassungsregel.

Beispielszenarien für Zusammenfassungsregeln

In diesem Abschnitt werden gängige Szenarien für die Erstellung von Zusammenfassungsregeln in Microsoft Sentinel sowie unsere Empfehlungen für die Konfiguration der einzelnen Regeln erläutert. Weitere Informationen und Beispiele finden Sie unter Verwenden von Zusammenfassungsregeln mit Hilfsprotokollen (Beispielprozess) und Protokollquellen für die Erfassung von Hilfsprotokollen.

Schnelles Auffinden einer schädlichen IP-Adresse in Ihrem Netzwerkdatenverkehr

Szenario: Sie sind Threat Hunter und eines der Ziele Ihres Teams ist es, alle Fälle zu identifizieren, in denen eine bösartige IP-Adresse in den Netzwerkverkehrsprotokollen eines aktiven Incidents in den letzten 90 Tagen interagiert hat.

Herausforderung: Microsoft Sentinel erfasst derzeit pro Tag mehrere Terabyte Netzwerkprotokolle. Sie müssen sie schnell durchgehen, um Übereinstimmungen mit der bösartigen IP-Adresse zu finden.

Lösungs-: Verwenden Sie am besten Zusammenfassungsregeln, um Folgendes zu tun:

  1. Erstellen Sie ein zusammenfassendes Dataset für jede IP-Adresse, die mit dem Incident in Verbindung steht, einschließlich der SourceIP, DestinationIP, MaliciousIP, RemoteIP, die jeweils wichtige Attribute auflisten, wie z. B. IPType, FirstTimeSeen, und LastTimeSeen.

    Mit dem zusammenfassenden Dataset können Sie schnell nach einer bestimmten IP-Adresse suchen und den Zeitbereich eingrenzen, in dem die IP-Adresse gefunden wurde. Dies ist selbst dann möglich, wenn die gesuchten Ereignisse mehr als 90 Tage alt sind und damit außerhalb des Aufbewahrungszeitraums des Arbeitsbereichs liegen.

    In diesem Beispiel konfigurieren Sie die Zusammenfassung so, dass sie täglich ausgeführt wird, so dass die Abfrage jeden Tag neue zusammenfassende Datasets hinzufügt, bis sie abläuft.

  2. Erstellen Sie eine Analyseregel, die weniger als zwei Minuten lang auf dem zusammengefassten Dataset läuft und schnell den spezifischen Zeitbereich ermittelt, in dem die bösartige IP-Adresse mit dem Unternehmensnetzwerk interagiert hat.

    Stellen Sie sicher, dass Sie Ausführungsintervalle von mindestens fünf Minuten konfigurieren, um unterschiedliche Größen der zusammengefassten Nutzdaten zu berücksichtigen. Dadurch wird sichergestellt, dass auch bei einer Verzögerung bei der Ereignisaufnahme keine Verluste entstehen.

    Zum Beispiel:

    let csl_columnmatch=(column_name: string) {
    CommonSecurityLog
    | where isnotempty(column_name)
    | extend
        Date = format_datetime(TimeGenerated, "yyyy-MM-dd"),
        IPaddress = column_ifexists(column_name, ""),
        FieldName = column_name
    | extend IPType = iff(ipv4_is_private(IPaddress) == true, "Private", "Public")
    | where isnotempty(IPaddress)
    | project Date, TimeGenerated, IPaddress, FieldName, IPType, DeviceVendor
    | summarize count(), FirstTimeSeen = min(TimeGenerated), LastTimeSeen = min(TimeGenerated) by Date, IPaddress, FieldName, IPType, DeviceVendor
    };
    union csl_columnmatch("SourceIP")
        , csl_columnmatch("DestinationIP") 
        , csl_columnmatch("MaliciousIP")
        , csl_columnmatch("RemoteIP")
    // Further summarization can be done per IPaddress to remove duplicates per day on larger timeframe for the first run
    | summarize make_set(FieldName), make_set(DeviceVendor) by IPType, IPaddress
    
  3. Führen Sie eine anschließende Suche oder Korrelation mit anderen Daten durch, um den Angriffsverlauf zu vervollständigen.

Generieren von Warnmeldungen bei Übereinstimmung von Bedrohungsdaten mit Netzwerkdaten

Generieren Sie Warnungen bei Übereinstimmungen von Bedrohungsdaten mit verrauschten, umfangreichen Netzwerkdaten mit geringem Sicherheitswert.

Szenario: Sie müssen eine Analyseregel für Firewall-Protokolle erstellen, um Domainnamen im System, die besucht wurden, mit einer Threat Intelligence-Domainnamenliste abzugleichen.

Bei den meisten Datenquellen handelt es sich um Rohprotokolle, die verrauscht und umfangreich sind, aber einen geringeren Sicherheitswert haben, einschließlich IP-Adressen, Azure Firewall-Datenverkehr, Fortigate-Datenverkehr und so weiter. Das Gesamtvolumen beträgt etwa 1 TB pro Tag.

Herausforderung: Das Erstellen separater Regeln erfordert mehrere Logik-Apps, was zusätzlichen Einrichtungs- und Wartungsaufwand und Kosten verursacht.

Lösungs-: Verwenden Sie am besten Zusammenfassungsregeln, um Folgendes zu tun:

  1. Fassen Sie die McAfee Firewall-Protokolle alle 10 Minuten zusammen und aktualisieren Sie die Daten in derselben benutzerdefinierten Tabelle bei jeder Ausführung. ASIM-Funktionen können in der Zusammenfassungsabfrage bei der Interaktion mit Ihren McAfee-Protokollen hilfreich sein.

  2. Erstellen Sie eine Analyseregel, die immer dann eine Warnung auslöst, wenn ein Domänenname in den Zusammenfassungsdaten mit einem Eintrag in der Threat Intelligence-Liste übereinstimmt. Zum Beispiel:

    //let timeRange = 5m;
    //let httpstrim = "https://";
    //let httptrim = "http://";
    let timeRangeStart = now (-10m);
    let timeRangeEnd = (timeRangeStart + 10m);
    //Take visited domains from McAfee proxy
    adx('https://adxfwlog01.northeurope.kusto.windows.net/nwlogs').MappedMcAfeeSyslog
    | where timestamp between (timeRangeStart .. timeRangeEnd)
    | where isnotempty(URL)
    | extend URLDomain = parse_url(URL).Host
    | extend URLDomain = iff(isempty(URLDomain),URL,URLDomain)
    | extend URLDomain = extract(@"([0-9a-zA-Z-]{1,}\.[0-9a-zA-Z-]{2,3}\.[0-9a-zA-Z-]{2,3}|[0-9a-zA-Z-]{1,}\.[0-9a-zA-Z-]{2,10})$", 0, URLDomain)
    | where isnotempty(URLDomain)
    | summarize by URLDomain
    //Match visited domains with TI DomainName list
    | join kind=inner (ThreatIntelligenceIndicator
        | where isnotempty(DomainName)
        | where Active == true
        | where ExpirationDateTime > now()
        | summarize LatestIndicatorTime = arg_max(TimeGenerated, *) by DomainName
          ) on $left.URLDomain == $right.DomainName
    | extend LogicApp = "SOC-McAfee-ADX-DstDomainAgainstThreatIntelligence"
    | project LatestIndicatorTime, TI_Domain = DomainName, Description, ConfidenceScore, AdditionalInformation, LogicApp
    

Verwenden von Zusammenfassungsregeln mit Hilfsprotokollen (Beispielprozess)

Dieses Verfahren beschreibt einen Beispielprozess für die Verwendung von Zusammenfassungsregeln mit Hilfsprotokollen unter Verwendung einer benutzerdefinierten Verbindung, die über eine ARM-Vorlage erstellt wurde, um CEF-Daten aus Logstash zu erfassen.

  1. Richten Sie Ihren benutzerdefinierten CEF- Connector von Logstash aus ein:

    1. Stellen Sie die folgende ARM-Vorlage in Ihrem Microsoft Sentinel-Arbeitsbereich bereit, um eine benutzerdefinierte Tabelle mit Datensammlungsregeln (DCR) und einen Datensammlungsendpunkt (DCE) zu erstellen:

      Bereitstellung in Azure

    2. Sehen Sie sich die folgenden Details in der Ausgabe der ARM-Vorlage an:

      • tenant_id
      • data_collection_endpoint
      • dcr_immutable_id
      • dcr_stream_name
    3. Erstellen Sie eine Microsoft Entra-Anwendung, und sehen Sie sich die Client-ID und das Geheimnis der Anwendung an. Weitere Informationen finden Sie im Tutorial: Senden von Daten an Azure Monitor-Protokolle über die Protokollerfassungs-API (Azure-Portal).

    4. Verwenden Sie unser Beispielskript, um Ihre Logstash-Konfigurationsdatei zu aktualisieren. Die Updates konfigurieren Logstash so, dass es CEF-Protokolle an die von der ARM-Vorlage erstellte benutzerdefinierte Tabelle sendet und JSON-Daten in das DCR-Format umwandelt. Stellen Sie sicher, dass Sie in diesem Skript die Platzhalterwerte durch Ihre eigenen Werte für die benutzerdefinierte Tabelle und die Microsoft Entra-Anwendung ersetzen, die Sie zuvor erstellt haben.

  2. Überprüfen Sie, ob Ihre CEF-Daten wie erwartet von Logstash geflossen sind. Gehen Sie zum Beispiel in Microsoft Sentinel auf die Seite Protokolle und führen Sie die folgende Abfrage aus:

    CefAux_CL
    | take 10
    
  3. Erstellen Sie Zusammenfassungsregeln, die Ihre CEF-Daten zusammenfassen. Zum Beispiel:

    • Suchen Sie nach Incident of Concern (IoC) Daten: Suchen Sie nach bestimmten IoCs, indem Sie Zusammenfassungsabfragen ausführen, um eindeutige Vorkommnisse zu finden. Fragen Sie anschließend nur diese Vorkommnisse ab, um schnellere Ergebnisse zu erzielen. Das folgende Beispiel zeigt, wie Sie einen eindeutigen Source Ip-Feed zusammen mit anderen Metadaten mitbringen, die dann für IoC-Abfragen verwendet werden können:

      // Daily Network traffic trend Per Destination IP along with Data transfer stats 
      // Frequency - Daily - Maintain 30 day or 60 Day History. 
        Custom_CommonSecurityLog 
        | extend Day = format_datetime(TimeGenerated, "yyyy-MM-dd") 
        | summarize Count= count(), DistinctSourceIps = dcount(SourceIP), NoofByesTransferred = sum(SentBytes), NoofBytesReceived = sum(ReceivedBytes)  
        by Day,DestinationIp, DeviceVendor 
      
    • Abfrage einer Zusammenfassungsbaseline für Anomalie-Erkennungen. Anstatt Ihre Abfragen auf große zurückliegende Zeiträume, wie z. B. 30 oder 60 Tage, anzuwenden, sollten Sie die Daten in benutzerdefinierte Protokolle aufnehmen und dann nur zusammengefasste Basisdaten abfragen, z. B. für die Erkennung von Zeitreihenanomalien. Zum Beispiel:

      // Time series data for Firewall traffic logs 
      let starttime = 14d; 
      let endtime = 1d; 
      let timeframe = 1h; 
      let TimeSeriesData =  
      Custom_CommonSecurityLog 
        | where TimeGenerated between (startofday(ago(starttime))..startofday(ago(endtime))) 
        | where isnotempty(DestinationIP) and isnotempty(SourceIP) 
        | where ipv4_is_private(DestinationIP) == false 
        | project TimeGenerated, SentBytes, DeviceVendor 
        | make-series TotalBytesSent=sum(SentBytes) on TimeGenerated from startofday(ago(starttime)) to startofday(ago(endtime)) step timeframe by DeviceVendor