Aggregera Microsoft Sentinel-data med sammanfattningsregler (förhandsversion)
Använd sammanfattningsregler i Microsoft Sentinel för att aggregera stora uppsättningar data i bakgrunden för en smidigare säkerhetsåtgärd på alla loggnivåer. Sammanfattningsdata är förkompilerade i anpassade loggtabeller och ger snabba frågeprestanda, inklusive frågor som körs på data som härleds från lågkostnadsloggnivåer. Sammanfattningsregler kan hjälpa dig att optimera dina data för:
- Analys och rapporter, särskilt över stora datamängder och tidsintervall, som krävs för säkerhets- och incidentanalys, månad för månad eller årliga affärsrapporter och så vidare.
- Kostnadsbesparingar för utförliga loggar, som du kan behålla för så lite eller så länge du behöver på en billigare loggnivå, och skicka som sammanfattade data endast till en Analystabell för analys och rapporter.
- Säkerhet och datasekretess genom att ta bort eller dölja sekretessinformation i sammanfattade delningsbara data och begränsa åtkomsten till tabeller med rådata.
Få åtkomst till sammanfattningsregelresultat via Kusto-frågespråk (KQL) för identifierings-, undersöknings-, jakt- och rapporteringsaktiviteter. Använd sammanfattningsregelresultat för längre perioder i historiska undersökningar, jakt- och efterlevnadsaktiviteter.
Sammanfattningsregelresultat lagras i separata tabeller under analysdataplanen och debiteras därefter. Mer information om dataplaner och lagringskostnader finns i Välj en tabellplan baserat på användningsmönster på en Log Analytics-arbetsyta
Viktigt!
Sammanfattningsregler finns för närvarande i FÖRHANDSVERSION. Se kompletterande användningsvillkor för Förhandsversioner av Microsoft Azure för ytterligare juridiska villkor som gäller för Azure-funktioner som är i betaversion, förhandsversion eller på annat sätt ännu inte har släppts i allmän tillgänglighet.
Microsoft Sentinel är allmänt tillgängligt på Microsofts plattform för enhetliga säkerhetsåtgärder i Microsoft Defender-portalen. För förhandsversion är Microsoft Sentinel tillgängligt i Defender-portalen utan Microsoft Defender XDR eller en E5-licens. Mer information finns i Microsoft Sentinel i Microsoft Defender-portalen.
Förutsättningar
Så här skapar du sammanfattningsregler i Microsoft Sentinel:
Microsoft Sentinel måste vara aktiverat på minst en arbetsyta och aktivt använda loggar.
Du måste kunna komma åt Microsoft Sentinel med behörigheter som Microsoft Sentinel-deltagare. Mer information finns i Roller och behörigheter i Microsoft Sentinel.
Om du vill skapa sammanfattningsregler i Microsoft Defender-portalen måste du först registrera din arbetsyta på Defender-portalen. Mer information finns i Ansluta Microsoft Sentinel till Microsoft Defender-portalen.
Vi rekommenderar att du experimenterar med sammanfattningsregelfrågan på sidan Loggar innan du skapar regeln. Kontrollera att frågan inte når eller nära frågegränsen och kontrollera att frågan genererar det avsedda schemat och förväntade resultat. Om frågan ligger nära frågegränserna bör du överväga att använda en mindre binSize
för att bearbeta mindre data per lagerplats. Du kan också ändra frågan för att returnera färre poster eller ta bort fält med högre volym.
Skapa en sammanfattningsregel
Skapa en ny sammanfattningsregel för att aggregera en specifik stor uppsättning data i en dynamisk tabell. Konfigurera regelfrekvensen för att avgöra hur ofta den aggregerade datamängden uppdateras från rådata.
I Azure Portal går du till Microsoft Sentinel-navigeringsmenyn under Konfiguration och väljer Sammanfattningsregler (förhandsversion). I Defender-portalen väljer du Microsoft Sentinel-konfigurationssammanfattningsregler > > (förhandsversion). Till exempel:
Välj + Skapa och ange följande information:
Namn. Ange ett beskrivande namn för regeln.
Beskrivning. Ange en valfri beskrivning.
Måltabell. Definiera den anpassade loggtabellen där dina data aggregeras:
Om du väljer Befintlig anpassad loggtabell väljer du den tabell som du vill använda.
Om du väljer Ny anpassad loggtabell anger du ett beskrivande namn för tabellen. Det fullständiga tabellnamnet använder följande syntax:
<tableName>_CL
.
Vi rekommenderar att du aktiverar diagnostikinställningar för SummaryLogs på din arbetsyta för att få insyn i historiska runor och fel. Om diagnostikinställningarna för SummaryLogs inte är aktiverade uppmanas du att aktivera dem i området Diagnostikinställningar .
Om diagnostikinställningarna för SummaryLogs redan är aktiverade, men du vill ändra inställningarna, väljer du Konfigurera avancerade diagnostikinställningar. När du kommer tillbaka till sidan Sammanfattningsregel måste du välja Uppdatera för att uppdatera inställningsinformationen.
Viktigt!
Diagnostikinställningarna för SummaryLogs har ytterligare kostnader. Mer information finns i Diagnostikinställningar i Azure Monitor.
Välj Nästa: Ange sammanfattningslogik > för att fortsätta.
På sidan Ange sammanfattningslogik anger du sammanfattningsfrågan. Om du till exempel vill hämta innehåll från Google Cloud Platform kanske du vill ange:
GCPAuditLogs | where ServiceName == 'pubsub.googleapis.com' | summarize count() by Severity
Mer information finns i Exempel på sammanfattningsregelscenarier och Kusto-frågespråk (KQL) i Azure Monitor.
Välj Förhandsgranska resultat för att visa ett exempel på de data som du samlar in med den konfigurerade frågan.
I området Frågeschemaläggning definierar du följande information:
- Hur ofta du vill att regeln ska köras
- Om du vill att regeln ska köras med någon form av fördröjning, i minuter
- När du vill att regeln ska börja köras
De tider som definieras i schemaläggningen
timegenerated
baseras på kolumnen i dina dataVälj Nästa: Granska + skapa >>Spara för att slutföra sammanfattningsregeln.
Befintliga sammanfattningsregler visas på sidan Sammanfattningsregler (förhandsversion) där du kan granska din regelstatus. För varje regel väljer du alternativmenyn i slutet av raden för att utföra någon av följande åtgärder:
- Visa regelns aktuella data på sidan Loggar , som om du skulle köra frågan omedelbart
- Visa körningshistoriken för den valda regeln
- Inaktivera eller aktivera regeln.
- Redigera regelkonfigurationen
Om du vill ta bort en regel väljer du regelraden och väljer sedan Ta bort i verktygsfältet överst på sidan.
Kommentar
Azure Monitor har också stöd för att skapa sammanfattningsregler via API eller en ARM-mall (Azure Resource Monitor). Mer information finns i Skapa eller uppdatera en sammanfattningsregel.
Exempel på sammanfattningsregelscenarier
Det här avsnittet går igenom vanliga scenarier för att skapa sammanfattningsregler i Microsoft Sentinel och våra rekommendationer för hur du konfigurerar varje regel. Mer information och exempel finns i Använda sammanfattningsregler med hjälploggar (exempelprocess) och Loggkällor som ska användas för inmatning av extraloggar.
Hitta snabbt en skadlig IP-adress i nätverkstrafiken
Scenario: Du är en hotjägare och ett av teamets mål är att identifiera alla instanser av när en skadlig IP-adress interagerat i nätverkstrafikloggarna från en aktiv incident under de senaste 90 dagarna.
Utmaning: Microsoft Sentinel matar för närvarande in flera terabyte nätverksloggar om dagen. Du måste snabbt gå igenom dem för att hitta matchningar för den skadliga IP-adressen.
Lösning: Vi rekommenderar att du använder sammanfattningsregler för att göra följande:
Skapa en sammanfattningsdatauppsättning för varje IP-adress som är relaterad till incidenten, inklusive
SourceIP
,DestinationIP
,MaliciousIP
,RemoteIP
, varje lista med viktiga attribut, till exempelIPType
,FirstTimeSeen
ochLastTimeSeen
.Med sammanfattningsdatauppsättningen kan du snabbt söka efter en specifik IP-adress och begränsa tidsintervallet där IP-adressen hittas. Du kan göra detta även när de genomsökda händelserna inträffade för mer än 90 dagar sedan, vilket är längre än kvarhållningsperioden för arbetsytan.
I det här exemplet konfigurerar du sammanfattningen så att den körs dagligen, så att frågan lägger till nya sammanfattningsposter varje dag tills den upphör att gälla.
Skapa en analysregel som körs i mindre än två minuter mot sammanfattningsdatauppsättningen, och gå snabbt in i det specifika tidsintervallet när den skadliga IP-adressen interagerade med företagets nätverk.
Se till att konfigurera körningsintervall på upp till fem minuter som minst för att hantera olika sammanfattningsstorlekar för nyttolast. Detta säkerställer att det inte uppstår någon förlust även när det finns en fördröjning av händelseinmatningen.
Till exempel:
let csl_columnmatch=(column_name: string) { summarized_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
Kör en efterföljande sökning eller korrelation med andra data för att slutföra attackberättelsen.
Generera aviseringar om hotinformationsmatchningar mot nätverksdata
Generera aviseringar om hotinformationsmatchningar mot brus, hög volym och nätverksdata med lågt säkerhetsvärde.
Scenario: Du måste skapa en analysregel för brandväggsloggar som matchar domännamn i systemet som har besökts mot en lista över domännamn för hotinformation.
De flesta datakällor är rådataloggar som är bullriga och har hög volym, men som har lägre säkerhetsvärde, inklusive IP-adresser, Azure Firewall-trafik, Fortigate-trafik och så vidare. Det finns en total volym på cirka 1 TB per dag.
Utmaning: Att skapa separata regler kräver flera logikappar, vilket kräver extra kostnader för installation och underhåll.
Lösning: Vi rekommenderar att du använder sammanfattningsregler för att göra följande:
Skapa en sammanfattningsregel:
Utöka frågan för att extrahera nyckelfält, till exempel källadress, måladress och målport från tabellen CommonSecurityLog_CL , som är CommonSecurityLog med hjälpplanen.
Utför en inre sökning mot aktiva hotinformationsindikatorer för att identifiera eventuella matchningar med vår källadress. På så sätt kan du korsreferensera dina data med kända hot.
Projekt relevant information, inklusive den tid som genereras, aktivitetstyp och eventuella skadliga käll-IP-adresser, tillsammans med målinformationen. Ange den frekvens som du vill att frågan ska köra och måltabellen, till exempel MaliciousIPDetection . Resultatet i den här tabellen ligger på analysnivån och debiteras därefter.
Skapa en avisering:
Skapa en analysregel i Microsoft Sentinel som aviserar baserat på resultat från tabellen MaliciousIPDetection . Det här steget är avgörande för proaktiv hotidentifiering och incidenthantering.
Exempel på sammanfattningsregel:
CommonSecurityLog_CL
| extend sourceAddress = tostring(parse_json(Message).sourceAddress), destinationAddress = tostring(parse_json(Message).destinationAddress), destinationPort = tostring(parse_json(Message).destinationPort)
| lookup kind=inner (ThreatIntelligenceIndicator | where Active == true ) on $left.sourceAddress == $right.NetworkIP
| project TimeGenerated, Activity, Message, DeviceVendor, DeviceProduct, sourceMaliciousIP =sourceAddress, destinationAddress, destinationPort
Använda sammanfattningsregler med hjälploggar (exempelprocess)
Den här proceduren beskriver en exempelprocess för att använda sammanfattningsregler med hjälp av hjälploggar, med hjälp av en anpassad anslutning som skapats via en ARM-mall för att mata in CEF-data från Logstash.
Konfigurera din anpassade CEF-anslutningsapp från Logstash:
Distribuera följande ARM-mall till din Microsoft Sentinel-arbetsyta för att skapa en anpassad tabell med datainsamlingsregler (DCR) och en datainsamlingsslutpunkt (DCE):
Observera följande information från ARM-mallens utdata:
tenant_id
data_collection_endpoint
dcr_immutable_id
dcr_stream_name
Skapa ett Microsoft Entra-program och anteckna programmets klient-ID och hemlighet. Mer information finns i Självstudie: Skicka data till Azure Monitor-loggar med LOGS-inmatnings-API (Azure Portal).
Använd vårt exempelskript för att uppdatera logstash-konfigurationsfilen. Uppdateringarna konfigurerar Logstash för att skicka CEF-loggar till den anpassade tabellen som skapats av ARM-mallen och omvandlar JSON-data till DCR-format. I det här skriptet ska du ersätta platshållarvärden med dina egna värden för den anpassade tabellen och Microsoft Entra-appen som du skapade tidigare.
Kontrollera att dina CEF-data flödar från Logstash som förväntat. I Microsoft Sentinel går du till exempel till sidan Loggar och kör följande fråga:
CefAux_CL | take 10
Skapa sammanfattningsregler som aggregerar dina CEF-data. Till exempel:
Problemdata för sökningsincidenter (IoC): Sök efter specifika IoCs genom att köra aggregerade sammanfattningsfrågor för att få unika förekomster och sedan bara fråga efter dessa förekomster för snabbare resultat. I följande exempel visas ett exempel på hur du tar med ett unikt
Source Ip
flöde tillsammans med andra metadata, som sedan kan användas mot IoC-sökningar:// 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
Fråga en sammanfattningsbaslinje för avvikelseidentifieringar. I stället för att köra dina frågor mot stora historiska perioder, till exempel 30 eller 60 dagar, rekommenderar vi att du matar in data i anpassade loggar och sedan endast frågar efter sammanfattningsbaslinjedata, till exempel för avvikelseidentifieringar i tidsserier. Till exempel:
// 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
Mer information om följande objekt som används i föregående exempel finns i Kusto-dokumentationen:
- let-instruktion
- där operatorn
- utöka operatorn
- projektoperator
- summarize-operator
- uppslagsoperator
- facklig operatör
- operator för make-series
- funktionen isnotempty()
- funktionen format_datetime()
- funktionen column_ifexists()
- funktionen iff()
- funktionen ipv4_is_private()
- funktionen min()
- funktionen tostring()
- ago() -funktion
- funktionen startofday()
- funktionen parse_json()
- sammansättningsfunktionen count()
- aggregeringsfunktionen make_set()
- sammansättningsfunktion för dcount()
- sum() sammansättningsfunktion
Mer information om KQL finns i översikten över Kusto-frågespråk (KQL).
Andra resurser: