Delen via


Microsoft Sentinel-gegevens aggregeren met samenvattingsregels (preview)

Gebruik samenvattingsregels in Microsoft Sentinel om grote gegevenssets op de achtergrond samen te voegen voor een soepelere beveiligingsbewerkingen in alle logboeklagen. Samenvattingsgegevens worden vooraf gecompileerd in aangepaste logboektabellen en bieden snelle queryprestaties, waaronder query's die worden uitgevoerd op gegevens die zijn afgeleid van goedkope logboeklagen. Samenvattingsregels kunnen u helpen uw gegevens te optimaliseren voor:

  • Analyse en rapporten, met name over grote gegevenssets en tijdsbereiken, zoals vereist voor beveiligings- en incidentanalyse, maand-over-maand- of jaarverslagen, enzovoort.
  • Kostenbesparingen voor uitgebreide logboeken, die u kunt bewaren voor zo weinig of zolang u nodig hebt in een goedkopere logboeklaag, en als samengevatte gegevens alleen verzenden naar een analysetabel voor analyse en rapporten.
  • Beveiliging en gegevensprivacy door privacygegevens te verwijderen of te verbergen in samengevatte deelbare gegevens en het beperken van de toegang tot tabellen met onbewerkte gegevens.

Resultaten van toegangsoverzichtsregels via Kusto-querytaal (KQL) voor detectie-, onderzoek-, opsporings- en rapportageactiviteiten. Gebruik samenvattingsregelresultaten voor langere perioden in historische onderzoeken, opsporing en nalevingsactiviteiten.

Resultaten van samenvattingsregels worden opgeslagen in afzonderlijke tabellen onder het analysegegevensplan en worden dienovereenkomstig in rekening gebracht. Zie Een tabelplan selecteren op basis van gebruikspatronen in een Log Analytics-werkruimte voor meer informatie over gegevensplannen en opslagkosten

Belangrijk

Samenvattingsregels zijn momenteel beschikbaar als PREVIEW-versie. Zie de aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews voor aanvullende juridische voorwaarden die van toepassing zijn op Azure-functies die bèta, preview of anderszins nog niet beschikbaar zijn.

Microsoft Sentinel is algemeen beschikbaar binnen het geïntegreerde beveiligingsbewerkingsplatform van Microsoft in de Microsoft Defender-portal. Voor preview is Microsoft Sentinel beschikbaar in de Defender-portal zonder Microsoft Defender XDR of een E5-licentie. Zie Microsoft Sentinel in de Microsoft Defender-portal voor meer informatie.

Vereisten

Overzichtsregels maken in Microsoft Sentinel:

U wordt aangeraden te experimenteren met uw samenvattingsregelquery op de pagina Logboeken voordat u de regel maakt. Controleer of de query niet de querylimiet bereikt of bijna bereikt en controleer of de query het beoogde schema en de verwachte resultaten produceert. Als de query dicht bij de querylimieten ligt, kunt u overwegen om minder binSize gegevens per bin te verwerken. U kunt de query ook wijzigen om minder records te retourneren of velden met een hoger volume te verwijderen.

Een samenvattingsregel maken

Maak een nieuwe samenvattingsregel om een specifieke grote set gegevens samen te voegen in een dynamische tabel. Configureer de regelfrequentie om te bepalen hoe vaak uw geaggregeerde gegevensset wordt bijgewerkt op basis van de onbewerkte gegevens.

  1. Selecteer in Azure Portal, in het navigatiemenu van Microsoft Sentinel, onder Configuratie, samenvattingsregels (preview). Selecteer in de Defender-portal microsoft Sentinel-configuratiesamenvattingsregels > > (preview). Voorbeeld:

    Schermopname van de pagina Samenvattingsregels in Azure Portal.

  2. Selecteer + Maken en voer de volgende gegevens in:

    • Name. Voer een betekenisvolle naam in voor uw regel.

    • Beschrijving. Voer eventueel een beschrijving in.

    • Doeltabel. Definieer de aangepaste logboektabel waarin uw gegevens worden samengevoegd:

      • Als u bestaande aangepaste logboektabel selecteert, selecteert u de tabel die u wilt gebruiken.

      • Als u Nieuwe aangepaste logboektabel selecteert, voert u een betekenisvolle naam in voor de tabel. De volledige tabelnaam maakt gebruik van de volgende syntaxis: <tableName>_CL.

  3. U wordt aangeraden diagnostische instellingen voor SummaryLogs in te schakelen in uw werkruimte om inzicht te krijgen in historische uitvoeringen en fouten. Als diagnostische instellingen voor SummaryLogs niet zijn ingeschakeld, wordt u gevraagd deze in te schakelen in het gebied Diagnostische instellingen .

    Als diagnostische instellingen van SummaryLogs al zijn ingeschakeld, maar u de instellingen wilt wijzigen, selecteert u Geavanceerde diagnostische instellingen configureren. Wanneer u terugkomt op de wizardpagina Samenvattingsregel, selecteert u Vernieuwen om de instellingsgegevens te vernieuwen.

    Belangrijk

    De diagnostische instellingen van SummaryLogs hebben extra kosten. Zie Diagnostische instellingen in Azure Monitor voor meer informatie.

  4. Selecteer Volgende: Stel samenvattingslogica > in om door te gaan.

  5. Voer uw samenvattingsquery in op de pagina Samenvattingslogica instellen. Als u bijvoorbeeld inhoud wilt ophalen uit Google Cloud Platform, kunt u het volgende invoeren:

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

    Zie Voorbeeld van overzichtsregelscenario's en Kusto-querytaal (KQL) in Azure Monitor voor meer informatie.

  6. Selecteer Voorbeeldresultaten om een voorbeeld weer te geven van de gegevens die u met de geconfigureerde query wilt verzamelen.

  7. Definieer in het gebied Queryplanning de volgende details:

    • Hoe vaak de regel moet worden uitgevoerd
    • Of u wilt dat de regel wordt uitgevoerd met een willekeurige vertraging, in minuten
    • Wanneer u wilt dat de regel wordt uitgevoerd

    Tijden die in de planning zijn gedefinieerd, zijn gebaseerd op de timegenerated kolom in uw gegevens

  8. Selecteer Volgende: Controleren en opslaan maken>> om de samenvattingsregel te voltooien.

Bestaande samenvattingsregels worden weergegeven op de pagina Samenvattingsregels (preview), waar u de status van uw regel kunt controleren. Selecteer voor elke regel het menu Opties aan het einde van de rij om een van de volgende acties uit te voeren:

  • Bekijk de huidige gegevens van de regel op de pagina Logboeken , alsof u de query onmiddellijk zou uitvoeren
  • De uitvoeringsgeschiedenis voor de geselecteerde regel weergeven
  • Schakel de regel uit of schakel deze in.
  • De regelconfiguratie bewerken

Als u een regel wilt verwijderen, selecteert u de regelrij en selecteert u Verwijderen in de werkbalk boven aan de pagina.

Notitie

Azure Monitor biedt ook ondersteuning voor het maken van samenvattingsregels via API of een ARM-sjabloon (Azure Resource Monitor). Zie Een samenvattingsregel maken of bijwerken voor meer informatie.

Voorbeeldscenario's voor samenvattingsregels

In deze sectie worden veelvoorkomende scenario's besproken voor het maken van samenvattingsregels in Microsoft Sentinel en onze aanbevelingen voor het configureren van elke regel. Zie Overzichtsregels gebruiken met hulplogboeken (voorbeeldproces) en logboekbronnen voor opname van hulplogboeken voor meer informatie en voorbeelden.

Snel een schadelijk IP-adres vinden in uw netwerkverkeer

Scenario: U bent een bedreigingsjager en een van de doelen van uw team is om alle exemplaren te identificeren van wanneer een schadelijk IP-adres in de netwerkverkeerslogboeken van een actief incident communiceerde, in de afgelopen 90 dagen.

Uitdaging: Microsoft Sentinel neemt momenteel meerdere terabytes aan netwerklogboeken per dag op. U moet deze snel doorlopen om overeenkomsten voor het schadelijke IP-adres te vinden.

Oplossing: Het is raadzaam om samenvattingsregels te gebruiken om het volgende te doen:

  1. Maak een samenvattingsgegevensset voor elk IP-adres dat betrekking heeft op het incident, waaronder de SourceIP, DestinationIP, MaliciousIP, , RemoteIPelke vermelding van belangrijke kenmerken, zoals IPType, FirstTimeSeenen LastTimeSeen.

    Met de samenvattingsgegevensset kunt u snel zoeken naar een specifiek IP-adres en het tijdsbereik beperken waar het IP-adres wordt gevonden. U kunt dit zelfs doen wanneer de gezochte gebeurtenissen meer dan 90 dagen geleden zijn uitgevoerd, wat buiten de bewaarperiode van de werkruimte valt.

    In dit voorbeeld configureert u de samenvatting om dagelijks uit te voeren, zodat de query elke dag nieuwe samenvattingsrecords toevoegt totdat deze verloopt.

  2. Maak een analyseregel die minder dan twee minuten wordt uitgevoerd op basis van de samenvattingsgegevensset en zoom snel in op het specifieke tijdsbereik wanneer het schadelijke IP-adres interactie heeft gehad met het bedrijfsnetwerk.

    Zorg ervoor dat u uitvoeringsintervallen van maximaal vijf minuten configureert ten minste, zodat u rekening moet houden met verschillende nettoladinggrootten van het overzicht. Dit zorgt ervoor dat er geen verlies is, zelfs niet wanneer er sprake is van een vertraging in de opname van gebeurtenissen.

    Voorbeeld:

    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. Voer een volgende zoekopdracht of correlatie uit met andere gegevens om het aanvalsverhaal te voltooien.

Waarschuwingen genereren voor overeenkomsten met bedreigingsinformatie op basis van netwerkgegevens

Genereer waarschuwingen over bedreigingsinformatieovereenkomsten tegen luidruchtige, grote volumes en netwerkgegevens met een lage beveiligingswaarde.

Scenario: U moet een analyseregel bouwen voor firewalllogboeken om overeenkomen met domeinnamen in het systeem dat is bezocht op basis van een lijst met naamnamen van bedreigingsinformatie.

De meeste gegevensbronnen zijn onbewerkte logboeken die luidruchtig zijn en een hoog volume hebben, maar een lagere beveiligingswaarde hebben, waaronder IP-adressen, Azure Firewall-verkeer, Fortigate-verkeer, enzovoort. Er is een totale hoeveelheid van ongeveer 1 TB per dag.

Uitdaging: Voor het maken van afzonderlijke regels zijn meerdere logische apps vereist, waarvoor extra overhead en kosten voor het instellen en onderhoud zijn vereist.

Oplossing: Het is raadzaam om samenvattingsregels te gebruiken om het volgende te doen:

  1. Een overzicht van mcAfee-firewalllogboeken om de 10 minuten, waarbij de gegevens in dezelfde aangepaste tabel worden bijgewerkt met elke uitvoering. ASIM-functies zijn mogelijk handig in de samenvattingsquery bij interactie met uw McAfee-logboeken.

  2. Maak een analyseregel om een waarschuwing te activeren voor elk gewenst moment dat een domeinnaam in de samenvattingsgegevens overeenkomt met een vermelding in de lijst met bedreigingsinformatie. Voorbeeld:

    //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
    

Samenvattingsregels gebruiken met hulplogboeken (voorbeeldproces)

In deze procedure wordt een voorbeeldproces beschreven voor het gebruik van samenvattingsregels met hulplogboeken met behulp van een aangepaste verbinding die is gemaakt via een ARM-sjabloon om CEF-gegevens op te nemen uit Logstash.

  1. Stel uw aangepaste CEF-connector in vanuit Logstash:

    1. Implementeer de volgende ARM-sjabloon in uw Microsoft Sentinel-werkruimte om een aangepaste tabel te maken met regels voor gegevensverzameling (DCR) en een eindpunt voor gegevensverzameling (DCE):

      Implementeren op Azure

    2. Let op de volgende details van de uitvoer van de ARM-sjabloon:

      • tenant_id
      • data_collection_endpoint
      • dcr_immutable_id
      • dcr_stream_name
    3. Maak een Microsoft Entra-toepassing en noteer de client-id en het geheim van de toepassing. Zie Zelfstudie: Gegevens verzenden naar Azure Monitor-logboeken met logboekopname-API (Azure Portal) voor meer informatie.

    4. Gebruik ons voorbeeldscript om uw Logstash-configuratiebestand bij te werken. De updates configureren Logstash om CEF-logboeken te verzenden naar de aangepaste tabel die door de ARM-sjabloon is gemaakt en JSON-gegevens transformeren naar DCR-indeling. Zorg ervoor dat u in dit script tijdelijke aanduidingen vervangt door uw eigen waarden voor de aangepaste tabel en de Microsoft Entra-app die u eerder hebt gemaakt.

  2. Controleer of uw CEF-gegevens worden verzonden vanuit Logstash zoals verwacht. Ga bijvoorbeeld in Microsoft Sentinel naar de pagina Logboeken en voer de volgende query uit:

    CefAux_CL
    | take 10
    
  3. Maak samenvattingsregels waarmee uw CEF-gegevens worden samengevoegd. Voorbeeld:

    • Opzoekincident van probleemgegevens (IoC): Zoek naar specifieke IoC's door geaggregeerde samenvattingsquery's uit te voeren om unieke exemplaren te brengen en voer vervolgens alleen query's uit op die exemplaren voor snellere resultaten. In het volgende voorbeeld ziet u een voorbeeld van hoe u een unieke Source Ip feed samen met andere metagegevens kunt gebruiken, die vervolgens kan worden gebruikt voor IoC-zoekopdrachten:

      // 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 
      
    • Een query uitvoeren op een samenvattingsbasislijn voor anomaliedetecties. In plaats van uw query's uit te voeren op grote historische perioden, zoals 30 of 60 dagen, raden we u aan om gegevens op te nemen in aangepaste logboeken en vervolgens alleen query's uit te voeren op basislijngegevens voor samenvattingen, zoals voor anomaliedetecties van tijdreeksen. Voorbeeld:

      // 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